From f09c2b01600f76e346ed7597a591504c008582fd Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 11:32:23 -0600 Subject: [PATCH 1/9] Prompt players to level up in BattleOutcomeModal --- .../src/components/BattleOutcomeModal.tsx | 58 ++++++++++++++++++- 1 file changed, 55 insertions(+), 3 deletions(-) diff --git a/packages/client/src/components/BattleOutcomeModal.tsx b/packages/client/src/components/BattleOutcomeModal.tsx index cf4bcd767..ffb64b7e5 100644 --- a/packages/client/src/components/BattleOutcomeModal.tsx +++ b/packages/client/src/components/BattleOutcomeModal.tsx @@ -1,6 +1,7 @@ import { Box, Button, + Divider, Modal, ModalBody, ModalCloseButton, @@ -11,10 +12,14 @@ import { Text, VStack, } from '@chakra-ui/react'; +import { useComponentValue } from '@latticexyz/react'; +import { encodeEntity } from '@latticexyz/store-sync/recs'; import { useCallback, useMemo } from 'react'; +import { Link } from 'react-router-dom'; import { useCharacter } from '../contexts/CharacterContext'; import { useMapNavigation } from '../contexts/MapNavigationContext'; +import { useMUD } from '../contexts/MUDContext'; import { BATTLE_OUTCOME_SEEN_KEY } from '../utils/constants'; import { type CombatOutcomeType } from '../utils/types'; @@ -29,6 +34,9 @@ export const BattleOutcomeModal: React.FC = ({ onClose, battleOutcome, }): JSX.Element => { + const { + components: { Levels }, + } = useMUD(); const { character } = useCharacter(); const { allMonsters, otherPlayers } = useMapNavigation(); @@ -61,6 +69,20 @@ export const BattleOutcomeModal: React.FC = ({ onClose(); }, [battleOutcome.encounterId, onClose]); + const nextLevelXpRequirement = + useComponentValue( + Levels, + character + ? encodeEntity({ level: 'uint256' }, { level: BigInt(character.level) }) + : undefined, + )?.experience ?? BigInt(0); + + const canLevel = useMemo(() => { + if (!character) return false; + if (nextLevelXpRequirement === BigInt(0)) return false; + return BigInt(character.experience) >= nextLevelXpRequirement; + }, [character, nextLevelXpRequirement]); + if (!character) { return ; } @@ -75,15 +97,15 @@ export const BattleOutcomeModal: React.FC = ({ {winner === character.characterId ? 'Victory!' : 'Defeat...'} - - + + {winner === character.characterId ? `You defeated ${opponent?.name}!` : `You lost to ${opponent?.name}.`} {winner === character.characterId && ( - + You earned{' '} {expDropped} @@ -106,6 +128,36 @@ export const BattleOutcomeModal: React.FC = ({ )} + {canLevel && ( + + + + You have enough experience to level up! + + + Leveling involves spending{' '} + + 2 ability points + {' '} + on your character's stats. + + + To level up, visit your{' '} + + character page + + . + + + )} From 5b69de55a3433b11bd336ba66516bcd53ca1f3b9 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 15:14:58 -0600 Subject: [PATCH 2/9] Tweak how many monsters spawn in _spawnOnTileEnter --- packages/contracts/out/MapSystem.sol/MapSystem.json | 2 +- packages/contracts/src/systems/MapSystem.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json index eddefeda8..35a97675d 100644 --- a/packages/contracts/out/MapSystem.sol/MapSystem.json +++ b/packages/contracts/out/MapSystem.sol/MapSystem.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506144ad806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b366004613916565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461396a565b6101f3565b604051601f1936013581526020016100ac565b61010e6101093660046139a6565b610236565b6040516100ac9190613a15565b61012e610129366004613a28565b610249565b005b61012e61013e36600461396a565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee6111df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613a57565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e040200020200000000000000000000000000000000000000000000000000006111e9565b9250925092506107008383836112b9565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613a57565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613a57565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f7369746983836112dc565b90506107c36107be82600084516113a3565b611431565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613a57565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611442565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613a57565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611442565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613a57565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866114ff565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613a57565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115b0565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613a57565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613a57565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b604051602081830303815290604052611626565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613a57565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611442565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e040200020200000000000000000000000000000000000000000000000000006111e9565b925092509250610c5c8383836112b9565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613a83565b610c93565b610c938487613a83565b905060008361ffff168661ffff1611610cb557610cb08685613a83565b610cbf565b610cbf8487613a83565b9050610ccb8183613aa5565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613a57565b602002602001015103610d5c576001915060008360018551610d269190613ac0565b81518110610d3657610d36613a57565b60200260200101519050610d4c888884846116d8565b610d5688886117a3565b50610d6e565b80610d6681613ad3565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611843565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e3781611861565b610e419083613aed565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613a41565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb0826118e1565b905060005b8151811015610f0a57818181518110610ed057610ed0613a57565b6020026020010151858581518110610eea57610eea613a57565b602090810291909101015283610eff81613ad3565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613be4565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613c24565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613c24565b90505b60005b600682600184516110cd9190613ac0565b815181106110dd576110dd613a57565b60200260200101516110ef9190613cf6565b63ffffffff168110156111d3576111ca84855184848151811061111457611114613a57565b602002602001015163ffffffff1661112c9190613d19565b8151811061113c5761113c613a57565b60200260200101518b8b60405160240161116d9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611968565b506001016110bc565b50505050505050505050565b60006101ee611a16565b60606000606060006111f9611a16565b9050306001600160a01b0382160361122257611216878787611a55565b935093509350506112b0565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061126b908a908a908a90600401613d2d565b600060405180830381865afa158015611288573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112169190810190613dde565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006112e8611a16565b9050306001600160a01b0382160361130d57611305858585611b5d565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061135690889088908890600401613e4b565b600060405180830381865afa158015611373573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113059190810190613e77565b509392505050565b6000818311806113b35750835182115b156113f0578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613ed8565b602084016113fe8482613aed565b9050600061140c8585613ac0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611b97565b60008061144d611a16565b9050306001600160a01b038216036114735761146b86868686611c12565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114be908990899089908990600401613efd565b602060405180830381865afa1580156114db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146b9190613f2c565b6000611509611a16565b9050306001600160a01b0382160361152d576115288686868686611c3f565b6115a8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061157a9089908990899089908990600401613f45565b600060405180830381600087803b15801561159457600080fd5b505af11580156111d3573d6000803e3d6000fd5b505050505050565b60006115ba611a16565b9050306001600160a01b038216036115d9576115288686868686611c55565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061157a9089908990899089908990600401613f8a565b6000611630611a16565b9050306001600160a01b038216036116535761164e85858585611c6a565b6116d1565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061169e908890889088908890600401613fd1565b600060405180830381600087803b1580156116b857600080fd5b505af11580156116cc573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061171457611714613a57565b6020026020010181815250508361ffff1660001b8160018151811061173b5761173b613a57565b60200260200101818152505060008260405160200161175c91815260200190565b60405160208183030381529060405290506115a87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611ca5565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106117df576117df613a57565b6020026020010181815250508161ffff1660001b8160018151811061180657611806613a57565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611d5e565b60006107c36118528685611dd1565b61185c8685611dd1565b611df3565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061189d5761189d613a57565b602090810291909101015260006118d57f746255440000000000000000000000004d6f627342794c6576656c00000000008383611e0a565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061191e5761191e613a57565b602090810291909101015260006119567f746255440000000000000000000000004d6f627342794c6576656c000000000083836112dc565b90506109066107be82600084516113a3565b606060008061197e61197985614005565b611ebc565b91509150816000801b036119e4576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526109068285611f7f565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611a50573391505090565b919050565b6060600060606000611a668561205a565b9050611a7387878361207d565b93506000611a80866120b6565b90508015611b5257611a9288886120f3565b935066ffffffffffffff841667ffffffffffffffff811115611ab657611ab6613a41565b6040519080825280601f01601f191660200182016040528015611ae0576020820181803683370190505b5092506020830160005b828160ff161015611b4f576000611b028b8b84612106565b90506000611b1f888460ff166028026038011c64ffffffffff1690565b9050611b2e8260008387612186565b611b388185613aed565b935050508080611b4790614055565b915050611aea565b50505b505093509350939050565b6060610906611b6d858585612106565b6000611b9285611b7d89896120f3565b9060ff166028026038011c64ffffffffff1690565b612252565b60606000611ba58560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611bcb57611bcb613ce0565b04905060405193506020840160208202810160405281855260005b82811015611c06578451871c825293870193602090910190600101611be6565b50505050509392505050565b60006107c3611c218686612275565b60ff858116601b0360080285901c16611c3a85876122cb565b6122fc565b6116d18585858585611c508b61234d565b6123d2565b6116d18585611c6484876122cb565b8561270b565b6000611c7685856120f3565b90506000611c93828560ff166028026038011c64ffffffffff1690565b90506115a886868684600088886129a6565b6000611caf611a16565b9050306001600160a01b03821603611cd457611ccf878787878787612de0565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611d23908a908a908a908a908a908a90600401614074565b600060405180830381600087803b158015611d3d57600080fd5b505af1158015611d51573d6000803e3d6000fd5b5050505050505050505050565b6000611d68611a16565b9050306001600160a01b03821603611d865761164e85858585612df8565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a049061169e908890889088908890600401613efd565b6000818311611de957611de48383613ac0565b610242565b6102428284613ac0565b600081831015611e035781610242565b5090919050565b600080611e15611a16565b9050306001600160a01b03821603611e3257611305858585612e51565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611e7b90889088908890600401613e4b565b602060405180830381865afa158015611e98573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113059190613f2c565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611f1557611f15613a57565b602090810291909101015260008080611f6e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006111e9565b925092509250610700838383612e61565b60606000611f8b6111df565b90506001600160a01b0381163003611fcc576000611fb3611faa61062a565b60008787612e6d565b9350905080611fc557611fc583612fa8565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af089061201390879087906004016140ca565b6000604051808303816000875af1158015612032573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613e77565b6000600861206a60026020613ac0565b61207491906140e3565b9190911c919050565b60608160000361209c5750604080516020810190915260008152610242565b60006120a88585612275565b90506107c381600085612252565b600060086001806120c960026020613ac0565b6120d39190613ac0565b6120dd9190613ac0565b6120e791906140e3565b8260ff911c1692915050565b60006102426121028484612fb0565b5490565b6000838360405160200161211b9291906140fa565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561220d57602083106121b0576020830484019350602083816121ac576121ac613ce0565b0692505b821561220d5760208390036000818410156121d35750600019600884021c6121dd565b50600019600882021c5b8554600886021b8184511682198216178452508184116121fe575050610b54565b50600194909401939182900391015b5b6020821061222f5783548152600190930192601f199091019060200161220e565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261139b85858584612186565b6000828260405160200161228a9291906140fa565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561139b576122f260ff601b83900360080287901c1683613aed565b91506001016122d0565b6000602082106123225760208204840193506020828161231e5761231e613ce0565b0691505b508254600882021b60208290038084111561139b576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161239c57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6123c97f746273746f72650000000000000000005461626c65730000000000000000000084613006565b602060006122fc565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361245e57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516124519493929190614136565b60405180910390a26115a8565b600061246987613022565b905060005b815181101561254257600082828151811061248b5761248b613a57565b602002602001015190506124b76001826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612539576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612506908c908c908c908c908c908c90600401614175565b600060405180830381600087803b15801561252057600080fd5b505af1158015612534573d6000803e3d6000fd5b505050505b5060010161246e565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516125799493929190614136565b60405180910390a2600061258d8888612275565b905060006020870190506125a58260008951846130c9565b60006125b0856120b6565b11156126345760006125c28a8a612fb0565b878155905060208601915060008060005b6125dc886120b6565b8160ff16101561262f576125f18d8d83612106565b925061260c8a8260ff166028026038011c64ffffffffff1690565b915061261b83600084886130c9565b6126258286613aed565b94506001016125d3565b505050505b60005b83518110156111d357600084828151811061265457612654613a57565b602002602001015190506126806002826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612702576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906126cf908e908e908e908e908e908e90600401614175565b600060405180830381600087803b1580156126e957600080fd5b505af11580156126fd573d6000803e3d6000fd5b505050505b50600101612637565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361279557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612788939291906141ce565b60405180910390a2610b54565b60006127a18585612275565b905060006127ae86613022565b905060005b81518110156128835760008282815181106127d0576127d0613a57565b602002602001015190506127fc6004826affffffffffffffffffffff19166130ab90919063ffffffff16565b1561287a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612847908b908b908b908b9060040161420b565b600060405180830381600087803b15801561286157600080fd5b505af1158015612875573d6000803e3d6000fd5b505050505b506001016127b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128b8939291906141ce565b60405180910390a26128d3828565ffffffffffff1685613188565b60005b81518110156109cd5760008282815181106128f3576128f3613a57565b6020026020010151905061291f6008826affffffffffffffffffffff19166130ab90919063ffffffff16565b1561299d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061296a908b908b908b908b9060040161420b565b600060405180830381600087803b15801561298457600080fd5b505af1158015612998573d6000803e3d6000fd5b505050505b506001016128d6565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612a66577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612a2491815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614244565b6000612a81828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a9a9190613ac0565b612aa49190613aed565b9050808214158015612ac6575081612abc8688614285565b64ffffffffff1614155b15612b16576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612b67576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612b7484898461319e565b90506000612b818b613022565b905060005b8151811015612c4c576000828281518110612ba357612ba3613a57565b60200260200101519050612bcf6010826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612c4357606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c1097969594939291906142a3565b600060405180830381600087803b158015612c2a57600080fd5b505af1158015612c3e573d6000803e3d6000fd5b505050505b50600101612b86565b5064ffffffffff881660005b8a60ff168160ff161015612c8b57612c7f878260ff166028026038011c64ffffffffff1690565b90910190600101612c58565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612cc696959493929190614301565b60405180910390a250828414612ce7576000612ce28c8c612fb0565b839055505b6000612cf48c8c8c612106565b9050612d08818a64ffffffffff1689613188565b5060005b8151811015612dd2576000828281518110612d2957612d29613a57565b60200260200101519050612d556020826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612dc957606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d9697969594939291906142a3565b600060405180830381600087803b158015612db057600080fd5b505af1158015612dc4573d6000803e3d6000fd5b505050505b50600101612d0c565b505050505050505050505050565b6115a8868686868686612df38d8d6120f3565b6129a6565b6000612e0485856120f3565b90506000612e21828560ff166028026038011c64ffffffffff1690565b90506115a8868686612e3a8764ffffffffff8716613ac0565b6040805160008152602081019091528890886129a6565b600061090682611b7d86866120f3565b6000806112d08561326c565b60006060600080612e7d86613281565b90925090506001600160a01b038216612ece5785612e9a87613325565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906140ca565b80612edd57612edd8689613462565b8615612f49577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612f31826134ae565b9050612f4682612f418b84613aed565b61353f565b50505b6000612f558760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612f8d57612f88888884886135f3565b612f99565b612f998888848861366b565b90999098509650505050505050565b805160208201fd5b60008282604051602001612fc59291906140fa565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516020810184905290810182905260009060600161228a565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061305c5761305c613a57565b602090810291909101015260006130947f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611b5d565b90506109066130a682600084516113a3565b6136cc565b60008160ff16826130bc8560581c90565b1660ff1614905092915050565b821561314357602083106130f3576020830484019350602083816130ef576130ef613ce0565b0692505b82156131435760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613134575050610b54565b50600194909401939182900391015b5b602082106131655780518455600190930192601f1990910190602001613144565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f838383516131998560200190565b6130c9565b600064ffffffffff8211156131e2576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613214578085038201915061321c565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106132bb576132bb613a57565b6020908102919091010152600080806133147f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611a55565b9250925092506107008383836136dd565b606081601081901b6000613338836136e9565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156133935761338e7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613700565b6133ca565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615613400576133fb83613700565b613437565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161344993929190614350565b6040516020818303038152906040529350505050919050565b61346c82826137a4565b6103615761347982613325565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906143de565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134e7576134e7613a57565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611c12565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061357557613575613a57565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016135be91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611c55565b60006060836001600160a01b0316600061360e858989613802565b60405161361b9190614409565b60006040518083038185875af1925050503d8060008114613658576040519150601f19603f3d011682016040523d82523d6000602084013e61365d565b606091505b509097909650945050505050565b60006060836001600160a01b0316613684848888613802565b6040516136919190614409565b600060405180830381855af49150503d8060008114613658576040519150601f19603f3d011682016040523d82523d6000602084013e61365d565b606060006102428360156000611b97565b6000806112d085613831565b60006136f760706010613aed565b9190911b919050565b606060005b6010811015613765577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561376557600101613705565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006137f27f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361384d565b806102425750610242838361384d565b606083838360405160200161381993929190614425565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c61327a565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061388657613886613a57565b602002602001018181525050826001600160a01b031660001b816001815181106138b2576138b2613a57565b6020908102919091010152600061390a7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611c12565b90506107c38160f81c90565b60006020828403121561392857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611a5057600080fd5b60008060006060848603121561397f57600080fd5b8335925061398f60208501613958565b915061399d60408501613958565b90509250925092565b600080604083850312156139b957600080fd5b6139c283613958565b91506139d060208401613958565b90509250929050565b60008151808452602080850194506020840160005b83811015613a0a578151875295820195908201906001016139ee565b509495945050505050565b60208152600061024260208301846139d9565b600060208284031215613a3a57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613a9e57613a9e613a6d565b5092915050565b61ffff818116838216019080821115613a9e57613a9e613a6d565b818103818111156101de576101de613a6d565b60006000198203613ae657613ae6613a6d565b5060010190565b808201808211156101de576101de613a6d565b600181815b80851115613b3b578160001904821115613b2157613b21613a6d565b80851615613b2e57918102915b93841c9390800290613b05565b509250929050565b600082613b52575060016101de565b81613b5f575060006101de565b8160018114613b755760028114613b7f57613b9b565b60019150506101de565b60ff841115613b9057613b90613a6d565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613bbe575081810a6101de565b613bc88383613b00565b8060001904821115613bdc57613bdc613a6d565b029392505050565b600061024260ff841683613b43565b604051601f8201601f1916810167ffffffffffffffff81118282101715613c1c57613c1c613a41565b604052919050565b60006020808385031215613c3757600080fd5b825167ffffffffffffffff80821115613c4f57600080fd5b818501915085601f830112613c6357600080fd5b815181811115613c7557613c75613a41565b8060051b9150613c86848301613bf3565b8181529183018401918481019088841115613ca057600080fd5b938501935b83851015613cd4578451925063ffffffff83168314613cc45760008081fd5b8282529385019390850190613ca5565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613d0d57613d0d613ce0565b92169190910692915050565b600082613d2857613d28613ce0565b500690565b838152606060208201526000613d4660608301856139d9565b9050826040830152949350505050565b60005b83811015613d71578181015183820152602001613d59565b50506000910152565b600082601f830112613d8b57600080fd5b815167ffffffffffffffff811115613da557613da5613a41565b613db86020601f19601f84011601613bf3565b818152846020838601011115613dcd57600080fd5b610906826020830160208701613d56565b600080600060608486031215613df357600080fd5b835167ffffffffffffffff80821115613e0b57600080fd5b613e1787838801613d7a565b9450602086015193506040860151915080821115613e3457600080fd5b50613e4186828701613d7a565b9150509250925092565b838152606060208201526000613e6460608301856139d9565b905060ff83166040830152949350505050565b600060208284031215613e8957600080fd5b815167ffffffffffffffff811115613ea057600080fd5b61090684828501613d7a565b60008151808452613ec4816020860160208601613d56565b601f01601f19169290920160200192915050565b606081526000613eeb6060830186613eac565b60208301949094525060400152919050565b848152608060208201526000613f1660808301866139d9565b60ff949094166040830152506060015292915050565b600060208284031215613f3e57600080fd5b5051919050565b85815260a060208201526000613f5e60a08301876139d9565b8281036040840152613f708187613eac565b90508460608401528281036080840152613cd48185613eac565b85815260a060208201526000613fa360a08301876139d9565b60ff861660408401528281036060840152613fbe8186613eac565b9150508260808301529695505050505050565b848152608060208201526000613fea60808301866139d9565b60ff851660408401528281036060840152610ccb8185613eac565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561404d5780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361406b5761406b613a6d565b60010192915050565b86815260c06020820152600061408d60c08301886139d9565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a08401526140bd8185613eac565b9998505050505050505050565b8281526040602082015260006109066040830184613eac565b80820281158282048414176101de576101de613a6d565b8281526000602080830184516020860160005b828110156141295781518452928401929084019060010161410d565b5091979650505050505050565b60808152600061414960808301876139d9565b828103602084015261415b8187613eac565b90508460408401528281036060840152610ccb8185613eac565b86815260c06020820152600061418e60c08301886139d9565b82810360408401526141a08188613eac565b905085606084015282810360808401526141ba8186613eac565b9150508260a0830152979650505050505050565b6060815260006141e160608301866139d9565b65ffffffffffff8516602084015282810360408401526142018185613eac565b9695505050505050565b84815260806020820152600061422460808301866139d9565b65ffffffffffff851660408401528281036060840152610ccb8185613eac565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613eac565b64ffffffffff818116838216019080821115613a9e57613a9e613a6d565b87815260e0602082015260006142bc60e08301896139d9565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526142f38185613eac565b9a9950505050505050505050565b60c08152600061431460c08301896139d9565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526140bd8185613eac565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516143b1816003860160208901613d56565b8084019050816003820152845191506143d1826004830160208801613d56565b0160040195945050505050565b6040815260006143f16040830185613eac565b90506001600160a01b03831660208301529392505050565b6000825161441b818460208701613d56565b9190910192915050565b60008451614437818460208901613d56565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220f295933cc898b55d2a7200dcc739b828a90c9cb4c55f143752ed415e1484f50964736f6c63430008180033","sourceMap":"455:4945:221:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":4025,"length":20},{"start":4212,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b366004613916565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461396a565b6101f3565b604051601f1936013581526020016100ac565b61010e6101093660046139a6565b610236565b6040516100ac9190613a15565b61012e610129366004613a28565b610249565b005b61012e61013e36600461396a565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee6111df565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613a57565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e040200020200000000000000000000000000000000000000000000000000006111e9565b9250925092506107008383836112b9565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613a57565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613a57565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f7369746983836112dc565b90506107c36107be82600084516113a3565b611431565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613a57565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611442565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613a57565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611442565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613a57565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866114ff565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613a57565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115b0565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613a57565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613a57565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b604051602081830303815290604052611626565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613a57565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611442565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e040200020200000000000000000000000000000000000000000000000000006111e9565b925092509250610c5c8383836112b9565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613a83565b610c93565b610c938487613a83565b905060008361ffff168661ffff1611610cb557610cb08685613a83565b610cbf565b610cbf8487613a83565b9050610ccb8183613aa5565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613a57565b602002602001015103610d5c576001915060008360018551610d269190613ac0565b81518110610d3657610d36613a57565b60200260200101519050610d4c888884846116d8565b610d5688886117a3565b50610d6e565b80610d6681613ad3565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611843565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e3781611861565b610e419083613aed565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613a41565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb0826118e1565b905060005b8151811015610f0a57818181518110610ed057610ed0613a57565b6020026020010151858581518110610eea57610eea613a57565b602090810291909101015283610eff81613ad3565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613be4565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613c24565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613c24565b90505b60005b600682600184516110cd9190613ac0565b815181106110dd576110dd613a57565b60200260200101516110ef9190613cf6565b63ffffffff168110156111d3576111ca84855184848151811061111457611114613a57565b602002602001015163ffffffff1661112c9190613d19565b8151811061113c5761113c613a57565b60200260200101518b8b60405160240161116d9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611968565b506001016110bc565b50505050505050505050565b60006101ee611a16565b60606000606060006111f9611a16565b9050306001600160a01b0382160361122257611216878787611a55565b935093509350506112b0565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061126b908a908a908a90600401613d2d565b600060405180830381865afa158015611288573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112169190810190613dde565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006112e8611a16565b9050306001600160a01b0382160361130d57611305858585611b5d565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061135690889088908890600401613e4b565b600060405180830381865afa158015611373573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113059190810190613e77565b509392505050565b6000818311806113b35750835182115b156113f0578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613ed8565b602084016113fe8482613aed565b9050600061140c8585613ac0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611b97565b60008061144d611a16565b9050306001600160a01b038216036114735761146b86868686611c12565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114be908990899089908990600401613efd565b602060405180830381865afa1580156114db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146b9190613f2c565b6000611509611a16565b9050306001600160a01b0382160361152d576115288686868686611c3f565b6115a8565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061157a9089908990899089908990600401613f45565b600060405180830381600087803b15801561159457600080fd5b505af11580156111d3573d6000803e3d6000fd5b505050505050565b60006115ba611a16565b9050306001600160a01b038216036115d9576115288686868686611c55565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061157a9089908990899089908990600401613f8a565b6000611630611a16565b9050306001600160a01b038216036116535761164e85858585611c6a565b6116d1565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061169e908890889088908890600401613fd1565b600060405180830381600087803b1580156116b857600080fd5b505af11580156116cc573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061171457611714613a57565b6020026020010181815250508361ffff1660001b8160018151811061173b5761173b613a57565b60200260200101818152505060008260405160200161175c91815260200190565b60405160208183030381529060405290506115a87f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611ca5565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106117df576117df613a57565b6020026020010181815250508161ffff1660001b8160018151811061180657611806613a57565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611d5e565b60006107c36118528685611dd1565b61185c8685611dd1565b611df3565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061189d5761189d613a57565b602090810291909101015260006118d57f746255440000000000000000000000004d6f627342794c6576656c00000000008383611e0a565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061191e5761191e613a57565b602090810291909101015260006119567f746255440000000000000000000000004d6f627342794c6576656c000000000083836112dc565b90506109066107be82600084516113a3565b606060008061197e61197985614005565b611ebc565b91509150816000801b036119e4576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526109068285611f7f565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611a50573391505090565b919050565b6060600060606000611a668561205a565b9050611a7387878361207d565b93506000611a80866120b6565b90508015611b5257611a9288886120f3565b935066ffffffffffffff841667ffffffffffffffff811115611ab657611ab6613a41565b6040519080825280601f01601f191660200182016040528015611ae0576020820181803683370190505b5092506020830160005b828160ff161015611b4f576000611b028b8b84612106565b90506000611b1f888460ff166028026038011c64ffffffffff1690565b9050611b2e8260008387612186565b611b388185613aed565b935050508080611b4790614055565b915050611aea565b50505b505093509350939050565b6060610906611b6d858585612106565b6000611b9285611b7d89896120f3565b9060ff166028026038011c64ffffffffff1690565b612252565b60606000611ba58560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611bcb57611bcb613ce0565b04905060405193506020840160208202810160405281855260005b82811015611c06578451871c825293870193602090910190600101611be6565b50505050509392505050565b60006107c3611c218686612275565b60ff858116601b0360080285901c16611c3a85876122cb565b6122fc565b6116d18585858585611c508b61234d565b6123d2565b6116d18585611c6484876122cb565b8561270b565b6000611c7685856120f3565b90506000611c93828560ff166028026038011c64ffffffffff1690565b90506115a886868684600088886129a6565b6000611caf611a16565b9050306001600160a01b03821603611cd457611ccf878787878787612de0565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611d23908a908a908a908a908a908a90600401614074565b600060405180830381600087803b158015611d3d57600080fd5b505af1158015611d51573d6000803e3d6000fd5b5050505050505050505050565b6000611d68611a16565b9050306001600160a01b03821603611d865761164e85858585612df8565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a049061169e908890889088908890600401613efd565b6000818311611de957611de48383613ac0565b610242565b6102428284613ac0565b600081831015611e035781610242565b5090919050565b600080611e15611a16565b9050306001600160a01b03821603611e3257611305858585612e51565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611e7b90889088908890600401613e4b565b602060405180830381865afa158015611e98573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113059190613f2c565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611f1557611f15613a57565b602090810291909101015260008080611f6e7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006111e9565b925092509250610700838383612e61565b60606000611f8b6111df565b90506001600160a01b0381163003611fcc576000611fb3611faa61062a565b60008787612e6d565b9350905080611fc557611fc583612fa8565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af089061201390879087906004016140ca565b6000604051808303816000875af1158015612032573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613e77565b6000600861206a60026020613ac0565b61207491906140e3565b9190911c919050565b60608160000361209c5750604080516020810190915260008152610242565b60006120a88585612275565b90506107c381600085612252565b600060086001806120c960026020613ac0565b6120d39190613ac0565b6120dd9190613ac0565b6120e791906140e3565b8260ff911c1692915050565b60006102426121028484612fb0565b5490565b6000838360405160200161211b9291906140fa565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561220d57602083106121b0576020830484019350602083816121ac576121ac613ce0565b0692505b821561220d5760208390036000818410156121d35750600019600884021c6121dd565b50600019600882021c5b8554600886021b8184511682198216178452508184116121fe575050610b54565b50600194909401939182900391015b5b6020821061222f5783548152600190930192601f199091019060200161220e565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261139b85858584612186565b6000828260405160200161228a9291906140fa565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561139b576122f260ff601b83900360080287901c1683613aed565b91506001016122d0565b6000602082106123225760208204840193506020828161231e5761231e613ce0565b0691505b508254600882021b60208290038084111561139b576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161239c57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6123c97f746273746f72650000000000000000005461626c65730000000000000000000084613006565b602060006122fc565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361245e57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516124519493929190614136565b60405180910390a26115a8565b600061246987613022565b905060005b815181101561254257600082828151811061248b5761248b613a57565b602002602001015190506124b76001826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612539576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612506908c908c908c908c908c908c90600401614175565b600060405180830381600087803b15801561252057600080fd5b505af1158015612534573d6000803e3d6000fd5b505050505b5060010161246e565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516125799493929190614136565b60405180910390a2600061258d8888612275565b905060006020870190506125a58260008951846130c9565b60006125b0856120b6565b11156126345760006125c28a8a612fb0565b878155905060208601915060008060005b6125dc886120b6565b8160ff16101561262f576125f18d8d83612106565b925061260c8a8260ff166028026038011c64ffffffffff1690565b915061261b83600084886130c9565b6126258286613aed565b94506001016125d3565b505050505b60005b83518110156111d357600084828151811061265457612654613a57565b602002602001015190506126806002826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612702576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906126cf908e908e908e908e908e908e90600401614175565b600060405180830381600087803b1580156126e957600080fd5b505af11580156126fd573d6000803e3d6000fd5b505050505b50600101612637565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361279557837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612788939291906141ce565b60405180910390a2610b54565b60006127a18585612275565b905060006127ae86613022565b905060005b81518110156128835760008282815181106127d0576127d0613a57565b602002602001015190506127fc6004826affffffffffffffffffffff19166130ab90919063ffffffff16565b1561287a576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612847908b908b908b908b9060040161420b565b600060405180830381600087803b15801561286157600080fd5b505af1158015612875573d6000803e3d6000fd5b505050505b506001016127b3565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128b8939291906141ce565b60405180910390a26128d3828565ffffffffffff1685613188565b60005b81518110156109cd5760008282815181106128f3576128f3613a57565b6020026020010151905061291f6008826affffffffffffffffffffff19166130ab90919063ffffffff16565b1561299d576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061296a908b908b908b908b9060040161420b565b600060405180830381600087803b15801561298457600080fd5b505af1158015612998573d6000803e3d6000fd5b505050505b506001016128d6565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612a66577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612a2491815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614244565b6000612a81828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a9a9190613ac0565b612aa49190613aed565b9050808214158015612ac6575081612abc8688614285565b64ffffffffff1614155b15612b16576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612b67576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612b7484898461319e565b90506000612b818b613022565b905060005b8151811015612c4c576000828281518110612ba357612ba3613a57565b60200260200101519050612bcf6010826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612c4357606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c1097969594939291906142a3565b600060405180830381600087803b158015612c2a57600080fd5b505af1158015612c3e573d6000803e3d6000fd5b505050505b50600101612b86565b5064ffffffffff881660005b8a60ff168160ff161015612c8b57612c7f878260ff166028026038011c64ffffffffff1690565b90910190600101612c58565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612cc696959493929190614301565b60405180910390a250828414612ce7576000612ce28c8c612fb0565b839055505b6000612cf48c8c8c612106565b9050612d08818a64ffffffffff1689613188565b5060005b8151811015612dd2576000828281518110612d2957612d29613a57565b60200260200101519050612d556020826affffffffffffffffffffff19166130ab90919063ffffffff16565b15612dc957606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d9697969594939291906142a3565b600060405180830381600087803b158015612db057600080fd5b505af1158015612dc4573d6000803e3d6000fd5b505050505b50600101612d0c565b505050505050505050505050565b6115a8868686868686612df38d8d6120f3565b6129a6565b6000612e0485856120f3565b90506000612e21828560ff166028026038011c64ffffffffff1690565b90506115a8868686612e3a8764ffffffffff8716613ac0565b6040805160008152602081019091528890886129a6565b600061090682611b7d86866120f3565b6000806112d08561326c565b60006060600080612e7d86613281565b90925090506001600160a01b038216612ece5785612e9a87613325565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906140ca565b80612edd57612edd8689613462565b8615612f49577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612f31826134ae565b9050612f4682612f418b84613aed565b61353f565b50505b6000612f558760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612f8d57612f88888884886135f3565b612f99565b612f998888848861366b565b90999098509650505050505050565b805160208201fd5b60008282604051602001612fc59291906140fa565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516020810184905290810182905260009060600161228a565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061305c5761305c613a57565b602090810291909101015260006130947f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611b5d565b90506109066130a682600084516113a3565b6136cc565b60008160ff16826130bc8560581c90565b1660ff1614905092915050565b821561314357602083106130f3576020830484019350602083816130ef576130ef613ce0565b0692505b82156131435760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613134575050610b54565b50600194909401939182900391015b5b602082106131655780518455600190930192601f1990910190602001613144565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f838383516131998560200190565b6130c9565b600064ffffffffff8211156131e2576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613214578085038201915061321c565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106132bb576132bb613a57565b6020908102919091010152600080806133147f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611a55565b9250925092506107008383836136dd565b606081601081901b6000613338836136e9565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156133935761338e7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613700565b6133ca565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615613400576133fb83613700565b613437565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161344993929190614350565b6040516020818303038152906040529350505050919050565b61346c82826137a4565b6103615761347982613325565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906143de565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134e7576134e7613a57565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611c12565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061357557613575613a57565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016135be91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611c55565b60006060836001600160a01b0316600061360e858989613802565b60405161361b9190614409565b60006040518083038185875af1925050503d8060008114613658576040519150601f19603f3d011682016040523d82523d6000602084013e61365d565b606091505b509097909650945050505050565b60006060836001600160a01b0316613684848888613802565b6040516136919190614409565b600060405180830381855af49150503d8060008114613658576040519150601f19603f3d011682016040523d82523d6000602084013e61365d565b606060006102428360156000611b97565b6000806112d085613831565b60006136f760706010613aed565b9190911b919050565b606060005b6010811015613765577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff00000000000000000000000000000000000000000000000000000000000000161561376557600101613705565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006137f27f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361384d565b806102425750610242838361384d565b606083838360405160200161381993929190614425565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c61327a565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061388657613886613a57565b602002602001018181525050826001600160a01b031660001b816001815181106138b2576138b2613a57565b6020908102919091010152600061390a7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611c12565b90506107c38160f81c90565b60006020828403121561392857600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611a5057600080fd5b60008060006060848603121561397f57600080fd5b8335925061398f60208501613958565b915061399d60408501613958565b90509250925092565b600080604083850312156139b957600080fd5b6139c283613958565b91506139d060208401613958565b90509250929050565b60008151808452602080850194506020840160005b83811015613a0a578151875295820195908201906001016139ee565b509495945050505050565b60208152600061024260208301846139d9565b600060208284031215613a3a57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613a9e57613a9e613a6d565b5092915050565b61ffff818116838216019080821115613a9e57613a9e613a6d565b818103818111156101de576101de613a6d565b60006000198203613ae657613ae6613a6d565b5060010190565b808201808211156101de576101de613a6d565b600181815b80851115613b3b578160001904821115613b2157613b21613a6d565b80851615613b2e57918102915b93841c9390800290613b05565b509250929050565b600082613b52575060016101de565b81613b5f575060006101de565b8160018114613b755760028114613b7f57613b9b565b60019150506101de565b60ff841115613b9057613b90613a6d565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613bbe575081810a6101de565b613bc88383613b00565b8060001904821115613bdc57613bdc613a6d565b029392505050565b600061024260ff841683613b43565b604051601f8201601f1916810167ffffffffffffffff81118282101715613c1c57613c1c613a41565b604052919050565b60006020808385031215613c3757600080fd5b825167ffffffffffffffff80821115613c4f57600080fd5b818501915085601f830112613c6357600080fd5b815181811115613c7557613c75613a41565b8060051b9150613c86848301613bf3565b8181529183018401918481019088841115613ca057600080fd5b938501935b83851015613cd4578451925063ffffffff83168314613cc45760008081fd5b8282529385019390850190613ca5565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613d0d57613d0d613ce0565b92169190910692915050565b600082613d2857613d28613ce0565b500690565b838152606060208201526000613d4660608301856139d9565b9050826040830152949350505050565b60005b83811015613d71578181015183820152602001613d59565b50506000910152565b600082601f830112613d8b57600080fd5b815167ffffffffffffffff811115613da557613da5613a41565b613db86020601f19601f84011601613bf3565b818152846020838601011115613dcd57600080fd5b610906826020830160208701613d56565b600080600060608486031215613df357600080fd5b835167ffffffffffffffff80821115613e0b57600080fd5b613e1787838801613d7a565b9450602086015193506040860151915080821115613e3457600080fd5b50613e4186828701613d7a565b9150509250925092565b838152606060208201526000613e6460608301856139d9565b905060ff83166040830152949350505050565b600060208284031215613e8957600080fd5b815167ffffffffffffffff811115613ea057600080fd5b61090684828501613d7a565b60008151808452613ec4816020860160208601613d56565b601f01601f19169290920160200192915050565b606081526000613eeb6060830186613eac565b60208301949094525060400152919050565b848152608060208201526000613f1660808301866139d9565b60ff949094166040830152506060015292915050565b600060208284031215613f3e57600080fd5b5051919050565b85815260a060208201526000613f5e60a08301876139d9565b8281036040840152613f708187613eac565b90508460608401528281036080840152613cd48185613eac565b85815260a060208201526000613fa360a08301876139d9565b60ff861660408401528281036060840152613fbe8186613eac565b9150508260808301529695505050505050565b848152608060208201526000613fea60808301866139d9565b60ff851660408401528281036060840152610ccb8185613eac565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561404d5780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361406b5761406b613a6d565b60010192915050565b86815260c06020820152600061408d60c08301886139d9565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a08401526140bd8185613eac565b9998505050505050505050565b8281526040602082015260006109066040830184613eac565b80820281158282048414176101de576101de613a6d565b8281526000602080830184516020860160005b828110156141295781518452928401929084019060010161410d565b5091979650505050505050565b60808152600061414960808301876139d9565b828103602084015261415b8187613eac565b90508460408401528281036060840152610ccb8185613eac565b86815260c06020820152600061418e60c08301886139d9565b82810360408401526141a08188613eac565b905085606084015282810360808401526141ba8186613eac565b9150508260a0830152979650505050505050565b6060815260006141e160608301866139d9565b65ffffffffffff8516602084015282810360408401526142018185613eac565b9695505050505050565b84815260806020820152600061422460808301866139d9565b65ffffffffffff851660408401528281036060840152610ccb8185613eac565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613eac565b64ffffffffff818116838216019080821115613a9e57613a9e613a6d565b87815260e0602082015260006142bc60e08301896139d9565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526142f38185613eac565b9a9950505050505050505050565b60c08152600061431460c08301896139d9565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526140bd8185613eac565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516143b1816003860160208901613d56565b8084019050816003820152845191506143d1826004830160208801613d56565b0160040195945050505050565b6040815260006143f16040830185613eac565b90506001600160a01b03831660208301529392505050565b6000825161441b818460208701613d56565b9190910192915050565b60008451614437818460208901613d56565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea2646970667358221220f295933cc898b55d2a7200dcc739b828a90c9cb4c55f143752ed415e1484f50964736f6c63430008180033","sourceMap":"455:4945:221:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:123;;;;;;:::i;:::-;;:::i;:::-;;;516:14:234;;509:22;491:41;;479:2;464:18;2331:198:123;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:234;;;689:74;;677:2;662:18;1262:113:123;543:226:234;1904:239:221;;;;;;:::i;:::-;;:::i;1616:110:123:-;;;-1:-1:-1;;3800:14:123;3796:25;3783:39;1413:25:234;;1401:2;1386:18;1616:110:123;1267:177:234;1729:169:221;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1323:400::-;;;;;;:::i;:::-;;:::i;:::-;;524:793;;;;;;:::i;:::-;;:::i;1942:98:123:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:123;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:123:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1904:239:221:-;1985:18;2016:8;2026;2038:22;2051:8;2038:12;:22::i;:::-;2015:45;;;;2079:1;2074:6;;:1;:6;;;:16;;;;;2089:1;2084:6;;:1;:6;;;2074:16;2070:67;;;2122:4;2106:20;;2070:67;2005:138;;1904:239;;;;;:::o;1729:169::-;1801:35;1855:36;1886:1;1889;1855:30;:36::i;:::-;1848:43;1729:169;-1:-1:-1;;;1729:169:221:o;1323:400::-;1373:13;1389:29;1409:8;1389:19;:29::i;:::-;1373:45;;1452:5;-1:-1:-1;;;;;1436:21:221;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1436:21:221;;1428:70;;;;-1:-1:-1;;;1428:70:221;;2807:2:234;1428:70:221;;;2789:21:234;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1428:70:221;;;;;;;;;1518:28;1537:8;1518:18;:28::i;:::-;1517:29;1509:67;;;;-1:-1:-1;;;1509:67:221;;3212:2:234;1509:67:221;;;3194:21:234;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1509:67:221;3010:349:234;1509:67:221;1587:28;1600:8;1610:1;1613;1587:12;:28::i;:::-;1625:34;1644:8;1654:4;1625:18;:34::i;:::-;1669:47;1701:1;1704;1707:8;1669:31;:47::i;:::-;1363:360;1323:400;:::o;524:793::-;593:13;609:29;629:8;609:19;:29::i;:::-;593:45;;672:5;-1:-1:-1;;;;;656:21:221;:12;:10;:12::i;:::-;-1:-1:-1;;;;;656:21:221;;648:69;;;;-1:-1:-1;;;648:69:221;;3566:2:234;648:69:221;;;3548:21:234;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;648:69:221;3364:399:234;648:69:221;735:28;754:8;735:18;:28::i;:::-;727:62;;;;-1:-1:-1;;;727:62:221;;3970:2:234;727:62:221;;;3952:21:234;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;727:62:221;3768:345:234;727:62:221;855:1;807:36;834:8;807:26;:36::i;:::-;:50;799:97;;;;-1:-1:-1;;;799:97:221;;4320:2:234;799:97:221;;;4302:21:234;4359:2;4339:18;;;4332:30;4398:34;4378:18;;;4371:62;4469:4;4449:18;;;4442:32;4491:19;;799:97:221;4118:398:234;799:97:221;908:15;925;944:22;957:8;944:12;:22::i;:::-;907:59;;;;977:13;992:12;1008:15;:13;:15::i;:::-;976:47;;;;1046:5;1042:9;;:1;:9;;;1034:37;;;;-1:-1:-1;;;1034:37:221;;4723:2:234;1034:37:221;;;4705:21:234;4762:2;4742:18;;;4735:30;4801:17;4781:18;;;4774:45;4836:18;;1034:37:221;4521:339:234;1034:37:221;1093:6;1089:10;;:1;:10;;;1081:38;;;;-1:-1:-1;;;1081:38:221;;5067:2:234;1081:38:221;;;5049:21:234;5106:2;5086:18;;;5079:30;5145:17;5125:18;;;5118:45;5180:18;;1081:38:221;4865:339:234;1081:38:221;1137:43;1155:8;1165;1175:1;1178;1137:17;:43::i;:::-;:48;;1184:1;1137:48;1129:91;;;;-1:-1:-1;;;1129:91:221;;5411:2:234;1129:91:221;;;5393:21:234;5450:2;5430:18;;;5423:30;5489:32;5469:18;;;5462:60;5539:18;;1129:91:221;5209:354:234;1129:91:221;1230:47;1242:8;1252;1262;1272:1;1275;1230:11;:47::i;:::-;1287:23;1305:1;1308;1287:17;:23::i;:::-;583:734;;;;;524:793;;;:::o;1942:98:123:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:123;3325:45;2992:383;:::o;4891:393:192:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:192;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:183:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:183;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:183:o;4071:290:179:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:179;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:179:o;2592:291:195:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:195;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:195:o;5796:354:192:-;7947:22;;;16552:3:234;16548:16;;;16457:66;16544:25;;;7947:22:192;;;;16532:38:234;;;;16603:16;;;;16599:25;16586:11;;;16579:46;7947:22:192;;;;;;;;;6023:1;16641:11:234;;;6009:16:192;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:192;;-1:-1:-1;;6023:1:192;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:192;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:195:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:195;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;6097:14:234;6090:22;6085:3;6081:32;6069:45;;6139:1;6130:11;;5946:201;4107:27:195;;;;-1:-1:-1;;4107:27:195;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:183:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:183;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;6281:19:234;;6325:2;6316:12;;6152:182;9759:28:183;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;2779:297:187:-;2905:16;;;2919:1;2905:16;;;;;;;;;2849:19;;;;2905:16;;;;;;;;;;;;-1:-1:-1;2905:16:187;2876:45;;2942:13;2927:9;2937:1;2927:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;2962:13;2978:64;1157:66;3015:9;2962:13;1286:66;2978:26;:64::i;4657:361:186:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;3779:279:221:-;3881:6;3899:13;3923:3;3915:11;;:5;:11;;;:39;;3943:11;3949:5;3943:3;:11;:::i;:::-;3915:39;;;3929:11;3937:3;3929:5;:11;:::i;:::-;3899:55;;3964:13;3988:3;3980:11;;:5;:11;;;:39;;4008:11;4014:5;4008:3;:11;:::i;:::-;3980:39;;;3994:11;4002:3;3994:5;:11;:::i;:::-;3964:55;-1:-1:-1;4036:15:221;3964:55;4036:6;:15;:::i;:::-;4029:22;3779:279;-1:-1:-1;;;;;;;3779:279:221:o;4561:837::-;4673:25;4701:41;4723:8;4733;4701:21;:41::i;:::-;4673:69;;4752:24;4791:9;4786:438;4806:8;:15;4802:1;:19;4786:438;;;4857:8;4842;4851:1;4842:11;;;;;;;;:::i;:::-;;;;;;;:23;4838:327;;4907:4;4885:26;;4929:15;4947:8;4974:1;4956:8;:15;:19;;;;:::i;:::-;4947:29;;;;;;;;:::i;:::-;;;;;;;4929:47;;4994:65;5028:8;5038;5048:1;5051:7;4994:33;:65::i;:::-;5077:50;5108:8;5118;5077:30;:50::i;:::-;5145:5;;;4838:327;5196:3;;;;:::i;:::-;;;;4786:438;;;;5241:19;5233:63;;;;-1:-1:-1;;;5233:63:221;;7412:2:234;5233:63:221;;;7394:21:234;7451:2;7431:18;;;7424:30;7490:33;7470:18;;;7463:61;7541:18;;5233:63:221;7210:355:234;5233:63:221;5306:28;5319:8;5329:1;5332;5306:12;:28::i;:::-;5344:47;5376:1;5379;5382:8;5344:31;:47::i;2149:1624::-;2215:24;2250:30;2269:1;2272;2275;2250:30;;2278:1;2250:30;;:18;:30::i;:::-;2242:39;;2215:66;;2295:16;2315:1;2295:21;2291:58;;2332:7;2149:1624;;:::o;2291:58::-;2359:16;2389:14;2441:1;2422:16;:20;2418:163;;;-1:-1:-1;2471:1:221;;-1:-1:-1;2497:1:221;2418:163;;;-1:-1:-1;2542:1:221;;-1:-1:-1;2568:2:221;2418:163;2591:17;2627:22;;;2622:113;2655:8;2651:12;;:1;:12;2622:113;;;2697:27;2722:1;2697:24;:27::i;:::-;2684:40;;;;:::i;:::-;;-1:-1:-1;2665:3:221;;2622:113;;;;2745:34;2796:9;2782:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2782:24:221;-1:-1:-1;2745:61:221;-1:-1:-1;2816:13:221;2849:22;;;2844:274;2877:8;2873:12;;:1;:12;2844:274;;;2906:23;2932:24;2954:1;2932:21;:24::i;:::-;2906:50;;2975:9;2970:138;2994:6;:13;2990:1;:17;2970:138;;;3059:6;3066:1;3059:9;;;;;;;;:::i;:::-;;;;;;;3032:17;3050:5;3032:24;;;;;;;;:::i;:::-;;;;;;;;;;:36;3086:7;;;;:::i;:::-;;-1:-1:-1;;3009:3:221;;2970:138;;;-1:-1:-1;;2887:3:221;;2844:274;;;;3171:1;3144:17;:24;:28;3136:80;;;;-1:-1:-1;;;3136:80:221;;7902:2:234;3136:80:221;;;7884:21:234;7941:2;7921:18;;;7914:30;7980:34;7960:18;;;7953:62;8051:9;8031:18;;;8024:37;8078:19;;3136:80:221;7700:403:234;3136:80:221;3227:19;3311:13;3328:5;3311:22;3307:176;;3355:9;:20;3376;3395:1;3376:15;:20;:::i;:::-;3355:42;;;;;;;;;;;;;1413:25:234;;1401:2;1386:18;;1267:177;3355:42:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3355:42:221;;;;;;;;;;;;:::i;:::-;3349:48;;3307:176;;;3434:38;;;;;3455:16;3434:38;;;1413:25:234;3434:9:221;;:20;;1386:18:234;;3434:38:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3434:38:221;;;;;;;;;;;;:::i;:::-;3428:44;;3307:176;3498:9;3493:274;3536:1;3514:3;3531:1;3518:3;:10;:14;;;;:::i;:::-;3514:19;;;;;;;;:::i;:::-;;;;;;;:23;;;;:::i;:::-;3509:29;;:1;:29;3493:274;;;3559:197;3656:17;3691;:24;3682:3;3686:1;3682:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;3656:61;;;;;;;;:::i;:::-;;;;;;;3719:1;3722;3594:148;;;;;;;;;11941:25:234;;;11985:6;12027:15;;;12022:2;12007:18;;12000:43;12079:15;12074:2;12059:18;;12052:43;11929:2;11914:18;;11743:358;3594:148:221;;;;-1:-1:-1;;3594:148:221;;;;;;;;;;;;;;;;;;;;3559:17;:197::i;:::-;-1:-1:-1;3540:3:221;;3493:274;;;;2205:1568;;;;;;;2149:1624;;:::o;4048:97:123:-;4089:7;4111:29;:27;:29::i;15347:431:46:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:46;-1:-1:-1;;;;;15578:30:46;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:46;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:46;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:192:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7131:8:192;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:192;-1:-1:-1;;;;7036:160:192:o;18598:431:46:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:46;-1:-1:-1;;;;;18805:30:46;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:46;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:46;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:43:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:43;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:43:o;45284:220:56:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:46:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:46;-1:-1:-1;;;;;17998:30:46;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:46;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:46;-1:-1:-1;;;;;6696:30:46;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:46;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:242;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:46;-1:-1:-1;;;;;10984:30:46;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:46;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:46;-1:-1:-1;;;;;12556:30:46;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:46;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:183:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:183;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;6281:19:234;;6325:2;6316:12;;6152:182;12402:28:183;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:183;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;4141:179:221:-;4240:6;4272:40;4277:16;4286:2;4290;4277:8;:16::i;:::-;4295;4304:2;4308;4295:8;:16::i;:::-;4272:4;:40::i;5306:308:189:-;5410:16;;;5424:1;5410:16;;;;;;;;;5366:7;;;;5410:16;;;;;;;;;;;;-1:-1:-1;5410:16:189;5381:45;;5463:5;5447:23;;5432:9;5442:1;5432:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;5477:19;5499:57;1071:66;5543:9;5477:19;5499:33;:57::i;:::-;5601:2;5587:16;;;;-1:-1:-1;;;;5306:308:189:o;2600:342::-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:189;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:107:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;19341:98:234;19314:18;;3713:52:107;19197:248:234;3668:97:107;1759:4:23;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:107;3900:8;3936;3883:4;:92::i;1836:227:46:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:46;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:46:o;32759:1315:45:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:45;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:24;;;33532:33:45;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:45;-1:-1:-1;33518:47:45;-1:-1:-1;894:4:40;884:15;;33573:21:45;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:45;33808:25;:14;33831:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:45;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:45;37440:12;:257::i;2681:1129:58:-;2801:22;2831:21;2855;:11;2997:3:43;2975:25;;2901:104;2855:21:58;2831:45;-1:-1:-1;692:17:43;3238:38;;2882:20:58;3044:11;3238:38:43;3044:11:58;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:45:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:25;:27;579:1:52;4322:44:25;4288:79;;;4275:93;36635:63:45;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:45;29171:49;29023:106;29202:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:45;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:46:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:46;-1:-1:-1;;;;;8464:30:46;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:46;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:46;-1:-1:-1;;;;;13402:30:46;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:46;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;4326:117:221:-;4389:7;4419:1;4415;:5;:21;;4431:5;4435:1;4431;:5;:::i;:::-;4415:21;;;4423:5;4427:1;4423;:5;:::i;4449:106::-;4508:7;4539:1;4534;:6;;:14;;4547:1;4534:14;;;-1:-1:-1;4543:1:221;;4449:106;-1:-1:-1;4449:106:221:o;21091:444:46:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:46;-1:-1:-1;;;;;21299:30:46;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;21295:236::-;21443:81;;;;;-1:-1:-1;;;;;21443:43:46;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5805:471:133:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:133;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:107:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:107;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:107;-1:-1:-1;2409:177:107;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:107;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:107;;;;;;;;;;;;:::i;4598:171:25:-;4672:7;579:1:52;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:25;;;;;4598:171;-1:-1:-1;4598:171:25:o;48823:360:45:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:45;;;;;;;;;-1:-1:-1;48986:9:45;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:25:-;5451:7;579:1:52;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:25;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:25:o;53939:303:45:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:44;;4605:137;52742:274:45;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:44:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;;;-1:-1:-1;;;579:1:52;804:25:53;;782:48;6806:135:44;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:44;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:44;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;8389:20:44;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:44;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:44;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:45:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:45;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:45:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:25;4323:19;:27;;;579:1:52;4322:44:25;4288:79;;;4275:93;52003:32:45;;:::i;:::-;;-1:-1:-1;51990:3:45;;51958:84;;8945:812:44;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:44;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:45:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:51;;4015:652:45;-1:-1:-1;4015:652:45:o;4314:111::-;4469:185;4515:85;1213:66:51;4591:7:45;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:54;13976:4:45;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:26;;;;;14021:47:45;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:45;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:45;894:4:40;884:15;;14520:54:45;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:44;;;14915:102:45;-1:-1:-1;894:4:40;884:15;;15191:47:45;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:45;:14;15615:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:45;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:45;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:54;16125:4:45;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:26;;;;;16169:46:45;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:45;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:54;17798:4:45;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:26;;;;;17851:54:45;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:45;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:54;18455:4:45;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:26;;;;;18507:53:45;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:45;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;6281:19:234;;6325:2;6316:12;;6152:182;44775:25:45;;;;-1:-1:-1;;44775:25:45;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:45;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:45;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26089:12:234;26128:15;;;45340:92:45;;;26110:34:234;26180:15;;;26160:18;;;26153:43;26232:15;;26212:18;;;26205:43;26052:18;;45340:92:45;25883:371:234;45221:218:45;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26432:25:234;;;26505:12;26493:25;;26473:18;;;26466:53;26405:18;;45581:74:45;26259:266:234;45522:140:45;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:54;46104:4:45;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:26;;;;-1:-1:-1;;;;;46158:55:45;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:45;;46014:486;;;-1:-1:-1;46558:32:45;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:45;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:44;;;-1:-1:-1;47216:248:45;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:54;47858:4:45;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:26;;;;-1:-1:-1;;;;;47911:54:45;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:45;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:45;30643:49;30495:106;30674:17;7070:16:24;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:45;30607:86;-1:-1:-1;30731:333:45;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;8363:236:133:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:121:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:121;-1:-1:-1;;;;;;2067:27:121;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:124;2955:46;;696:18:144;2954:74:124;2432:22:121;2515:26;2954:74:124;2515:13:121;:26::i;:::-;2490:51;-1:-1:-1;2549:50:121;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:41;2637:44:124;;2539:148;2681:23:121;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:121;-1:-1:-1;;;;;;;1761:1386:121:o;348:217:142:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:45;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:45;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:45:o;51249:282::-;51494:30;;;;;;28745:19:234;;;28780:12;;;28773:28;;;51337:7:45;;28817:12:234;;51494:30:45;28556:279:234;3658:342:50;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:50;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:26:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:44:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:52;804:25:53;;782:48;2208:18:44;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:44;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:44;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:52;804:25:53;;782:48;3761:21:44;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:44;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::40;884:15;;758:151;1098:24:44;1055:5;:68::i;7468:1525:24:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:234;;;1386:18;;7664:67:24;1267:177:234;7618:120:24;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:24;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:24;;;;;:::o;7963:242:133:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;8028:19:133;;8173:26;8147:53;;7963:242;;;:::o;5928:433:139:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:139;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:124:-;3550:13;3620:10;451:5:41;2637:44:124;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:124;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:108:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:132:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:132;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:132;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;6281:19:234;;6325:2;6316:12;;6152:182;5279:27:132;;;;-1:-1:-1;;5279:27:132;;;;;;;;;1286:66;5230:24;:91::i;5594:317:123:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:123;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:123;;;;-1:-1:-1;5594:317:123;-1:-1:-1;;;;;5594:317:123:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:123;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:56;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:139:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:124:-;3228:7;3292:26;438:6;451:5:41;3292:26:124;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:124:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:23;3257:13;;3253:24;2007:42:124;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30746:66:234;30734:79;;2092:30:124;;;30722:92:234;2092:30:124;;30830:12:234;;;;2092:30:124;;;875:21:23;;;2092:30:124;2142:39;760:164:23;955:327:108;1036:4;1178:56;696:18:144;578:36:124;2955:46;;2954:74;1227:6:108;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:123:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:139:-;3788:4:23;3774:27;;3768:34;3774:27;;;3768:34;7564:35:139;;;;;;7513:14;;7631:33;;7623:42;6914:97:195;4006:378:136;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:136;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:136;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:195;6914:97;14:332:234;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:234;;1710:439;-1:-1:-1;;;;;1710:439:234:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:234;;2420:180;-1:-1:-1;2420:180:234:o;5568:184::-;-1:-1:-1;;;5617:1:234;5610:88;5717:4;5714:1;5707:15;5741:4;5738:1;5731:15;5757:184;-1:-1:-1;;;5806:1:234;5799:88;5906:4;5903:1;5896:15;5930:4;5927:1;5920:15;6339:184;-1:-1:-1;;;6388:1:234;6381:88;6488:4;6485:1;6478:15;6512:4;6509:1;6502:15;6528:171;6596:6;6635:10;;;6623;;;6619:27;;6658:12;;;6655:38;;;6673:18;;:::i;:::-;6655:38;6528:171;;;;:::o;6704:168::-;6771:6;6797:10;;;6809;;;6793:27;;6832:11;;;6829:37;;;6846:18;;:::i;6877:128::-;6944:9;;;6965:11;;;6962:37;;;6979:18;;:::i;7010:195::-;7049:3;-1:-1:-1;;7073:5:234;7070:77;7067:103;;7150:18;;:::i;:::-;-1:-1:-1;7197:1:234;7186:13;;7010:195::o;7570:125::-;7635:9;;;7656:10;;;7653:36;;;7669:18;;:::i;8108:476::-;8197:1;8234:5;8197:1;8248:330;8269:7;8259:8;8256:21;8248:330;;;8388:4;-1:-1:-1;;8316:77:234;8310:4;8307:87;8304:113;;;8397:18;;:::i;:::-;8447:7;8437:8;8433:22;8430:55;;;8467:16;;;;8430:55;8546:22;;;;8506:15;;;;8248:330;;;8252:3;8108:476;;;;;:::o;8589:866::-;8638:5;8668:8;8658:80;;-1:-1:-1;8709:1:234;8723:5;;8658:80;8757:4;8747:76;;-1:-1:-1;8794:1:234;8808:5;;8747:76;8839:4;8857:1;8852:59;;;;8925:1;8920:130;;;;8832:218;;8852:59;8882:1;8873:10;;8896:5;;;8920:130;8957:3;8947:8;8944:17;8941:43;;;8964:18;;:::i;:::-;-1:-1:-1;;9020:1:234;9006:16;;9035:5;;8832:218;;9134:2;9124:8;9121:16;9115:3;9109:4;9106:13;9102:36;9096:2;9086:8;9083:16;9078:2;9072:4;9069:12;9065:35;9062:77;9059:159;;;-1:-1:-1;9171:19:234;;;9203:5;;9059:159;9250:34;9275:8;9269:4;9250:34;:::i;:::-;9380:6;-1:-1:-1;;9308:79:234;9299:7;9296:92;9293:118;;;9391:18;;:::i;:::-;9429:20;;8589:866;-1:-1:-1;;;8589:866:234:o;9460:140::-;9518:5;9547:47;9588:4;9578:8;9574:19;9568:4;9547:47;:::i;9795:334::-;9866:2;9860:9;9922:2;9912:13;;-1:-1:-1;;9908:86:234;9896:99;;10025:18;10010:34;;10046:22;;;10007:62;10004:88;;;10072:18;;:::i;:::-;10108:2;10101:22;9795:334;;-1:-1:-1;9795:334:234:o;10134:1110::-;10228:6;10259:2;10302;10290:9;10281:7;10277:23;10273:32;10270:52;;;10318:1;10315;10308:12;10270:52;10351:9;10345:16;10380:18;10421:2;10413:6;10410:14;10407:34;;;10437:1;10434;10427:12;10407:34;10475:6;10464:9;10460:22;10450:32;;10520:7;10513:4;10509:2;10505:13;10501:27;10491:55;;10542:1;10539;10532:12;10491:55;10571:2;10565:9;10593:2;10589;10586:10;10583:36;;;10599:18;;:::i;:::-;10645:2;10642:1;10638:10;10628:20;;10668:28;10692:2;10688;10684:11;10668:28;:::i;:::-;10730:15;;;10800:11;;;10796:20;;;10761:12;;;;10828:19;;;10825:39;;;10860:1;10857;10850:12;10825:39;10884:11;;;;10904:310;10920:6;10915:3;10912:15;10904:310;;;10993:3;10987:10;10974:23;;11041:10;11034:5;11030:22;11023:5;11020:33;11010:131;;11095:1;11124:2;11120;11113:14;11010:131;11154:18;;;10937:12;;;;11192;;;;10904:310;;;11233:5;10134:1110;-1:-1:-1;;;;;;;;10134:1110:234:o;11249:184::-;-1:-1:-1;;;11298:1:234;11291:88;11398:4;11395:1;11388:15;11422:4;11419:1;11412:15;11438:183;11469:1;11495:10;11532:2;11529:1;11525:10;11554:3;11544:37;;11561:18;;:::i;:::-;11599:10;;11595:20;;;;;11438:183;-1:-1:-1;;11438:183:234:o;11626:112::-;11658:1;11684;11674:35;;11689:18;;:::i;:::-;-1:-1:-1;11723:9:234;;11626:112::o;12106:468::-;12406:6;12395:9;12388:25;12449:2;12444;12433:9;12429:18;12422:30;12369:4;12469:56;12521:2;12510:9;12506:18;12498:6;12469:56;:::i;:::-;12461:64;;12561:6;12556:2;12545:9;12541:18;12534:34;12106:468;;;;;;:::o;12579:250::-;12664:1;12674:113;12688:6;12685:1;12682:13;12674:113;;;12764:11;;;12758:18;12745:11;;;12738:39;12710:2;12703:10;12674:113;;;-1:-1:-1;;12821:1:234;12803:16;;12796:27;12579:250::o;12834:568::-;12887:5;12940:3;12933:4;12925:6;12921:17;12917:27;12907:55;;12958:1;12955;12948:12;12907:55;12987:6;12981:13;13013:18;13009:2;13006:26;13003:52;;;13035:18;;:::i;:::-;13079:114;13187:4;-1:-1:-1;;13111:4:234;13107:2;13103:13;13099:86;13095:97;13079:114;:::i;:::-;13218:2;13209:7;13202:19;13264:3;13257:4;13252:2;13244:6;13240:15;13236:26;13233:35;13230:55;;;13281:1;13278;13271:12;13230:55;13294:77;13368:2;13361:4;13352:7;13348:18;13341:4;13333:6;13329:17;13294:77;:::i;13407:655::-;13549:6;13557;13565;13618:2;13606:9;13597:7;13593:23;13589:32;13586:52;;;13634:1;13631;13624:12;13586:52;13667:9;13661:16;13696:18;13737:2;13729:6;13726:14;13723:34;;;13753:1;13750;13743:12;13723:34;13776:60;13828:7;13819:6;13808:9;13804:22;13776:60;:::i;:::-;13766:70;;13876:2;13865:9;13861:18;13855:25;13845:35;;13926:2;13915:9;13911:18;13905:25;13889:41;;13955:2;13945:8;13942:16;13939:36;;;13971:1;13968;13961:12;13939:36;;13994:62;14048:7;14037:8;14026:9;14022:24;13994:62;:::i;:::-;13984:72;;;13407:655;;;;;:::o;14067:442::-;14330:6;14319:9;14312:25;14373:2;14368;14357:9;14353:18;14346:30;14293:4;14393:56;14445:2;14434:9;14430:18;14422:6;14393:56;:::i;:::-;14385:64;;14497:4;14489:6;14485:17;14480:2;14469:9;14465:18;14458:45;14067:442;;;;;;:::o;14514:335::-;14593:6;14646:2;14634:9;14625:7;14621:23;14617:32;14614:52;;;14662:1;14659;14652:12;14614:52;14695:9;14689:16;14728:18;14720:6;14717:30;14714:50;;;14760:1;14757;14750:12;14714:50;14783:60;14835:7;14826:6;14815:9;14811:22;14783:60;:::i;14854:329::-;14895:3;14933:5;14927:12;14960:6;14955:3;14948:19;14976:76;15045:6;15038:4;15033:3;15029:14;15022:4;15015:5;15011:16;14976:76;:::i;:::-;15097:2;15085:15;-1:-1:-1;;15081:88:234;15072:98;;;;15172:4;15068:109;;14854:329;-1:-1:-1;;14854:329:234:o;15188:359::-;15391:2;15380:9;15373:21;15354:4;15411:44;15451:2;15440:9;15436:18;15428:6;15411:44;:::i;:::-;15486:2;15471:18;;15464:34;;;;-1:-1:-1;15529:2:234;15514:18;15507:34;15403:52;15188:359;-1:-1:-1;15188:359:234:o;15552:548::-;15876:6;15865:9;15858:25;15919:3;15914:2;15903:9;15899:18;15892:31;15839:4;15940:57;15992:3;15981:9;15977:19;15969:6;15940:57;:::i;:::-;16045:4;16033:17;;;;16028:2;16013:18;;16006:45;-1:-1:-1;16082:2:234;16067:18;16060:34;15932:65;15552:548;-1:-1:-1;;15552:548:234:o;16105:184::-;16175:6;16228:2;16216:9;16207:7;16203:23;16199:32;16196:52;;;16244:1;16241;16234:12;16196:52;-1:-1:-1;16267:16:234;;16105:184;-1:-1:-1;16105:184:234:o;16663:794::-;17058:6;17047:9;17040:25;17101:3;17096:2;17085:9;17081:18;17074:31;17021:4;17128:57;17180:3;17169:9;17165:19;17157:6;17128:57;:::i;:::-;17233:9;17225:6;17221:22;17216:2;17205:9;17201:18;17194:50;17267:32;17292:6;17284;17267:32;:::i;:::-;17253:46;;17335:6;17330:2;17319:9;17315:18;17308:34;17391:9;17383:6;17379:22;17373:3;17362:9;17358:19;17351:51;17419:32;17444:6;17436;17419:32;:::i;17462:709::-;17832:6;17821:9;17814:25;17875:3;17870:2;17859:9;17855:18;17848:31;17795:4;17902:57;17954:3;17943:9;17939:19;17931:6;17902:57;:::i;:::-;18007:4;17999:6;17995:17;17990:2;17979:9;17975:18;17968:45;18061:9;18053:6;18049:22;18044:2;18033:9;18029:18;18022:50;18089:32;18114:6;18106;18089:32;:::i;:::-;18081:40;;;18158:6;18152:3;18141:9;18137:19;18130:35;17462:709;;;;;;;;:::o;18176:604::-;18485:6;18474:9;18467:25;18528:3;18523:2;18512:9;18508:18;18501:31;18448:4;18555:57;18607:3;18596:9;18592:19;18584:6;18555:57;:::i;:::-;18660:4;18652:6;18648:17;18643:2;18632:9;18628:18;18621:45;18714:9;18706:6;18702:22;18697:2;18686:9;18682:18;18675:50;18742:32;18767:6;18759;18742:32;:::i;18785:407::-;18868:5;18908;18902:12;18950:4;18943:5;18939:16;18933:23;18975:66;19067:2;19063;19059:11;19050:20;;19093:1;19085:6;19082:13;19079:107;;;19173:2;19167;19157:6;19154:1;19150:14;19147:1;19143:22;19139:31;19135:2;19131:40;19127:49;19118:58;;19079:107;;;;18785:407;;;:::o;19450:175::-;19487:3;19531:4;19524:5;19520:16;19560:4;19551:7;19548:17;19545:43;;19568:18;;:::i;:::-;19617:1;19604:15;;19450:175;-1:-1:-1;;19450:175:234:o;19630:793::-;19991:6;19980:9;19973:25;20034:3;20029:2;20018:9;20014:18;20007:31;19954:4;20061:57;20113:3;20102:9;20098:19;20090:6;20061:57;:::i;:::-;20166:4;20154:17;;20149:2;20134:18;;20127:45;20191:12;20239:15;;;20234:2;20219:18;;20212:43;20292:15;;20286:3;20271:19;;20264:44;20345:22;;;20339:3;20324:19;;20317:51;20385:32;20349:6;20402;20385:32;:::i;:::-;20377:40;19630:793;-1:-1:-1;;;;;;;;;19630:793:234:o;21137:320::-;21344:6;21333:9;21326:25;21387:2;21382;21371:9;21367:18;21360:30;21307:4;21407:44;21447:2;21436:9;21432:18;21424:6;21407:44;:::i;21462:168::-;21535:9;;;21566;;21583:15;;;21577:22;;21563:37;21553:71;;21604:18;;:::i;21635:640::-;21886:6;21881:3;21874:19;21856:3;21912:2;21945;21940:3;21936:12;21977:6;21971:13;22042:2;22034:6;22030:15;22063:1;22073:175;22087:6;22084:1;22081:13;22073:175;;;22150:13;;22136:28;;22186:14;;;;22223:15;;;;22109:1;22102:9;22073:175;;;-1:-1:-1;22264:5:234;;21635:640;-1:-1:-1;;;;;;;21635:640:234:o;22280:690::-;22615:3;22604:9;22597:22;22578:4;22642:57;22694:3;22683:9;22679:19;22671:6;22642:57;:::i;:::-;22747:9;22739:6;22735:22;22730:2;22719:9;22715:18;22708:50;22781:32;22806:6;22798;22781:32;:::i;:::-;22767:46;;22849:6;22844:2;22833:9;22829:18;22822:34;22904:9;22896:6;22892:22;22887:2;22876:9;22872:18;22865:50;22932:32;22957:6;22949;22932:32;:::i;22975:899::-;23431:6;23420:9;23413:25;23474:3;23469:2;23458:9;23454:18;23447:31;23394:4;23501:57;23553:3;23542:9;23538:19;23530:6;23501:57;:::i;:::-;23606:9;23598:6;23594:22;23589:2;23578:9;23574:18;23567:50;23640:32;23665:6;23657;23640:32;:::i;:::-;23626:46;;23708:6;23703:2;23692:9;23688:18;23681:34;23764:9;23756:6;23752:22;23746:3;23735:9;23731:19;23724:51;23792:32;23817:6;23809;23792:32;:::i;:::-;23784:40;;;23861:6;23855:3;23844:9;23840:19;23833:35;22975:899;;;;;;;;;:::o;23879:511::-;24130:2;24119:9;24112:21;24093:4;24156:56;24208:2;24197:9;24193:18;24185:6;24156:56;:::i;:::-;24260:14;24252:6;24248:27;24243:2;24232:9;24228:18;24221:55;24324:9;24316:6;24312:22;24307:2;24296:9;24292:18;24285:50;24352:32;24377:6;24369;24352:32;:::i;:::-;24344:40;23879:511;-1:-1:-1;;;;;;23879:511:234:o;24395:616::-;24706:6;24695:9;24688:25;24749:3;24744:2;24733:9;24729:18;24722:31;24669:4;24776:57;24828:3;24817:9;24813:19;24805:6;24776:57;:::i;:::-;24881:14;24873:6;24869:27;24864:2;24853:9;24849:18;24842:55;24945:9;24937:6;24933:22;24928:2;24917:9;24913:18;24906:50;24973:32;24998:6;24990;24973:32;:::i;25235:464::-;25482:66;25474:6;25470:79;25459:9;25452:98;25586:6;25581:2;25570:9;25566:18;25559:34;25629:2;25624;25613:9;25609:18;25602:30;25433:4;25649:44;25689:2;25678:9;25674:18;25666:6;25649:44;:::i;25704:174::-;25771:12;25803:10;;;25815;;;25799:27;;25838:11;;;25835:37;;;25852:18;;:::i;26530:901::-;26955:6;26944:9;26937:25;26998:3;26993:2;26982:9;26978:18;26971:31;26918:4;27025:57;27077:3;27066:9;27062:19;27054:6;27025:57;:::i;:::-;27130:4;27118:17;;27113:2;27098:18;;27091:45;27155:12;27203:15;;;27198:2;27183:18;;27176:43;27256:15;;27250:3;27235:19;;27228:44;27303:3;27288:19;;27281:35;;;27353:22;;;27347:3;27332:19;;27325:51;27393:32;27357:6;27410;27393:32;:::i;:::-;27385:40;26530:901;-1:-1:-1;;;;;;;;;;26530:901:234:o;27436:788::-;27801:3;27790:9;27783:22;27764:4;27828:57;27880:3;27869:9;27865:19;27857:6;27828:57;:::i;:::-;27933:4;27925:6;27921:17;27916:2;27905:9;27901:18;27894:45;27987:14;27979:6;27975:27;27970:2;27959:9;27955:18;27948:55;28051:12;28043:6;28039:25;28034:2;28023:9;28019:18;28012:53;28102:6;28096:3;28085:9;28081:19;28074:35;28158:9;28150:6;28146:22;28140:3;28129:9;28125:19;28118:51;28186:32;28211:6;28203;28186:32;:::i;28840:925::-;29289:66;29281:6;29277:79;29272:3;29265:92;29247:3;29376;29408:2;29404:1;29399:3;29395:11;29388:23;29440:6;29434:13;29456:74;29523:6;29519:1;29514:3;29510:11;29503:4;29495:6;29491:17;29456:74;:::i;:::-;29558:6;29553:3;29549:16;29539:26;;29593:2;29589:1;29585:2;29581:10;29574:22;29627:6;29621:13;29605:29;;29643:75;29709:8;29705:1;29701:2;29697:10;29690:4;29682:6;29678:17;29643:75;:::i;:::-;29738:17;29757:1;29734:25;;28840:925;-1:-1:-1;;;;;28840:925:234:o;29770:339::-;29947:2;29936:9;29929:21;29910:4;29967:44;30007:2;29996:9;29992:18;29984:6;29967:44;:::i;:::-;29959:52;;-1:-1:-1;;;;;30051:6:234;30047:55;30042:2;30031:9;30027:18;30020:83;29770:339;;;;;:::o;30301:287::-;30430:3;30468:6;30462:13;30484:66;30543:6;30538:3;30531:4;30523:6;30519:17;30484:66;:::i;:::-;30566:16;;;;;30301:287;-1:-1:-1;;30301:287:234:o;30853:530::-;31038:3;31076:6;31070:13;31092:66;31151:6;31146:3;31139:4;31131:6;31127:17;31092:66;:::i;:::-;31227:2;31223:15;;;;31240:66;31219:88;31180:16;;;;31205:103;;;31335:2;31324:14;;31317:30;;;;31374:2;31363:14;;30853:530;-1:-1:-1;;30853:530:234:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3993,"length":20},{"start":4180,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@chainlink/=lib/founcry-chainlink-toolkit/\",\":@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/\",\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/\",\":openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4\",\"dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC\"]},\"src/codegen/tables/ActionOutcome.sol\":{\"keccak256\":\"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a\",\"dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39\",\"dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae\",\"dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2\",\"dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0\",\"dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5\",\"dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/RngLogs.sol\":{\"keccak256\":\"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619\",\"dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/IAdminSystem.sol\":{\"keccak256\":\"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b\",\"dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78\",\"dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f\",\"dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a\",\"dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c\",\"dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef\",\"dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0xea9f325777be6876bffab91f61a1aec856ca5ccc1368b9d782d73d22a9be8f22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e0e6bab92fef006057be305155e732c3ce46754c9a95b451bf212a5611641d5\",\"dweb:/ipfs/QmbbgoBC8vChM8EF9CunXnixeiBouJFcaDQV616sxFus3j\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@chainlink/=lib/founcry-chainlink-toolkit/","@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/","@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/","openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315","urls":["bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4","dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC"],"license":"MIT"},"src/codegen/tables/ActionOutcome.sol":{"keccak256":"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956","urls":["bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a","dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b","urls":["bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39","dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b","urls":["bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae","dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd","urls":["bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2","dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85","urls":["bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0","dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e","urls":["bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5","dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/RngLogs.sol":{"keccak256":"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821","urls":["bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619","dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/IAdminSystem.sol":{"keccak256":"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6","urls":["bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b","dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373","urls":["bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78","dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595","urls":["bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f","dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f","urls":["bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a","dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859","urls":["bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c","dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47","urls":["bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef","dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0xea9f325777be6876bffab91f61a1aec856ca5ccc1368b9d782d73d22a9be8f22","urls":["bzz-raw://1e0e6bab92fef006057be305155e732c3ce46754c9a95b451bf212a5611641d5","dweb:/ipfs/QmbbgoBC8vChM8EF9CunXnixeiBouJFcaDQV616sxFus3j"],"license":"MIT"}},"version":1},"id":221} \ No newline at end of file +{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061458c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046139f5565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e3366004613a49565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613a85565b610236565b6040516100ac9190613af4565b61012e610129366004613b07565b610249565b005b61012e61013e366004613a49565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee61121e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613b36565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b9250925092506107008383836112f8565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613b36565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613b36565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f73697469838361131b565b90506107c36107be82600084516113e2565b611470565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613b36565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611481565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613b36565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611481565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613b36565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e00000000000000008286868661153e565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115ef565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613b36565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613b36565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b604051602081830303815290604052611665565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613b36565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611481565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b925092509250610c5c8383836112f8565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613b62565b610c93565b610c938487613b62565b905060008361ffff168661ffff1611610cb557610cb08685613b62565b610cbf565b610cbf8487613b62565b9050610ccb8183613b84565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613b36565b602002602001015103610d5c576001915060008360018551610d269190613b9f565b81518110610d3657610d36613b36565b60200260200101519050610d4c88888484611717565b610d5688886117e2565b50610d6e565b80610d6681613bb2565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611882565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e37816118a0565b610e419083613bcc565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613b20565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb082611920565b905060005b8151811015610f0a57818181518110610ed057610ed0613b36565b6020026020010151858581518110610eea57610eea613b36565b602090810291909101015283610eff81613bb2565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613cc3565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613d03565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613d03565b90505b6110e2816000815181106110cf576110cf613b36565b602002602001015163ffffffff166119a7565b61110481600183516110f49190613b9f565b815181106110cf576110cf613b36565b60005b60068260008151811061111c5761111c613b36565b602002602001015161112e9190613dd5565b63ffffffff168110156112125761120984855184848151811061115357611153613b36565b602002602001015163ffffffff1661116b9190613df8565b8151811061117b5761117b613b36565b60200260200101518b8b6040516024016111ac9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611a1d565b50600101611107565b50505050505050505050565b60006101ee611acb565b6060600060606000611238611acb565b9050306001600160a01b0382160361126157611255878787611b0a565b935093509350506112ef565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd906112aa908a908a908a90600401613e0c565b600060405180830381865afa1580156112c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112559190810190613ebd565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60606000611327611acb565b9050306001600160a01b0382160361134c57611344858585611c12565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061139590889088908890600401613f2a565b600060405180830381865afa1580156113b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113449190810190613f56565b509392505050565b6000818311806113f25750835182115b1561142f578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613fb7565b6020840161143d8482613bcc565b9050600061144b8585613b9f565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611c4c565b60008061148c611acb565b9050306001600160a01b038216036114b2576114aa86868686611cc7565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114fd908990899089908990600401613fdc565b602060405180830381865afa15801561151a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa919061400b565b6000611548611acb565b9050306001600160a01b0382160361156c576115678686868686611cf4565b6115e7565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb906115b99089908990899089908990600401614024565b600060405180830381600087803b1580156115d357600080fd5b505af1158015611212573d6000803e3d6000fd5b505050505050565b60006115f9611acb565b9050306001600160a01b03821603611618576115678686868686611d0a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906115b99089908990899089908990600401614069565b600061166f611acb565b9050306001600160a01b038216036116925761168d85858585611d1f565b611710565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906116dd9088908890889088906004016140b0565b600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061175357611753613b36565b6020026020010181815250508361ffff1660001b8160018151811061177a5761177a613b36565b60200260200101818152505060008260405160200161179b91815260200190565b60405160208183030381529060405290506115e77f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611d5a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b8160008151811061181e5761181e613b36565b6020026020010181815250508161ffff1660001b8160018151811061184557611845613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611e13565b60006107c36118918685611e86565b61189b8685611e86565b611ea8565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106118dc576118dc613b36565b602090810291909101015260006119147f746255440000000000000000000000004d6f627342794c6576656c00000000008383611ebf565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061195d5761195d613b36565b602090810291909101015260006119957f746255440000000000000000000000004d6f627342794c6576656c0000000000838361131b565b90506109066107be82600084516113e2565b611a1a816040516024016119bd91815260200190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff82c50f100000000000000000000000000000000000000000000000000000000179052611f71565b50565b6060600080611a33611a2e856140e4565b611f7a565b91509150816000801b03611a99576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610906828561203d565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611b05573391505090565b919050565b6060600060606000611b1b85612118565b9050611b2887878361213b565b93506000611b3586612174565b90508015611c0757611b4788886121b1565b935066ffffffffffffff841667ffffffffffffffff811115611b6b57611b6b613b20565b6040519080825280601f01601f191660200182016040528015611b95576020820181803683370190505b5092506020830160005b828160ff161015611c04576000611bb78b8b846121c4565b90506000611bd4888460ff166028026038011c64ffffffffff1690565b9050611be38260008387612244565b611bed8185613bcc565b935050508080611bfc90614134565b915050611b9f565b50505b505093509350939050565b6060610906611c228585856121c4565b6000611c4785611c3289896121b1565b9060ff166028026038011c64ffffffffff1690565b612310565b60606000611c5a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611c8057611c80613dbf565b04905060405193506020840160208202810160405281855260005b82811015611cbb578451871c825293870193602090910190600101611c9b565b50505050509392505050565b60006107c3611cd68686612333565b60ff858116601b0360080285901c16611cef8587612389565b6123ba565b6117108585858585611d058b61240b565b612490565b6117108585611d198487612389565b856127c9565b6000611d2b85856121b1565b90506000611d48828560ff166028026038011c64ffffffffff1690565b90506115e78686868460008888612a64565b6000611d64611acb565b9050306001600160a01b03821603611d8957611d84878787878787612e9e565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611dd8908a908a908a908a908a908a90600401614153565b600060405180830381600087803b158015611df257600080fd5b505af1158015611e06573d6000803e3d6000fd5b5050505050505050505050565b6000611e1d611acb565b9050306001600160a01b03821603611e3b5761168d85858585612eb6565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a04906116dd908890889088908890600401613fdc565b6000818311611e9e57611e998383613b9f565b610242565b6102428284613b9f565b600081831015611eb85781610242565b5090919050565b600080611eca611acb565b9050306001600160a01b03821603611ee757611344858585612f0f565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611f3090889088908890600401613f2a565b602060405180830381865afa158015611f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611344919061400b565b611a1a81612f1f565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fd357611fd3613b36565b60209081029190910101526000808061202c7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611228565b925092509250610700838383612f40565b6060600061204961121e565b90506001600160a01b038116300361208a57600061207161206861062a565b60008787612f4c565b93509050806120835761208383613087565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120d190879087906004016141a9565b6000604051808303816000875af11580156120f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613f56565b6000600861212860026020613b9f565b61213291906141c2565b9190911c919050565b60608160000361215a5750604080516020810190915260008152610242565b60006121668585612333565b90506107c381600085612310565b6000600860018061218760026020613b9f565b6121919190613b9f565b61219b9190613b9f565b6121a591906141c2565b8260ff911c1692915050565b60006102426121c0848461308f565b5490565b600083836040516020016121d99291906141d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156122cb576020831061226e5760208304840193506020838161226a5761226a613dbf565b0692505b82156122cb5760208390036000818410156122915750600019600884021c61229b565b50600019600882021c5b8554600886021b8184511682198216178452508184116122bc575050610b54565b50600194909401939182900391015b5b602082106122ed5783548152600190930192601f19909101906020016122cc565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f84840101166040528282526113da85858584612244565b600082826040516020016123489291906141d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156113da576123b060ff601b83900360080287901c1683613bcc565b915060010161238e565b6000602082106123e0576020820484019350602082816123dc576123dc613dbf565b0691505b508254600882021b6020829003808411156113da576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161245a57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6124877f746273746f72650000000000000000005461626c657300000000000000000000846130e5565b602060006123ba565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361251c57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161250f9493929190614215565b60405180910390a26115e7565b600061252787613101565b905060005b815181101561260057600082828151811061254957612549613b36565b602002602001015190506125756001826affffffffffffffffffffff191661318a90919063ffffffff16565b156125f7576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906125c4908c908c908c908c908c908c90600401614254565b600060405180830381600087803b1580156125de57600080fd5b505af11580156125f2573d6000803e3d6000fd5b505050505b5060010161252c565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516126379493929190614215565b60405180910390a2600061264b8888612333565b905060006020870190506126638260008951846131a8565b600061266e85612174565b11156126f25760006126808a8a61308f565b878155905060208601915060008060005b61269a88612174565b8160ff1610156126ed576126af8d8d836121c4565b92506126ca8a8260ff166028026038011c64ffffffffff1690565b91506126d983600084886131a8565b6126e38286613bcc565b9450600101612691565b505050505b60005b835181101561121257600084828151811061271257612712613b36565b6020026020010151905061273e6002826affffffffffffffffffffff191661318a90919063ffffffff16565b156127c0576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061278d908e908e908e908e908e908e90600401614254565b600060405180830381600087803b1580156127a757600080fd5b505af11580156127bb573d6000803e3d6000fd5b505050505b506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361285357837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612846939291906142ad565b60405180910390a2610b54565b600061285f8585612333565b9050600061286c86613101565b905060005b815181101561294157600082828151811061288e5761288e613b36565b602002602001015190506128ba6004826affffffffffffffffffffff191661318a90919063ffffffff16565b15612938576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612905908b908b908b908b906004016142ea565b600060405180830381600087803b15801561291f57600080fd5b505af1158015612933573d6000803e3d6000fd5b505050505b50600101612871565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612976939291906142ad565b60405180910390a2612991828565ffffffffffff1685613267565b60005b81518110156109cd5760008282815181106129b1576129b1613b36565b602002602001015190506129dd6008826affffffffffffffffffffff191661318a90919063ffffffff16565b15612a5b576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a28908b908b908b908b906004016142ea565b600060405180830381600087803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b505050505b50600101612994565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612b24577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ae291815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614323565b6000612b3f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612b589190613b9f565b612b629190613bcc565b9050808214158015612b84575081612b7a8688614364565b64ffffffffff1614155b15612bd4576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612c25576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612c3284898461327d565b90506000612c3f8b613101565b905060005b8151811015612d0a576000828281518110612c6157612c61613b36565b60200260200101519050612c8d6010826affffffffffffffffffffff191661318a90919063ffffffff16565b15612d0157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612cce9796959493929190614382565b600060405180830381600087803b158015612ce857600080fd5b505af1158015612cfc573d6000803e3d6000fd5b505050505b50600101612c44565b5064ffffffffff881660005b8a60ff168160ff161015612d4957612d3d878260ff166028026038011c64ffffffffff1690565b90910190600101612d16565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d84969594939291906143e0565b60405180910390a250828414612da5576000612da08c8c61308f565b839055505b6000612db28c8c8c6121c4565b9050612dc6818a64ffffffffff1689613267565b5060005b8151811015612e90576000828281518110612de757612de7613b36565b60200260200101519050612e136020826affffffffffffffffffffff191661318a90919063ffffffff16565b15612e8757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e549796959493929190614382565b600060405180830381600087803b158015612e6e57600080fd5b505af1158015612e82573d6000803e3d6000fd5b505050505b50600101612dca565b505050505050505050505050565b6115e7868686868686612eb18d8d6121b1565b612a64565b6000612ec285856121b1565b90506000612edf828560ff166028026038011c64ffffffffff1690565b90506115e7868686612ef88764ffffffffff8716613b9f565b604080516000815260208101909152889088612a64565b600061090682611c3286866121b1565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60008061130f8561334b565b60006060600080612f5c86613360565b90925090506001600160a01b038216612fad5785612f7987613404565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906141a9565b80612fbc57612fbc8689613541565b8615613028577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e730000000000000000000000000000000000000000000000000000000000001760006130108261358d565b9050613025826130208b84613bcc565b61361e565b50505b60006130348760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461306c57613067888884886136d2565b613078565b6130788888848861374a565b90999098509650505050505050565b805160208201fd5b600082826040516020016130a49291906141d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001612348565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061313b5761313b613b36565b602090810291909101015260006131737f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611c12565b905061090661318582600084516113e2565b6137ab565b60008160ff168261319b8560581c90565b1660ff1614905092915050565b821561322257602083106131d2576020830484019350602083816131ce576131ce613dbf565b0692505b82156132225760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613213575050610b54565b50600194909401939182900391015b5b602082106132445780518455600190930192601f1990910190602001613223565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f838383516132788560200190565b6131a8565b600064ffffffffff8211156132c1576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106132f357808503820191506132fb565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061339a5761339a613b36565b6020908102919091010152600080806133f37f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611b0a565b9250925092506107008383836137bc565b606081601081901b6000613417836137c8565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156134725761346d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166137df565b6134a9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156134df576134da836137df565b613516565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016135289392919061442f565b6040516020818303038152906040529350505050919050565b61354b8282613883565b6103615761355882613404565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906144bd565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106135c6576135c6613b36565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611cc7565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061365457613654613b36565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161369d91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611d0a565b60006060836001600160a01b031660006136ed8589896138e1565b6040516136fa91906144e8565b60006040518083038185875af1925050503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606091505b509097909650945050505050565b60006060836001600160a01b03166137638488886138e1565b60405161377091906144e8565b600060405180830381855af49150503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606060006102428360156000611c4c565b60008061130f85613910565b60006137d660706010613bcc565b9190911b919050565b606060005b6010811015613844577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613844576001016137e4565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006138d17f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361392c565b806102425750610242838361392c565b60608383836040516020016138f893929190614504565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c613359565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061396557613965613b36565b602002602001018181525050826001600160a01b031660001b8160018151811061399157613991613b36565b602090810291909101015260006139e97f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611cc7565b90506107c38160f81c90565b600060208284031215613a0757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611b0557600080fd5b600080600060608486031215613a5e57600080fd5b83359250613a6e60208501613a37565b9150613a7c60408501613a37565b90509250925092565b60008060408385031215613a9857600080fd5b613aa183613a37565b9150613aaf60208401613a37565b90509250929050565b60008151808452602080850194506020840160005b83811015613ae957815187529582019590820190600101613acd565b509495945050505050565b6020815260006102426020830184613ab8565b600060208284031215613b1957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613b7d57613b7d613b4c565b5092915050565b61ffff818116838216019080821115613b7d57613b7d613b4c565b818103818111156101de576101de613b4c565b60006000198203613bc557613bc5613b4c565b5060010190565b808201808211156101de576101de613b4c565b600181815b80851115613c1a578160001904821115613c0057613c00613b4c565b80851615613c0d57918102915b93841c9390800290613be4565b509250929050565b600082613c31575060016101de565b81613c3e575060006101de565b8160018114613c545760028114613c5e57613c7a565b60019150506101de565b60ff841115613c6f57613c6f613b4c565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613c9d575081810a6101de565b613ca78383613bdf565b8060001904821115613cbb57613cbb613b4c565b029392505050565b600061024260ff841683613c22565b604051601f8201601f1916810167ffffffffffffffff81118282101715613cfb57613cfb613b20565b604052919050565b60006020808385031215613d1657600080fd5b825167ffffffffffffffff80821115613d2e57600080fd5b818501915085601f830112613d4257600080fd5b815181811115613d5457613d54613b20565b8060051b9150613d65848301613cd2565b8181529183018401918481019088841115613d7f57600080fd5b938501935b83851015613db3578451925063ffffffff83168314613da35760008081fd5b8282529385019390850190613d84565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613dec57613dec613dbf565b92169190910692915050565b600082613e0757613e07613dbf565b500690565b838152606060208201526000613e256060830185613ab8565b9050826040830152949350505050565b60005b83811015613e50578181015183820152602001613e38565b50506000910152565b600082601f830112613e6a57600080fd5b815167ffffffffffffffff811115613e8457613e84613b20565b613e976020601f19601f84011601613cd2565b818152846020838601011115613eac57600080fd5b610906826020830160208701613e35565b600080600060608486031215613ed257600080fd5b835167ffffffffffffffff80821115613eea57600080fd5b613ef687838801613e59565b9450602086015193506040860151915080821115613f1357600080fd5b50613f2086828701613e59565b9150509250925092565b838152606060208201526000613f436060830185613ab8565b905060ff83166040830152949350505050565b600060208284031215613f6857600080fd5b815167ffffffffffffffff811115613f7f57600080fd5b61090684828501613e59565b60008151808452613fa3816020860160208601613e35565b601f01601f19169290920160200192915050565b606081526000613fca6060830186613f8b565b60208301949094525060400152919050565b848152608060208201526000613ff56080830186613ab8565b60ff949094166040830152506060015292915050565b60006020828403121561401d57600080fd5b5051919050565b85815260a06020820152600061403d60a0830187613ab8565b828103604084015261404f8187613f8b565b90508460608401528281036080840152613db38185613f8b565b85815260a06020820152600061408260a0830187613ab8565b60ff86166040840152828103606084015261409d8186613f8b565b9150508260808301529695505050505050565b8481526080602082015260006140c96080830186613ab8565b60ff851660408401528281036060840152610ccb8185613f8b565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561412c5780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361414a5761414a613b4c565b60010192915050565b86815260c06020820152600061416c60c0830188613ab8565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a084015261419c8185613f8b565b9998505050505050505050565b8281526040602082015260006109066040830184613f8b565b80820281158282048414176101de576101de613b4c565b8281526000602080830184516020860160005b82811015614208578151845292840192908401906001016141ec565b5091979650505050505050565b6080815260006142286080830187613ab8565b828103602084015261423a8187613f8b565b90508460408401528281036060840152610ccb8185613f8b565b86815260c06020820152600061426d60c0830188613ab8565b828103604084015261427f8188613f8b565b905085606084015282810360808401526142998186613f8b565b9150508260a0830152979650505050505050565b6060815260006142c06060830186613ab8565b65ffffffffffff8516602084015282810360408401526142e08185613f8b565b9695505050505050565b8481526080602082015260006143036080830186613ab8565b65ffffffffffff851660408401528281036060840152610ccb8185613f8b565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613f8b565b64ffffffffff818116838216019080821115613b7d57613b7d613b4c565b87815260e06020820152600061439b60e0830189613ab8565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526143d28185613f8b565b9a9950505050505050505050565b60c0815260006143f360c0830189613ab8565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261419c8185613f8b565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614490816003860160208901613e35565b8084019050816003820152845191506144b0826004830160208801613e35565b0160040195945050505050565b6040815260006144d06040830185613f8b565b90506001600160a01b03831660208301529392505050565b600082516144fa818460208701613e35565b9190910192915050565b60008451614516818460208901613e35565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212202b5e29dbfa803d88011fc212a4e62b0f71ad7148c0a2b4481035589be4a16d4164736f6c63430008180033","sourceMap":"488:5013:110:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":4025,"length":20},{"start":4212,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046139f5565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e3366004613a49565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613a85565b610236565b6040516100ac9190613af4565b61012e610129366004613b07565b610249565b005b61012e61013e366004613a49565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee61121e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613b36565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b9250925092506107008383836112f8565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613b36565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613b36565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f73697469838361131b565b90506107c36107be82600084516113e2565b611470565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613b36565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611481565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613b36565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611481565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613b36565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e00000000000000008286868661153e565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115ef565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613b36565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613b36565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b604051602081830303815290604052611665565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613b36565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611481565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b925092509250610c5c8383836112f8565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613b62565b610c93565b610c938487613b62565b905060008361ffff168661ffff1611610cb557610cb08685613b62565b610cbf565b610cbf8487613b62565b9050610ccb8183613b84565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613b36565b602002602001015103610d5c576001915060008360018551610d269190613b9f565b81518110610d3657610d36613b36565b60200260200101519050610d4c88888484611717565b610d5688886117e2565b50610d6e565b80610d6681613bb2565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611882565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e37816118a0565b610e419083613bcc565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613b20565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb082611920565b905060005b8151811015610f0a57818181518110610ed057610ed0613b36565b6020026020010151858581518110610eea57610eea613b36565b602090810291909101015283610eff81613bb2565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613cc3565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613d03565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613d03565b90505b6110e2816000815181106110cf576110cf613b36565b602002602001015163ffffffff166119a7565b61110481600183516110f49190613b9f565b815181106110cf576110cf613b36565b60005b60068260008151811061111c5761111c613b36565b602002602001015161112e9190613dd5565b63ffffffff168110156112125761120984855184848151811061115357611153613b36565b602002602001015163ffffffff1661116b9190613df8565b8151811061117b5761117b613b36565b60200260200101518b8b6040516024016111ac9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611a1d565b50600101611107565b50505050505050505050565b60006101ee611acb565b6060600060606000611238611acb565b9050306001600160a01b0382160361126157611255878787611b0a565b935093509350506112ef565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd906112aa908a908a908a90600401613e0c565b600060405180830381865afa1580156112c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112559190810190613ebd565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60606000611327611acb565b9050306001600160a01b0382160361134c57611344858585611c12565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061139590889088908890600401613f2a565b600060405180830381865afa1580156113b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113449190810190613f56565b509392505050565b6000818311806113f25750835182115b1561142f578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613fb7565b6020840161143d8482613bcc565b9050600061144b8585613b9f565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611c4c565b60008061148c611acb565b9050306001600160a01b038216036114b2576114aa86868686611cc7565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114fd908990899089908990600401613fdc565b602060405180830381865afa15801561151a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa919061400b565b6000611548611acb565b9050306001600160a01b0382160361156c576115678686868686611cf4565b6115e7565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb906115b99089908990899089908990600401614024565b600060405180830381600087803b1580156115d357600080fd5b505af1158015611212573d6000803e3d6000fd5b505050505050565b60006115f9611acb565b9050306001600160a01b03821603611618576115678686868686611d0a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906115b99089908990899089908990600401614069565b600061166f611acb565b9050306001600160a01b038216036116925761168d85858585611d1f565b611710565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906116dd9088908890889088906004016140b0565b600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061175357611753613b36565b6020026020010181815250508361ffff1660001b8160018151811061177a5761177a613b36565b60200260200101818152505060008260405160200161179b91815260200190565b60405160208183030381529060405290506115e77f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611d5a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b8160008151811061181e5761181e613b36565b6020026020010181815250508161ffff1660001b8160018151811061184557611845613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611e13565b60006107c36118918685611e86565b61189b8685611e86565b611ea8565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106118dc576118dc613b36565b602090810291909101015260006119147f746255440000000000000000000000004d6f627342794c6576656c00000000008383611ebf565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061195d5761195d613b36565b602090810291909101015260006119957f746255440000000000000000000000004d6f627342794c6576656c0000000000838361131b565b90506109066107be82600084516113e2565b611a1a816040516024016119bd91815260200190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff82c50f100000000000000000000000000000000000000000000000000000000179052611f71565b50565b6060600080611a33611a2e856140e4565b611f7a565b91509150816000801b03611a99576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610906828561203d565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611b05573391505090565b919050565b6060600060606000611b1b85612118565b9050611b2887878361213b565b93506000611b3586612174565b90508015611c0757611b4788886121b1565b935066ffffffffffffff841667ffffffffffffffff811115611b6b57611b6b613b20565b6040519080825280601f01601f191660200182016040528015611b95576020820181803683370190505b5092506020830160005b828160ff161015611c04576000611bb78b8b846121c4565b90506000611bd4888460ff166028026038011c64ffffffffff1690565b9050611be38260008387612244565b611bed8185613bcc565b935050508080611bfc90614134565b915050611b9f565b50505b505093509350939050565b6060610906611c228585856121c4565b6000611c4785611c3289896121b1565b9060ff166028026038011c64ffffffffff1690565b612310565b60606000611c5a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611c8057611c80613dbf565b04905060405193506020840160208202810160405281855260005b82811015611cbb578451871c825293870193602090910190600101611c9b565b50505050509392505050565b60006107c3611cd68686612333565b60ff858116601b0360080285901c16611cef8587612389565b6123ba565b6117108585858585611d058b61240b565b612490565b6117108585611d198487612389565b856127c9565b6000611d2b85856121b1565b90506000611d48828560ff166028026038011c64ffffffffff1690565b90506115e78686868460008888612a64565b6000611d64611acb565b9050306001600160a01b03821603611d8957611d84878787878787612e9e565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611dd8908a908a908a908a908a908a90600401614153565b600060405180830381600087803b158015611df257600080fd5b505af1158015611e06573d6000803e3d6000fd5b5050505050505050505050565b6000611e1d611acb565b9050306001600160a01b03821603611e3b5761168d85858585612eb6565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a04906116dd908890889088908890600401613fdc565b6000818311611e9e57611e998383613b9f565b610242565b6102428284613b9f565b600081831015611eb85781610242565b5090919050565b600080611eca611acb565b9050306001600160a01b03821603611ee757611344858585612f0f565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611f3090889088908890600401613f2a565b602060405180830381865afa158015611f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611344919061400b565b611a1a81612f1f565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fd357611fd3613b36565b60209081029190910101526000808061202c7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611228565b925092509250610700838383612f40565b6060600061204961121e565b90506001600160a01b038116300361208a57600061207161206861062a565b60008787612f4c565b93509050806120835761208383613087565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120d190879087906004016141a9565b6000604051808303816000875af11580156120f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613f56565b6000600861212860026020613b9f565b61213291906141c2565b9190911c919050565b60608160000361215a5750604080516020810190915260008152610242565b60006121668585612333565b90506107c381600085612310565b6000600860018061218760026020613b9f565b6121919190613b9f565b61219b9190613b9f565b6121a591906141c2565b8260ff911c1692915050565b60006102426121c0848461308f565b5490565b600083836040516020016121d99291906141d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156122cb576020831061226e5760208304840193506020838161226a5761226a613dbf565b0692505b82156122cb5760208390036000818410156122915750600019600884021c61229b565b50600019600882021c5b8554600886021b8184511682198216178452508184116122bc575050610b54565b50600194909401939182900391015b5b602082106122ed5783548152600190930192601f19909101906020016122cc565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f84840101166040528282526113da85858584612244565b600082826040516020016123489291906141d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156113da576123b060ff601b83900360080287901c1683613bcc565b915060010161238e565b6000602082106123e0576020820484019350602082816123dc576123dc613dbf565b0691505b508254600882021b6020829003808411156113da576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161245a57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6124877f746273746f72650000000000000000005461626c657300000000000000000000846130e5565b602060006123ba565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361251c57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161250f9493929190614215565b60405180910390a26115e7565b600061252787613101565b905060005b815181101561260057600082828151811061254957612549613b36565b602002602001015190506125756001826affffffffffffffffffffff191661318a90919063ffffffff16565b156125f7576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906125c4908c908c908c908c908c908c90600401614254565b600060405180830381600087803b1580156125de57600080fd5b505af11580156125f2573d6000803e3d6000fd5b505050505b5060010161252c565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516126379493929190614215565b60405180910390a2600061264b8888612333565b905060006020870190506126638260008951846131a8565b600061266e85612174565b11156126f25760006126808a8a61308f565b878155905060208601915060008060005b61269a88612174565b8160ff1610156126ed576126af8d8d836121c4565b92506126ca8a8260ff166028026038011c64ffffffffff1690565b91506126d983600084886131a8565b6126e38286613bcc565b9450600101612691565b505050505b60005b835181101561121257600084828151811061271257612712613b36565b6020026020010151905061273e6002826affffffffffffffffffffff191661318a90919063ffffffff16565b156127c0576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061278d908e908e908e908e908e908e90600401614254565b600060405180830381600087803b1580156127a757600080fd5b505af11580156127bb573d6000803e3d6000fd5b505050505b506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361285357837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612846939291906142ad565b60405180910390a2610b54565b600061285f8585612333565b9050600061286c86613101565b905060005b815181101561294157600082828151811061288e5761288e613b36565b602002602001015190506128ba6004826affffffffffffffffffffff191661318a90919063ffffffff16565b15612938576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612905908b908b908b908b906004016142ea565b600060405180830381600087803b15801561291f57600080fd5b505af1158015612933573d6000803e3d6000fd5b505050505b50600101612871565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612976939291906142ad565b60405180910390a2612991828565ffffffffffff1685613267565b60005b81518110156109cd5760008282815181106129b1576129b1613b36565b602002602001015190506129dd6008826affffffffffffffffffffff191661318a90919063ffffffff16565b15612a5b576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a28908b908b908b908b906004016142ea565b600060405180830381600087803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b505050505b50600101612994565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612b24577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ae291815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614323565b6000612b3f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612b589190613b9f565b612b629190613bcc565b9050808214158015612b84575081612b7a8688614364565b64ffffffffff1614155b15612bd4576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612c25576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612c3284898461327d565b90506000612c3f8b613101565b905060005b8151811015612d0a576000828281518110612c6157612c61613b36565b60200260200101519050612c8d6010826affffffffffffffffffffff191661318a90919063ffffffff16565b15612d0157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612cce9796959493929190614382565b600060405180830381600087803b158015612ce857600080fd5b505af1158015612cfc573d6000803e3d6000fd5b505050505b50600101612c44565b5064ffffffffff881660005b8a60ff168160ff161015612d4957612d3d878260ff166028026038011c64ffffffffff1690565b90910190600101612d16565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d84969594939291906143e0565b60405180910390a250828414612da5576000612da08c8c61308f565b839055505b6000612db28c8c8c6121c4565b9050612dc6818a64ffffffffff1689613267565b5060005b8151811015612e90576000828281518110612de757612de7613b36565b60200260200101519050612e136020826affffffffffffffffffffff191661318a90919063ffffffff16565b15612e8757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e549796959493929190614382565b600060405180830381600087803b158015612e6e57600080fd5b505af1158015612e82573d6000803e3d6000fd5b505050505b50600101612dca565b505050505050505050505050565b6115e7868686868686612eb18d8d6121b1565b612a64565b6000612ec285856121b1565b90506000612edf828560ff166028026038011c64ffffffffff1690565b90506115e7868686612ef88764ffffffffff8716613b9f565b604080516000815260208101909152889088612a64565b600061090682611c3286866121b1565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60008061130f8561334b565b60006060600080612f5c86613360565b90925090506001600160a01b038216612fad5785612f7987613404565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906141a9565b80612fbc57612fbc8689613541565b8615613028577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e730000000000000000000000000000000000000000000000000000000000001760006130108261358d565b9050613025826130208b84613bcc565b61361e565b50505b60006130348760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461306c57613067888884886136d2565b613078565b6130788888848861374a565b90999098509650505050505050565b805160208201fd5b600082826040516020016130a49291906141d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001612348565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061313b5761313b613b36565b602090810291909101015260006131737f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611c12565b905061090661318582600084516113e2565b6137ab565b60008160ff168261319b8560581c90565b1660ff1614905092915050565b821561322257602083106131d2576020830484019350602083816131ce576131ce613dbf565b0692505b82156132225760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613213575050610b54565b50600194909401939182900391015b5b602082106132445780518455600190930192601f1990910190602001613223565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f838383516132788560200190565b6131a8565b600064ffffffffff8211156132c1576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106132f357808503820191506132fb565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061339a5761339a613b36565b6020908102919091010152600080806133f37f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611b0a565b9250925092506107008383836137bc565b606081601081901b6000613417836137c8565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156134725761346d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166137df565b6134a9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156134df576134da836137df565b613516565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016135289392919061442f565b6040516020818303038152906040529350505050919050565b61354b8282613883565b6103615761355882613404565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906144bd565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106135c6576135c6613b36565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611cc7565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061365457613654613b36565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161369d91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611d0a565b60006060836001600160a01b031660006136ed8589896138e1565b6040516136fa91906144e8565b60006040518083038185875af1925050503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606091505b509097909650945050505050565b60006060836001600160a01b03166137638488886138e1565b60405161377091906144e8565b600060405180830381855af49150503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606060006102428360156000611c4c565b60008061130f85613910565b60006137d660706010613bcc565b9190911b919050565b606060005b6010811015613844577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613844576001016137e4565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006138d17f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361392c565b806102425750610242838361392c565b60608383836040516020016138f893929190614504565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c613359565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061396557613965613b36565b602002602001018181525050826001600160a01b031660001b8160018151811061399157613991613b36565b602090810291909101015260006139e97f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611cc7565b90506107c38160f81c90565b600060208284031215613a0757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611b0557600080fd5b600080600060608486031215613a5e57600080fd5b83359250613a6e60208501613a37565b9150613a7c60408501613a37565b90509250925092565b60008060408385031215613a9857600080fd5b613aa183613a37565b9150613aaf60208401613a37565b90509250929050565b60008151808452602080850194506020840160005b83811015613ae957815187529582019590820190600101613acd565b509495945050505050565b6020815260006102426020830184613ab8565b600060208284031215613b1957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613b7d57613b7d613b4c565b5092915050565b61ffff818116838216019080821115613b7d57613b7d613b4c565b818103818111156101de576101de613b4c565b60006000198203613bc557613bc5613b4c565b5060010190565b808201808211156101de576101de613b4c565b600181815b80851115613c1a578160001904821115613c0057613c00613b4c565b80851615613c0d57918102915b93841c9390800290613be4565b509250929050565b600082613c31575060016101de565b81613c3e575060006101de565b8160018114613c545760028114613c5e57613c7a565b60019150506101de565b60ff841115613c6f57613c6f613b4c565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613c9d575081810a6101de565b613ca78383613bdf565b8060001904821115613cbb57613cbb613b4c565b029392505050565b600061024260ff841683613c22565b604051601f8201601f1916810167ffffffffffffffff81118282101715613cfb57613cfb613b20565b604052919050565b60006020808385031215613d1657600080fd5b825167ffffffffffffffff80821115613d2e57600080fd5b818501915085601f830112613d4257600080fd5b815181811115613d5457613d54613b20565b8060051b9150613d65848301613cd2565b8181529183018401918481019088841115613d7f57600080fd5b938501935b83851015613db3578451925063ffffffff83168314613da35760008081fd5b8282529385019390850190613d84565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613dec57613dec613dbf565b92169190910692915050565b600082613e0757613e07613dbf565b500690565b838152606060208201526000613e256060830185613ab8565b9050826040830152949350505050565b60005b83811015613e50578181015183820152602001613e38565b50506000910152565b600082601f830112613e6a57600080fd5b815167ffffffffffffffff811115613e8457613e84613b20565b613e976020601f19601f84011601613cd2565b818152846020838601011115613eac57600080fd5b610906826020830160208701613e35565b600080600060608486031215613ed257600080fd5b835167ffffffffffffffff80821115613eea57600080fd5b613ef687838801613e59565b9450602086015193506040860151915080821115613f1357600080fd5b50613f2086828701613e59565b9150509250925092565b838152606060208201526000613f436060830185613ab8565b905060ff83166040830152949350505050565b600060208284031215613f6857600080fd5b815167ffffffffffffffff811115613f7f57600080fd5b61090684828501613e59565b60008151808452613fa3816020860160208601613e35565b601f01601f19169290920160200192915050565b606081526000613fca6060830186613f8b565b60208301949094525060400152919050565b848152608060208201526000613ff56080830186613ab8565b60ff949094166040830152506060015292915050565b60006020828403121561401d57600080fd5b5051919050565b85815260a06020820152600061403d60a0830187613ab8565b828103604084015261404f8187613f8b565b90508460608401528281036080840152613db38185613f8b565b85815260a06020820152600061408260a0830187613ab8565b60ff86166040840152828103606084015261409d8186613f8b565b9150508260808301529695505050505050565b8481526080602082015260006140c96080830186613ab8565b60ff851660408401528281036060840152610ccb8185613f8b565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561412c5780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361414a5761414a613b4c565b60010192915050565b86815260c06020820152600061416c60c0830188613ab8565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a084015261419c8185613f8b565b9998505050505050505050565b8281526040602082015260006109066040830184613f8b565b80820281158282048414176101de576101de613b4c565b8281526000602080830184516020860160005b82811015614208578151845292840192908401906001016141ec565b5091979650505050505050565b6080815260006142286080830187613ab8565b828103602084015261423a8187613f8b565b90508460408401528281036060840152610ccb8185613f8b565b86815260c06020820152600061426d60c0830188613ab8565b828103604084015261427f8188613f8b565b905085606084015282810360808401526142998186613f8b565b9150508260a0830152979650505050505050565b6060815260006142c06060830186613ab8565b65ffffffffffff8516602084015282810360408401526142e08185613f8b565b9695505050505050565b8481526080602082015260006143036080830186613ab8565b65ffffffffffff851660408401528281036060840152610ccb8185613f8b565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613f8b565b64ffffffffff818116838216019080821115613b7d57613b7d613b4c565b87815260e06020820152600061439b60e0830189613ab8565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526143d28185613f8b565b9a9950505050505050505050565b60c0815260006143f360c0830189613ab8565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261419c8185613f8b565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614490816003860160208901613e35565b8084019050816003820152845191506144b0826004830160208801613e35565b0160040195945050505050565b6040815260006144d06040830185613f8b565b90506001600160a01b03831660208301529392505050565b600082516144fa818460208701613e35565b9190910192915050565b60008451614516818460208901613e35565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212202b5e29dbfa803d88011fc212a4e62b0f71ad7148c0a2b4481035589be4a16d4164736f6c63430008180033","sourceMap":"488:5013:110:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:50;;;;;;:::i;:::-;;:::i;:::-;;;516:14:111;;509:22;491:41;;479:2;464:18;2331:198:50;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:111;;;689:74;;677:2;662:18;1262:113:50;543:226:111;1937:239:110;;;;;;:::i;:::-;;:::i;1616:110:50:-;;;-1:-1:-1;;3800:14:50;3796:25;3783:39;1413:25:111;;1401:2;1386:18;1616:110:50;1267:177:111;1762:169:110;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1356:400::-;;;;;;:::i;:::-;;:::i;:::-;;557:793;;;;;;:::i;:::-;;:::i;1942:98:50:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:50;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:50:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1937:239:110:-;2018:18;2049:8;2059;2071:22;2084:8;2071:12;:22::i;:::-;2048:45;;;;2112:1;2107:6;;:1;:6;;;:16;;;;;2122:1;2117:6;;:1;:6;;;2107:16;2103:67;;;2155:4;2139:20;;2103:67;2038:138;;1937:239;;;;;:::o;1762:169::-;1834:35;1888:36;1919:1;1922;1888:30;:36::i;:::-;1881:43;1762:169;-1:-1:-1;;;1762:169:110:o;1356:400::-;1406:13;1422:29;1442:8;1422:19;:29::i;:::-;1406:45;;1485:5;-1:-1:-1;;;;;1469:21:110;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1469:21:110;;1461:70;;;;-1:-1:-1;;;1461:70:110;;2807:2:111;1461:70:110;;;2789:21:111;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1461:70:110;;;;;;;;;1551:28;1570:8;1551:18;:28::i;:::-;1550:29;1542:67;;;;-1:-1:-1;;;1542:67:110;;3212:2:111;1542:67:110;;;3194:21:111;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1542:67:110;3010:349:111;1542:67:110;1620:28;1633:8;1643:1;1646;1620:12;:28::i;:::-;1658:34;1677:8;1687:4;1658:18;:34::i;:::-;1702:47;1734:1;1737;1740:8;1702:31;:47::i;:::-;1396:360;1356:400;:::o;557:793::-;626:13;642:29;662:8;642:19;:29::i;:::-;626:45;;705:5;-1:-1:-1;;;;;689:21:110;:12;:10;:12::i;:::-;-1:-1:-1;;;;;689:21:110;;681:69;;;;-1:-1:-1;;;681:69:110;;3566:2:111;681:69:110;;;3548:21:111;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;681:69:110;3364:399:111;681:69:110;768:28;787:8;768:18;:28::i;:::-;760:62;;;;-1:-1:-1;;;760:62:110;;3970:2:111;760:62:110;;;3952:21:111;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;760:62:110;3768:345:111;760:62:110;888:1;840:36;867:8;840:26;:36::i;:::-;:50;832:97;;;;-1:-1:-1;;;832:97:110;;4320:2:111;832:97:110;;;4302:21:111;4359:2;4339:18;;;4332:30;4398:34;4378:18;;;4371:62;4469:4;4449:18;;;4442:32;4491:19;;832:97:110;4118:398:111;832:97:110;941:15;958;977:22;990:8;977:12;:22::i;:::-;940:59;;;;1010:13;1025:12;1041:15;:13;:15::i;:::-;1009:47;;;;1079:5;1075:9;;:1;:9;;;1067:37;;;;-1:-1:-1;;;1067:37:110;;4723:2:111;1067:37:110;;;4705:21:111;4762:2;4742:18;;;4735:30;4801:17;4781:18;;;4774:45;4836:18;;1067:37:110;4521:339:111;1067:37:110;1126:6;1122:10;;:1;:10;;;1114:38;;;;-1:-1:-1;;;1114:38:110;;5067:2:111;1114:38:110;;;5049:21:111;5106:2;5086:18;;;5079:30;5145:17;5125:18;;;5118:45;5180:18;;1114:38:110;4865:339:111;1114:38:110;1170:43;1188:8;1198;1208:1;1211;1170:17;:43::i;:::-;:48;;1217:1;1170:48;1162:91;;;;-1:-1:-1;;;1162:91:110;;5411:2:111;1162:91:110;;;5393:21:111;5450:2;5430:18;;;5423:30;5489:32;5469:18;;;5462:60;5539:18;;1162:91:110;5209:354:111;1162:91:110;1263:47;1275:8;1285;1295;1305:1;1308;1263:11;:47::i;:::-;1320:23;1338:1;1341;1320:17;:23::i;:::-;616:734;;;;;557:793;;;:::o;1942:98:50:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:50;3325:45;2992:383;:::o;4891:393:90:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:90;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:81:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:81;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:81:o;4071:290:77:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:77;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:77:o;2592:291:93:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:93;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:93:o;5796:354:90:-;7947:22;;;16546:3:111;16542:16;;;16451:66;16538:25;;;7947:22:90;;;;16526:38:111;;;;16597:16;;;;16593:25;16580:11;;;16573:46;7947:22:90;;;;;;;;;6023:1;16635:11:111;;;6009:16:90;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:90;;-1:-1:-1;;6023:1:90;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:90;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:93:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:93;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;6097:14:111;6090:22;6085:3;6081:32;6069:45;;6139:1;6130:11;;5946:201;4107:27:93;;;;-1:-1:-1;;4107:27:93;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:81:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:81;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;9759:28:81;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;2779:297:85:-;2905:16;;;2919:1;2905:16;;;;;;;;;2849:19;;;;2905:16;;;;;;;;;;;;-1:-1:-1;2905:16:85;2876:45;;2942:13;2927:9;2937:1;2927:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;2962:13;2978:64;1157:66;3015:9;2962:13;1286:66;2978:26;:64::i;4657:361:84:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;3880:279:110:-;3982:6;4000:13;4024:3;4016:11;;:5;:11;;;:39;;4044:11;4050:5;4044:3;:11;:::i;:::-;4016:39;;;4030:11;4038:3;4030:5;:11;:::i;:::-;4000:55;;4065:13;4089:3;4081:11;;:5;:11;;;:39;;4109:11;4115:5;4109:3;:11;:::i;:::-;4081:39;;;4095:11;4103:3;4095:5;:11;:::i;:::-;4065:55;-1:-1:-1;4137:15:110;4065:55;4137:6;:15;:::i;:::-;4130:22;3880:279;-1:-1:-1;;;;;;;3880:279:110:o;4662:837::-;4774:25;4802:41;4824:8;4834;4802:21;:41::i;:::-;4774:69;;4853:24;4892:9;4887:438;4907:8;:15;4903:1;:19;4887:438;;;4958:8;4943;4952:1;4943:11;;;;;;;;:::i;:::-;;;;;;;:23;4939:327;;5008:4;4986:26;;5030:15;5048:8;5075:1;5057:8;:15;:19;;;;:::i;:::-;5048:29;;;;;;;;:::i;:::-;;;;;;;5030:47;;5095:65;5129:8;5139;5149:1;5152:7;5095:33;:65::i;:::-;5178:50;5209:8;5219;5178:30;:50::i;:::-;5246:5;;;4939:327;5297:3;;;;:::i;:::-;;;;4887:438;;;;5342:19;5334:63;;;;-1:-1:-1;;;5334:63:110;;7412:2:111;5334:63:110;;;7394:21:111;7451:2;7431:18;;;7424:30;7490:33;7470:18;;;7463:61;7541:18;;5334:63:110;7210:355:111;5334:63:110;5407:28;5420:8;5430:1;5433;5407:12;:28::i;:::-;5445:47;5477:1;5480;5483:8;5445:31;:47::i;2182:1692::-;2248:24;2283:30;2302:1;2305;2308;2283:30;;2311:1;2283:30;;:18;:30::i;:::-;2275:39;;2248:66;;2328:16;2348:1;2328:21;2324:58;;2365:7;2182:1692;;:::o;2324:58::-;2392:16;2422:14;2474:1;2455:16;:20;2451:163;;;-1:-1:-1;2504:1:110;;-1:-1:-1;2530:1:110;2451:163;;;-1:-1:-1;2575:1:110;;-1:-1:-1;2601:2:110;2451:163;2624:17;2660:22;;;2655:113;2688:8;2684:12;;:1;:12;2655:113;;;2730:27;2755:1;2730:24;:27::i;:::-;2717:40;;;;:::i;:::-;;-1:-1:-1;2698:3:110;;2655:113;;;;2778:34;2829:9;2815:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2815:24:110;-1:-1:-1;2778:61:110;-1:-1:-1;2849:13:110;2882:22;;;2877:274;2910:8;2906:12;;:1;:12;2877:274;;;2939:23;2965:24;2987:1;2965:21;:24::i;:::-;2939:50;;3008:9;3003:138;3027:6;:13;3023:1;:17;3003:138;;;3092:6;3099:1;3092:9;;;;;;;;:::i;:::-;;;;;;;3065:17;3083:5;3065:24;;;;;;;;:::i;:::-;;;;;;;;;;:36;3119:7;;;;:::i;:::-;;-1:-1:-1;;3042:3:110;;3003:138;;;-1:-1:-1;;2920:3:110;;2877:274;;;;3204:1;3177:17;:24;:28;3169:80;;;;-1:-1:-1;;;3169:80:110;;7902:2:111;3169:80:110;;;7884:21:111;7941:2;7921:18;;;7914:30;7980:34;7960:18;;;7953:62;8051:9;8031:18;;;8024:37;8078:19;;3169:80:110;7700:403:111;3169:80:110;3260:19;3344:13;3361:5;3344:22;3340:176;;3388:9;:20;3409;3428:1;3409:15;:20;:::i;:::-;3388:42;;;;;;;;;;;;;1413:25:111;;1401:2;1386:18;;1267:177;3388:42:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3388:42:110;;;;;;;;;;;;:::i;:::-;3382:48;;3340:176;;;3467:38;;;;;3488:16;3467:38;;;1413:25:111;3467:9:110;;:20;;1386:18:111;;3467:38:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3467:38:110;;;;;;;;;;;;:::i;:::-;3461:44;;3340:176;3525:24;3542:3;3546:1;3542:6;;;;;;;;:::i;:::-;;;;;;;3525:24;;:16;:24::i;:::-;3559:37;3576:3;3593:1;3580:3;:10;:14;;;;:::i;:::-;3576:19;;;;;;;;:::i;3559:37::-;3612:9;3607:261;3637:1;3628:3;3632:1;3628:6;;;;;;;;:::i;:::-;;;;;;;:10;;;;:::i;:::-;3623:16;;:1;:16;3607:261;;;3660:197;3757:17;3792;:24;3783:3;3787:1;3783:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;3757:61;;;;;;;;:::i;:::-;;;;;;;3820:1;3823;3695:148;;;;;;;;;11941:25:111;;;11985:6;12027:15;;;12022:2;12007:18;;12000:43;12079:15;12074:2;12059:18;;12052:43;11929:2;11914:18;;11743:358;3695:148:110;;;;-1:-1:-1;;3695:148:110;;;;;;;;;;;;;;;;;;;;3660:17;:197::i;:::-;-1:-1:-1;3641:3:110;;3607:261;;;;2238:1636;;;;;;;2182:1692;;:::o;4048:97:50:-;4089:7;4111:29;:27;:29::i;15347:431:24:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:24;-1:-1:-1;;;;;15578:30:24;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:24;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:24;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:90:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7131:8:90;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:90;-1:-1:-1;;;;7036:160:90:o;18598:431:24:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:24;-1:-1:-1;;;;;18805:30:24;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:24;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:24;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:21:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:21;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:21:o;45284:220:34:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:24:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:24;-1:-1:-1;;;;;17998:30:24;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:24;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:24;-1:-1:-1;;;;;6696:30:24;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:24;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:242;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:24;-1:-1:-1;;;;;10984:30:24;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:24;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:24;-1:-1:-1;;;;;12556:30:24;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:24;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:81:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:81;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;12402:28:81;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:81;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;4242:179:110:-;4341:6;4373:40;4378:16;4387:2;4391;4378:8;:16::i;:::-;4396;4405:2;4409;4396:8;:16::i;:::-;4373:4;:40::i;5306:308:87:-;5410:16;;;5424:1;5410:16;;;;;;;;;5366:7;;;;5410:16;;;;;;;;;;;;-1:-1:-1;5410:16:87;5381:45;;5463:5;5447:23;;5432:9;5442:1;5432:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;5477:19;5499:57;1071:66;5543:9;5477:19;5499:33;:57::i;:::-;5601:2;5587:16;;;;-1:-1:-1;;;;5306:308:87:o;2600:342::-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:87;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;1617:120:70:-;1670:60;1726:2;1686:43;;;;;;1413:25:111;;1401:2;1386:18;;1267:177;1686:43:70;;;;-1:-1:-1;;1686:43:70;;;;;;;;;;;;;;;;;;;;1670:15;:60::i;:::-;1617:120;:::o;3318:662:38:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;19330:98:111;19303:18;;3713:52:38;19186:248:111;3668:97:38;1759:4:1;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:38;3900:8;3936;3883:4;:92::i;1836:227:24:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:24;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:24:o;32759:1315:23:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:23;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:2;;;33532:33:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:23;-1:-1:-1;33518:47:23;-1:-1:-1;894:4:18;884:15;;33573:21:23;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:23;33808:25;:14;33831:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:23;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:23;37440:12;:257::i;2681:1129:36:-;2801:22;2831:21;2855;:11;2997:3:21;2975:25;;2901:104;2855:21:36;2831:45;-1:-1:-1;692:17:21;3238:38;;2882:20:36;3044:11;3238:38:21;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:23:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:3;:27;579:1:30;4322:44:3;4288:79;;;4275:93;36635:63:23;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:23;29171:49;29023:106;29202:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:23;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:24:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:24;-1:-1:-1;;;;;8464:30:24;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:24;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:24;-1:-1:-1;;;;;13402:30:24;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:24;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;4427:117:110:-;4490:7;4520:1;4516;:5;:21;;4532:5;4536:1;4532;:5;:::i;:::-;4516:21;;;4524:5;4528:1;4524;:5;:::i;4550:106::-;4609:7;4640:1;4635;:6;;:14;;4648:1;4635:14;;;-1:-1:-1;4644:1:110;;4550:106;-1:-1:-1;4550:106:110:o;21091:444:24:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:24;-1:-1:-1;;;;;21299:30:24;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;21295:236::-;21443:81;;;;;-1:-1:-1;;;;;21443:43:24;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;868:133:70:-;939:55;986:7;965:19;939:55::i;5805:471:60:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:60;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:38:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:38;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:38;-1:-1:-1;2409:177:38;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:38;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:38;;;;;;;;;;;;:::i;4598:171:3:-;4672:7;579:1:30;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:3;;;;;4598:171;-1:-1:-1;4598:171:3:o;48823:360:23:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:23;;;;;;;;;-1:-1:-1;48986:9:23;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:3:-;5451:7;579:1:30;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:3;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:3:o;53939:303:23:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:22;;4605:137;52742:274:23;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:22:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:22;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:22;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:22;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:22;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:22;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:23:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:23;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:23:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:3;4323:19;:27;;;579:1:30;4322:44:3;4288:79;;;4275:93;52003:32:23;;:::i;:::-;;-1:-1:-1;51990:3:23;;51958:84;;8945:812:22;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:22;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:23:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:29;;4015:652:23;-1:-1:-1;4015:652:23:o;4314:111::-;4469:185;4515:85;1213:66:29;4591:7:23;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:32;13976:4:23;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:4;;;;;14021:47:23;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:23;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:23;894:4:18;884:15;;14520:54:23;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:22;;;14915:102:23;-1:-1:-1;894:4:18;884:15;;15191:47:23;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:23;:14;15615:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:23;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:23;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:32;16125:4:23;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:4;;;;;16169:46:23;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:23;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:32;17798:4:23;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:4;;;;;17851:54:23;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:23;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:32;18455:4:23;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:4;;;;;18507:53:23;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:23;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;44775:25:23;;;;-1:-1:-1;;44775:25:23;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:23;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:23;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26067:12:111;26106:15;;;45340:92:23;;;26088:34:111;26158:15;;;26138:18;;;26131:43;26210:15;;26190:18;;;26183:43;26030:18;;45340:92:23;25861:371:111;45221:218:23;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26410:25:111;;;26483:12;26471:25;;26451:18;;;26444:53;26383:18;;45581:74:23;26237:266:111;45522:140:23;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:32;46104:4:23;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:4;;;;-1:-1:-1;;;;;46158:55:23;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:23;;46014:486;;;-1:-1:-1;46558:32:23;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:23;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:22;;;-1:-1:-1;47216:248:23;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:32;47858:4:23;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:4;;;;-1:-1:-1;;;;;47911:54:23;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:23;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:23;30643:49;30495:106;30674:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:23;30607:86;-1:-1:-1;30731:333:23;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;1007:380:70:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;8363:236:60:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:49:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:49;-1:-1:-1;;;;;;2067:27:49;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:51;2955:46;;696:18:69;2954:74:51;2432:22:49;2515:26;2954:74:51;2515:13:49;:26::i;:::-;2490:51;-1:-1:-1;2549:50:49;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:19;2637:44:51;;2539:148;2681:23:49;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:49;-1:-1:-1;;;;;;;1761:1386:49:o;348:217:67:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:23;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:23;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:23:o;51249:282::-;51494:30;;;;;;28718:19:111;;;28753:12;;;28746:28;;;51337:7:23;;28790:12:111;;51494:30:23;28530:278:111;3658:342:28;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:28;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:22:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:22;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:22;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:22;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:22;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:22;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:22;1055:5;:68::i;7468:1525:2:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:111;;;1386:18;;7664:67:2;1267:177:111;7618:120:2;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:2;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:2;;;;;:::o;7963:242:60:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;8028:19:60;;8173:26;8147:53;;7963:242;;;:::o;5928:433:64:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:64;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:51:-;3550:13;3620:10;451:5:19;2637:44:51;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:51;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:39:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:59:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:59;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:59;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;5279:27:59;;;;-1:-1:-1;;5279:27:59;;;;;;;;;1286:66;5230:24;:91::i;5594:317:50:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:50;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:50;;;;-1:-1:-1;5594:317:50;-1:-1:-1;;;;;5594:317:50:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:50;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:34;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:64:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:51:-;3228:7;3292:26;438:6;451:5:19;3292:26:51;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:51:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:1;3257:13;;3253:24;2007:42:51;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30719:66:111;30707:79;;2092:30:51;;;30695:92:111;2092:30:51;;30803:12:111;;;;2092:30:51;;;875:21:1;;;2092:30:51;2142:39;760:164:1;955:327:39;1036:4;1178:56;696:18:69;578:36:51;2955:46;;2954:74;1227:6:39;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:50:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:64:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7564:35:64;;;;;;7513:14;;7631:33;;7623:42;6914:97:93;4006:378:62;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:62;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:62;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:93;6914:97;14:332:111;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:111;;1710:439;-1:-1:-1;;;;;1710:439:111:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:111;;2420:180;-1:-1:-1;2420:180:111:o;5568:184::-;-1:-1:-1;;;5617:1:111;5610:88;5717:4;5714:1;5707:15;5741:4;5738:1;5731:15;5757:184;-1:-1:-1;;;5806:1:111;5799:88;5906:4;5903:1;5896:15;5930:4;5927:1;5920:15;6339:184;-1:-1:-1;;;6388:1:111;6381:88;6488:4;6485:1;6478:15;6512:4;6509:1;6502:15;6528:171;6596:6;6635:10;;;6623;;;6619:27;;6658:12;;;6655:38;;;6673:18;;:::i;:::-;6655:38;6528:171;;;;:::o;6704:168::-;6771:6;6797:10;;;6809;;;6793:27;;6832:11;;;6829:37;;;6846:18;;:::i;6877:128::-;6944:9;;;6965:11;;;6962:37;;;6979:18;;:::i;7010:195::-;7049:3;-1:-1:-1;;7073:5:111;7070:77;7067:103;;7150:18;;:::i;:::-;-1:-1:-1;7197:1:111;7186:13;;7010:195::o;7570:125::-;7635:9;;;7656:10;;;7653:36;;;7669:18;;:::i;8108:476::-;8197:1;8234:5;8197:1;8248:330;8269:7;8259:8;8256:21;8248:330;;;8388:4;-1:-1:-1;;8316:77:111;8310:4;8307:87;8304:113;;;8397:18;;:::i;:::-;8447:7;8437:8;8433:22;8430:55;;;8467:16;;;;8430:55;8546:22;;;;8506:15;;;;8248:330;;;8252:3;8108:476;;;;;:::o;8589:866::-;8638:5;8668:8;8658:80;;-1:-1:-1;8709:1:111;8723:5;;8658:80;8757:4;8747:76;;-1:-1:-1;8794:1:111;8808:5;;8747:76;8839:4;8857:1;8852:59;;;;8925:1;8920:130;;;;8832:218;;8852:59;8882:1;8873:10;;8896:5;;;8920:130;8957:3;8947:8;8944:17;8941:43;;;8964:18;;:::i;:::-;-1:-1:-1;;9020:1:111;9006:16;;9035:5;;8832:218;;9134:2;9124:8;9121:16;9115:3;9109:4;9106:13;9102:36;9096:2;9086:8;9083:16;9078:2;9072:4;9069:12;9065:35;9062:77;9059:159;;;-1:-1:-1;9171:19:111;;;9203:5;;9059:159;9250:34;9275:8;9269:4;9250:34;:::i;:::-;9380:6;-1:-1:-1;;9308:79:111;9299:7;9296:92;9293:118;;;9391:18;;:::i;:::-;9429:20;;8589:866;-1:-1:-1;;;8589:866:111:o;9460:140::-;9518:5;9547:47;9588:4;9578:8;9574:19;9568:4;9547:47;:::i;9795:334::-;9866:2;9860:9;9922:2;9912:13;;-1:-1:-1;;9908:86:111;9896:99;;10025:18;10010:34;;10046:22;;;10007:62;10004:88;;;10072:18;;:::i;:::-;10108:2;10101:22;9795:334;;-1:-1:-1;9795:334:111:o;10134:1110::-;10228:6;10259:2;10302;10290:9;10281:7;10277:23;10273:32;10270:52;;;10318:1;10315;10308:12;10270:52;10351:9;10345:16;10380:18;10421:2;10413:6;10410:14;10407:34;;;10437:1;10434;10427:12;10407:34;10475:6;10464:9;10460:22;10450:32;;10520:7;10513:4;10509:2;10505:13;10501:27;10491:55;;10542:1;10539;10532:12;10491:55;10571:2;10565:9;10593:2;10589;10586:10;10583:36;;;10599:18;;:::i;:::-;10645:2;10642:1;10638:10;10628:20;;10668:28;10692:2;10688;10684:11;10668:28;:::i;:::-;10730:15;;;10800:11;;;10796:20;;;10761:12;;;;10828:19;;;10825:39;;;10860:1;10857;10850:12;10825:39;10884:11;;;;10904:310;10920:6;10915:3;10912:15;10904:310;;;10993:3;10987:10;10974:23;;11041:10;11034:5;11030:22;11023:5;11020:33;11010:131;;11095:1;11124:2;11120;11113:14;11010:131;11154:18;;;10937:12;;;;11192;;;;10904:310;;;11233:5;10134:1110;-1:-1:-1;;;;;;;;10134:1110:111:o;11249:184::-;-1:-1:-1;;;11298:1:111;11291:88;11398:4;11395:1;11388:15;11422:4;11419:1;11412:15;11438:183;11469:1;11495:10;11532:2;11529:1;11525:10;11554:3;11544:37;;11561:18;;:::i;:::-;11599:10;;11595:20;;;;;11438:183;-1:-1:-1;;11438:183:111:o;11626:112::-;11658:1;11684;11674:35;;11689:18;;:::i;:::-;-1:-1:-1;11723:9:111;;11626:112::o;12106:466::-;12404:6;12393:9;12386:25;12447:2;12442;12431:9;12427:18;12420:30;12367:4;12467:56;12519:2;12508:9;12504:18;12496:6;12467:56;:::i;:::-;12459:64;;12559:6;12554:2;12543:9;12539:18;12532:34;12106:466;;;;;;:::o;12577:250::-;12662:1;12672:113;12686:6;12683:1;12680:13;12672:113;;;12762:11;;;12756:18;12743:11;;;12736:39;12708:2;12701:10;12672:113;;;-1:-1:-1;;12819:1:111;12801:16;;12794:27;12577:250::o;12832:568::-;12885:5;12938:3;12931:4;12923:6;12919:17;12915:27;12905:55;;12956:1;12953;12946:12;12905:55;12985:6;12979:13;13011:18;13007:2;13004:26;13001:52;;;13033:18;;:::i;:::-;13077:114;13185:4;-1:-1:-1;;13109:4:111;13105:2;13101:13;13097:86;13093:97;13077:114;:::i;:::-;13216:2;13207:7;13200:19;13262:3;13255:4;13250:2;13242:6;13238:15;13234:26;13231:35;13228:55;;;13279:1;13276;13269:12;13228:55;13292:77;13366:2;13359:4;13350:7;13346:18;13339:4;13331:6;13327:17;13292:77;:::i;13405:654::-;13546:6;13554;13562;13615:2;13603:9;13594:7;13590:23;13586:32;13583:52;;;13631:1;13628;13621:12;13583:52;13664:9;13658:16;13693:18;13734:2;13726:6;13723:14;13720:34;;;13750:1;13747;13740:12;13720:34;13773:60;13825:7;13816:6;13805:9;13801:22;13773:60;:::i;:::-;13763:70;;13873:2;13862:9;13858:18;13852:25;13842:35;;13923:2;13912:9;13908:18;13902:25;13886:41;;13952:2;13942:8;13939:16;13936:36;;;13968:1;13965;13958:12;13936:36;;13991:62;14045:7;14034:8;14023:9;14019:24;13991:62;:::i;:::-;13981:72;;;13405:654;;;;;:::o;14064:441::-;14326:6;14315:9;14308:25;14369:2;14364;14353:9;14349:18;14342:30;14289:4;14389:56;14441:2;14430:9;14426:18;14418:6;14389:56;:::i;:::-;14381:64;;14493:4;14485:6;14481:17;14476:2;14465:9;14461:18;14454:45;14064:441;;;;;;:::o;14510:335::-;14589:6;14642:2;14630:9;14621:7;14617:23;14613:32;14610:52;;;14658:1;14655;14648:12;14610:52;14691:9;14685:16;14724:18;14716:6;14713:30;14710:50;;;14756:1;14753;14746:12;14710:50;14779:60;14831:7;14822:6;14811:9;14807:22;14779:60;:::i;14850:329::-;14891:3;14929:5;14923:12;14956:6;14951:3;14944:19;14972:76;15041:6;15034:4;15029:3;15025:14;15018:4;15011:5;15007:16;14972:76;:::i;:::-;15093:2;15081:15;-1:-1:-1;;15077:88:111;15068:98;;;;15168:4;15064:109;;14850:329;-1:-1:-1;;14850:329:111:o;15184:359::-;15387:2;15376:9;15369:21;15350:4;15407:44;15447:2;15436:9;15432:18;15424:6;15407:44;:::i;:::-;15482:2;15467:18;;15460:34;;;;-1:-1:-1;15525:2:111;15510:18;15503:34;15399:52;15184:359;-1:-1:-1;15184:359:111:o;15548:546::-;15870:6;15859:9;15852:25;15913:3;15908:2;15897:9;15893:18;15886:31;15833:4;15934:57;15986:3;15975:9;15971:19;15963:6;15934:57;:::i;:::-;16039:4;16027:17;;;;16022:2;16007:18;;16000:45;-1:-1:-1;16076:2:111;16061:18;16054:34;15926:65;15548:546;-1:-1:-1;;15548:546:111:o;16099:184::-;16169:6;16222:2;16210:9;16201:7;16197:23;16193:32;16190:52;;;16238:1;16235;16228:12;16190:52;-1:-1:-1;16261:16:111;;16099:184;-1:-1:-1;16099:184:111:o;16657:792::-;17050:6;17039:9;17032:25;17093:3;17088:2;17077:9;17073:18;17066:31;17013:4;17120:57;17172:3;17161:9;17157:19;17149:6;17120:57;:::i;:::-;17225:9;17217:6;17213:22;17208:2;17197:9;17193:18;17186:50;17259:32;17284:6;17276;17259:32;:::i;:::-;17245:46;;17327:6;17322:2;17311:9;17307:18;17300:34;17383:9;17375:6;17371:22;17365:3;17354:9;17350:19;17343:51;17411:32;17436:6;17428;17411:32;:::i;17454:707::-;17822:6;17811:9;17804:25;17865:3;17860:2;17849:9;17845:18;17838:31;17785:4;17892:57;17944:3;17933:9;17929:19;17921:6;17892:57;:::i;:::-;17997:4;17989:6;17985:17;17980:2;17969:9;17965:18;17958:45;18051:9;18043:6;18039:22;18034:2;18023:9;18019:18;18012:50;18079:32;18104:6;18096;18079:32;:::i;:::-;18071:40;;;18148:6;18142:3;18131:9;18127:19;18120:35;17454:707;;;;;;;;:::o;18166:603::-;18474:6;18463:9;18456:25;18517:3;18512:2;18501:9;18497:18;18490:31;18437:4;18544:57;18596:3;18585:9;18581:19;18573:6;18544:57;:::i;:::-;18649:4;18641:6;18637:17;18632:2;18621:9;18617:18;18610:45;18703:9;18695:6;18691:22;18686:2;18675:9;18671:18;18664:50;18731:32;18756:6;18748;18731:32;:::i;18774:407::-;18857:5;18897;18891:12;18939:4;18932:5;18928:16;18922:23;18964:66;19056:2;19052;19048:11;19039:20;;19082:1;19074:6;19071:13;19068:107;;;19162:2;19156;19146:6;19143:1;19139:14;19136:1;19132:22;19128:31;19124:2;19120:40;19116:49;19107:58;;19068:107;;;;18774:407;;;:::o;19439:175::-;19476:3;19520:4;19513:5;19509:16;19549:4;19540:7;19537:17;19534:43;;19557:18;;:::i;:::-;19606:1;19593:15;;19439:175;-1:-1:-1;;19439:175:111:o;19619:792::-;19979:6;19968:9;19961:25;20022:3;20017:2;20006:9;20002:18;19995:31;19942:4;20049:57;20101:3;20090:9;20086:19;20078:6;20049:57;:::i;:::-;20154:4;20142:17;;20137:2;20122:18;;20115:45;20179:12;20227:15;;;20222:2;20207:18;;20200:43;20280:15;;20274:3;20259:19;;20252:44;20333:22;;;20327:3;20312:19;;20305:51;20373:32;20337:6;20390;20373:32;:::i;:::-;20365:40;19619:792;-1:-1:-1;;;;;;;;;19619:792:111:o;21124:319::-;21330:6;21319:9;21312:25;21373:2;21368;21357:9;21353:18;21346:30;21293:4;21393:44;21433:2;21422:9;21418:18;21410:6;21393:44;:::i;21448:168::-;21521:9;;;21552;;21569:15;;;21563:22;;21549:37;21539:71;;21590:18;;:::i;21621:639::-;21871:6;21866:3;21859:19;21841:3;21897:2;21930;21925:3;21921:12;21962:6;21956:13;22027:2;22019:6;22015:15;22048:1;22058:175;22072:6;22069:1;22066:13;22058:175;;;22135:13;;22121:28;;22171:14;;;;22208:15;;;;22094:1;22087:9;22058:175;;;-1:-1:-1;22249:5:111;;21621:639;-1:-1:-1;;;;;;;21621:639:111:o;22265:689::-;22599:3;22588:9;22581:22;22562:4;22626:57;22678:3;22667:9;22663:19;22655:6;22626:57;:::i;:::-;22731:9;22723:6;22719:22;22714:2;22703:9;22699:18;22692:50;22765:32;22790:6;22782;22765:32;:::i;:::-;22751:46;;22833:6;22828:2;22817:9;22813:18;22806:34;22888:9;22880:6;22876:22;22871:2;22860:9;22856:18;22849:50;22916:32;22941:6;22933;22916:32;:::i;22959:896::-;23412:6;23401:9;23394:25;23455:3;23450:2;23439:9;23435:18;23428:31;23375:4;23482:57;23534:3;23523:9;23519:19;23511:6;23482:57;:::i;:::-;23587:9;23579:6;23575:22;23570:2;23559:9;23555:18;23548:50;23621:32;23646:6;23638;23621:32;:::i;:::-;23607:46;;23689:6;23684:2;23673:9;23669:18;23662:34;23745:9;23737:6;23733:22;23727:3;23716:9;23712:19;23705:51;23773:32;23798:6;23790;23773:32;:::i;:::-;23765:40;;;23842:6;23836:3;23825:9;23821:19;23814:35;22959:896;;;;;;;;;:::o;23860:511::-;24111:2;24100:9;24093:21;24074:4;24137:56;24189:2;24178:9;24174:18;24166:6;24137:56;:::i;:::-;24241:14;24233:6;24229:27;24224:2;24213:9;24209:18;24202:55;24305:9;24297:6;24293:22;24288:2;24277:9;24273:18;24266:50;24333:32;24358:6;24350;24333:32;:::i;:::-;24325:40;23860:511;-1:-1:-1;;;;;;23860:511:111:o;24376:615::-;24686:6;24675:9;24668:25;24729:3;24724:2;24713:9;24709:18;24702:31;24649:4;24756:57;24808:3;24797:9;24793:19;24785:6;24756:57;:::i;:::-;24861:14;24853:6;24849:27;24844:2;24833:9;24829:18;24822:55;24925:9;24917:6;24913:22;24908:2;24897:9;24893:18;24886:50;24953:32;24978:6;24970;24953:32;:::i;25214:463::-;25460:66;25452:6;25448:79;25437:9;25430:98;25564:6;25559:2;25548:9;25544:18;25537:34;25607:2;25602;25591:9;25587:18;25580:30;25411:4;25627:44;25667:2;25656:9;25652:18;25644:6;25627:44;:::i;25682:174::-;25749:12;25781:10;;;25793;;;25777:27;;25816:11;;;25813:37;;;25830:18;;:::i;26508:899::-;26931:6;26920:9;26913:25;26974:3;26969:2;26958:9;26954:18;26947:31;26894:4;27001:57;27053:3;27042:9;27038:19;27030:6;27001:57;:::i;:::-;27106:4;27094:17;;27089:2;27074:18;;27067:45;27131:12;27179:15;;;27174:2;27159:18;;27152:43;27232:15;;27226:3;27211:19;;27204:44;27279:3;27264:19;;27257:35;;;27329:22;;;27323:3;27308:19;;27301:51;27369:32;27333:6;27386;27369:32;:::i;:::-;27361:40;26508:899;-1:-1:-1;;;;;;;;;;26508:899:111:o;27412:787::-;27776:3;27765:9;27758:22;27739:4;27803:57;27855:3;27844:9;27840:19;27832:6;27803:57;:::i;:::-;27908:4;27900:6;27896:17;27891:2;27880:9;27876:18;27869:45;27962:14;27954:6;27950:27;27945:2;27934:9;27930:18;27923:55;28026:12;28018:6;28014:25;28009:2;27998:9;27994:18;27987:53;28077:6;28071:3;28060:9;28056:19;28049:35;28133:9;28125:6;28121:22;28115:3;28104:9;28100:19;28093:51;28161:32;28186:6;28178;28161:32;:::i;28813:925::-;29262:66;29254:6;29250:79;29245:3;29238:92;29220:3;29349;29381:2;29377:1;29372:3;29368:11;29361:23;29413:6;29407:13;29429:74;29496:6;29492:1;29487:3;29483:11;29476:4;29468:6;29464:17;29429:74;:::i;:::-;29531:6;29526:3;29522:16;29512:26;;29566:2;29562:1;29558:2;29554:10;29547:22;29600:6;29594:13;29578:29;;29616:75;29682:8;29678:1;29674:2;29670:10;29663:4;29655:6;29651:17;29616:75;:::i;:::-;29711:17;29730:1;29707:25;;28813:925;-1:-1:-1;;;;;28813:925:111:o;29743:339::-;29920:2;29909:9;29902:21;29883:4;29940:44;29980:2;29969:9;29965:18;29957:6;29940:44;:::i;:::-;29932:52;;-1:-1:-1;;;;;30024:6:111;30020:55;30015:2;30004:9;30000:18;29993:83;29743:339;;;;;:::o;30274:287::-;30403:3;30441:6;30435:13;30457:66;30516:6;30511:3;30504:4;30496:6;30492:17;30457:66;:::i;:::-;30539:16;;;;;30274:287;-1:-1:-1;;30274:287:111:o;30826:530::-;31011:3;31049:6;31043:13;31065:66;31124:6;31119:3;31112:4;31104:6;31100:17;31065:66;:::i;:::-;31200:2;31196:15;;;;31213:66;31192:88;31153:16;;;;31178:103;;;31308:2;31297:14;;31290:30;;;;31347:2;31336:14;;30826:530;-1:-1:-1;;30826:530:111:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3993,"length":20},{"start":4180,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@chainlink/=lib/founcry-chainlink-toolkit/\",\":@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/\",\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/\",\":openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4\",\"dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC\"]},\"src/codegen/tables/ActionOutcome.sol\":{\"keccak256\":\"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a\",\"dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39\",\"dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae\",\"dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2\",\"dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0\",\"dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5\",\"dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/RngLogs.sol\":{\"keccak256\":\"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619\",\"dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/IAdminSystem.sol\":{\"keccak256\":\"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b\",\"dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78\",\"dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f\",\"dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a\",\"dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c\",\"dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef\",\"dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0xe2d5ded0fad48c9bd9fbf29d654c6719fbcafa896b48b4ab30c8c326a5f84b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e55bae0c242167ba1a2d4929390aa3da01cb19c46994b76f5f726a7d6509f9c\",\"dweb:/ipfs/QmeaRRBYh7tQSC2Coojujx9kVea9WewNxre9PZuYdFGcCY\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@chainlink/=lib/founcry-chainlink-toolkit/","@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/","@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/","openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315","urls":["bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4","dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC"],"license":"MIT"},"src/codegen/tables/ActionOutcome.sol":{"keccak256":"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956","urls":["bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a","dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b","urls":["bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39","dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b","urls":["bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae","dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd","urls":["bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2","dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85","urls":["bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0","dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e","urls":["bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5","dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/RngLogs.sol":{"keccak256":"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821","urls":["bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619","dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/IAdminSystem.sol":{"keccak256":"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6","urls":["bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b","dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373","urls":["bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78","dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595","urls":["bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f","dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f","urls":["bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a","dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859","urls":["bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c","dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47","urls":["bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef","dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0xe2d5ded0fad48c9bd9fbf29d654c6719fbcafa896b48b4ab30c8c326a5f84b9f","urls":["bzz-raw://1e55bae0c242167ba1a2d4929390aa3da01cb19c46994b76f5f726a7d6509f9c","dweb:/ipfs/QmeaRRBYh7tQSC2Coojujx9kVea9WewNxre9PZuYdFGcCY"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file diff --git a/packages/contracts/src/systems/MapSystem.sol b/packages/contracts/src/systems/MapSystem.sol index d8c2469ea..1686e18dd 100644 --- a/packages/contracts/src/systems/MapSystem.sol +++ b/packages/contracts/src/systems/MapSystem.sol @@ -99,7 +99,7 @@ contract MapSystem is System { rng = LibChunks.get8Chunks(block.prevrandao); } - for (uint256 i; i < (rng[rng.length - 1] % 6); i++) { + for (uint256 i; i < (rng[0] % 6); i++) { SystemSwitch.call( abi.encodeCall( IMobSystem.UD__spawnMob, (availableMonsters[uint256(rng[i] % availableMonsters.length)], x, y) From 4c6a44ea794352544d09604f2cf2aca3a36edfec Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 17:40:18 -0600 Subject: [PATCH 3/9] Make sure player count is all spawned characters --- .../src/components/BattleOutcomeModal.tsx | 8 +- packages/client/src/components/MapPanel.tsx | 6 +- .../src/components/TileDetailsPanel.tsx | 23 +++--- .../src/contexts/MapNavigationContext.tsx | 79 ++++++++++++++----- .../out/MapSystem.sol/MapSystem.json | 2 +- 5 files changed, 77 insertions(+), 41 deletions(-) diff --git a/packages/client/src/components/BattleOutcomeModal.tsx b/packages/client/src/components/BattleOutcomeModal.tsx index ffb64b7e5..9f63eb38d 100644 --- a/packages/client/src/components/BattleOutcomeModal.tsx +++ b/packages/client/src/components/BattleOutcomeModal.tsx @@ -38,7 +38,7 @@ export const BattleOutcomeModal: React.FC = ({ components: { Levels }, } = useMUD(); const { character } = useCharacter(); - const { allMonsters, otherPlayers } = useMapNavigation(); + const { allMonsters, otherCharactersOnTile } = useMapNavigation(); const opponent = useMemo(() => { if (!character) return null; @@ -54,15 +54,15 @@ export const BattleOutcomeModal: React.FC = ({ return monsterOpponent; } - const characterOpponent = otherPlayers.find( - player => player.characterId === opponent, + const characterOpponent = otherCharactersOnTile.find( + c => c.characterId === opponent, ); if (characterOpponent) { return characterOpponent; } return null; - }, [allMonsters, battleOutcome, character, otherPlayers]); + }, [allMonsters, battleOutcome, character, otherCharactersOnTile]); const onAcknowledge = useCallback(() => { localStorage.setItem(BATTLE_OUTCOME_SEEN_KEY, battleOutcome.encounterId); diff --git a/packages/client/src/components/MapPanel.tsx b/packages/client/src/components/MapPanel.tsx index 081032b3c..961b2c149 100644 --- a/packages/client/src/components/MapPanel.tsx +++ b/packages/client/src/components/MapPanel.tsx @@ -17,13 +17,13 @@ const SAFE_ZONE_AREA = { export const MapPanel = (): JSX.Element => { const { + allSpawnedCharacters, currentBattle, isRefreshing, isSpawned, isSpawning, onMove, onSpawn, - otherPlayers, position, } = useMapNavigation(); @@ -86,8 +86,8 @@ export const MapPanel = (): JSX.Element => { )} - Dark Cave - {otherPlayers.length + 1} Player - {otherPlayers.length + 1 > 1 ? 's' : ''} + Dark Cave - {allSpawnedCharacters.length} Player + {allSpawnedCharacters.length > 1 ? 's' : ''} diff --git a/packages/client/src/components/TileDetailsPanel.tsx b/packages/client/src/components/TileDetailsPanel.tsx index fa49260c0..8b0bb702c 100644 --- a/packages/client/src/components/TileDetailsPanel.tsx +++ b/packages/client/src/components/TileDetailsPanel.tsx @@ -40,7 +40,7 @@ export const TileDetailsPanel = (): JSX.Element => { currentBattle, isRefreshing, monsterOponent, - otherPlayers, + otherCharactersOnTile, } = useMapNavigation(); const [isInitiating, setIsInitiating] = useState(false); @@ -229,7 +229,7 @@ export const TileDetailsPanel = (): JSX.Element => { Players - {otherPlayers.length > 0 && ( + {otherCharactersOnTile.length > 0 && ( Safe Zone @@ -256,28 +256,25 @@ export const TileDetailsPanel = (): JSX.Element => { )} - {otherPlayers.length > 0 && ( + {otherCharactersOnTile.length > 0 && ( <> - {otherPlayers.length > 0 && - otherPlayers.map((player, i) => ( - + {otherCharactersOnTile.length > 0 && + otherCharactersOnTile.map((c, i) => ( + ))} - {otherPlayers.map((player, i) => ( + {otherCharactersOnTile.map((c, i) => ( ))} )} - {otherPlayers.length === 0 && ( + {otherCharactersOnTile.length === 0 && ( No players in this area diff --git a/packages/client/src/contexts/MapNavigationContext.tsx b/packages/client/src/contexts/MapNavigationContext.tsx index a17e84c8c..1f26aa0e5 100644 --- a/packages/client/src/contexts/MapNavigationContext.tsx +++ b/packages/client/src/contexts/MapNavigationContext.tsx @@ -46,6 +46,7 @@ type MapNavigationContextType = { actionOutcomes: ActionOutcomeType[]; aliveMonsters: Monster[]; allMonsters: Monster[]; + allSpawnedCharacters: Character[]; currentBattle: CombatDetails | null; isAttacking: boolean; isRefreshing: boolean; @@ -56,7 +57,7 @@ type MapNavigationContextType = { onAttack: (itemId: string) => void; onMove: (direction: 'up' | 'down' | 'left' | 'right') => void; onSpawn: () => void; - otherPlayers: Character[]; + otherCharactersOnTile: Character[]; position: { x: number; y: number } | null; }; @@ -64,6 +65,7 @@ const MapNavigationContext = createContext({ actionOutcomes: [], aliveMonsters: [], allMonsters: [], + allSpawnedCharacters: [], currentBattle: null, isAttacking: false, isRefreshing: false, @@ -74,7 +76,7 @@ const MapNavigationContext = createContext({ onAttack: () => {}, onMove: () => {}, onSpawn: () => {}, - otherPlayers: [], + otherCharactersOnTile: [], position: null, }); @@ -112,7 +114,12 @@ export const MapNavigationProvider = ({ const [isMoving, setIsMoving] = useState(false); const [isFetchingEntities, setIsFetchingEntities] = useState(true); - const [otherPlayers, setOtherPlayers] = useState([]); + const [allSpawnedCharacters, setAllSpawnedCharacters] = useState( + [], + ); + const [otherCharactersOnTile, setOtherCharactersOnTile] = useState< + Character[] + >([]); const [monsters, setMonsters] = useState([]); const [isAttacking, setIsAttacking] = useState(false); @@ -146,19 +153,21 @@ export const MapNavigationProvider = ({ const allCharacterEntities = useEntityQuery([ Has(Characters), Has(Spawned), + HasValue(Spawned, { spawned: true }), Has(Stats), - HasValue(Position, { - x: position?.x, - y: position?.y, - }), + Has(Position), ]); - const getOtherCharacters = useCallback( - async (entities: Entity[]): Promise => { - if (!(delegatorAddress && publicClient && worldContract)) return; + const getAllSpawnedCharacters = useCallback( + async ( + entities: Entity[], + ): Promise<(Character & { position: { x: number; y: number } })[]> => { + if (!(delegatorAddress && publicClient && worldContract)) return []; try { - const characters: Character[] = await Promise.all( + const characters: (Character & { + position: { x: number; y: number }; + })[] = await Promise.all( entities.map(async (entity: Entity) => { const characterData = getComponentValueStrict(Characters, entity); const characterStats = getComponentValueStrict(Stats, entity); @@ -191,6 +200,8 @@ export const MapNavigationProvider = ({ )?.encounterId; const inBattle = !!encounterId && encounterId !== zeroHash; + const position = getComponentValueStrict(Position, entity); + return { ...fetachedMetadata, agility: characterStats.agility.toString(), @@ -207,18 +218,20 @@ export const MapNavigationProvider = ({ size: 32, }), owner: characterData.owner, + position: { x: position.x, y: position.y }, strength: characterStats.strength.toString(), tokenId: tokenId.toString(), - } as Character; + } as Character & { position: { x: number; y: number } }; }), ); - setOtherPlayers(characters.filter(c => c.owner !== delegatorAddress)); + return characters; } catch (e) { renderError( (e as Error)?.message ?? 'Failed to fetch other players.', e, ); + return []; } }, [ @@ -227,6 +240,7 @@ export const MapNavigationProvider = ({ delegatorAddress, GoldBalances, MatchEntity, + Position, publicClient, renderError, Stats, @@ -235,7 +249,7 @@ export const MapNavigationProvider = ({ ); const getMonsters = useCallback( - async (entities: Entity[]): Promise => { + async (entities: Entity[]): Promise => { try { const monsterAndMobIds = entities.map(entity => { const entityBytes = hexToBytes(entity.toString() as `0x${string}`); @@ -283,9 +297,10 @@ export const MapNavigationProvider = ({ }), ); - setMonsters(_monsters); + return _monsters; } catch (e) { renderError((e as Error)?.message ?? 'Failed to fetch monsters.', e); + return []; } }, [MatchEntity, Mobs, renderError, Stats], @@ -293,19 +308,42 @@ export const MapNavigationProvider = ({ useEffect(() => { (async (): Promise => { - if (!(allCharacterEntities && allMonsterEntities)) return; + if ( + !( + allCharacterEntities && + allMonsterEntities && + delegatorAddress && + position + ) + ) + return; setIsFetchingEntities(true); - await getOtherCharacters(allCharacterEntities); - await getMonsters(allMonsterEntities); + const _allCharacters = + await getAllSpawnedCharacters(allCharacterEntities); + setAllSpawnedCharacters(_allCharacters as Character[]); + + const _otherPlayersOnTile = _allCharacters.filter( + c => + c.position.x === position.x && + c.position.y === position.y && + c.owner !== delegatorAddress, + ); + setOtherCharactersOnTile(_otherPlayersOnTile as Character[]); + + const _monsters = await getMonsters(allMonsterEntities); + setMonsters(_monsters); + setIsFetchingEntities(false); })(); }, [ allCharacterEntities, allMonsterEntities, Characters, + delegatorAddress, + getAllSpawnedCharacters, getMonsters, - getOtherCharacters, + position, ]); const onSpawn = useCallback(async () => { @@ -625,6 +663,7 @@ export const MapNavigationProvider = ({ actionOutcomes: currentBattleActionOutcomes, aliveMonsters: monsters.filter(m => Number(m.currentHp) > 0), allMonsters: monsters, + allSpawnedCharacters, currentBattle, isAttacking, isRefreshing: isFetchingEntities || isMoving, @@ -635,7 +674,7 @@ export const MapNavigationProvider = ({ onAttack, onMove, onSpawn, - otherPlayers, + otherCharactersOnTile, position: position ? { x: position.x, y: position.y } : null, }} > diff --git a/packages/contracts/out/MapSystem.sol/MapSystem.json b/packages/contracts/out/MapSystem.sol/MapSystem.json index 35a97675d..7bb0c4b97 100644 --- a/packages/contracts/out/MapSystem.sol/MapSystem.json +++ b/packages/contracts/out/MapSystem.sol/MapSystem.json @@ -1 +1 @@ -{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061458c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046139f5565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e3366004613a49565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613a85565b610236565b6040516100ac9190613af4565b61012e610129366004613b07565b610249565b005b61012e61013e366004613a49565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee61121e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613b36565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b9250925092506107008383836112f8565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613b36565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613b36565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f73697469838361131b565b90506107c36107be82600084516113e2565b611470565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613b36565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611481565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613b36565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611481565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613b36565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e00000000000000008286868661153e565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115ef565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613b36565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613b36565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b604051602081830303815290604052611665565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613b36565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611481565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b925092509250610c5c8383836112f8565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613b62565b610c93565b610c938487613b62565b905060008361ffff168661ffff1611610cb557610cb08685613b62565b610cbf565b610cbf8487613b62565b9050610ccb8183613b84565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613b36565b602002602001015103610d5c576001915060008360018551610d269190613b9f565b81518110610d3657610d36613b36565b60200260200101519050610d4c88888484611717565b610d5688886117e2565b50610d6e565b80610d6681613bb2565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611882565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e37816118a0565b610e419083613bcc565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613b20565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb082611920565b905060005b8151811015610f0a57818181518110610ed057610ed0613b36565b6020026020010151858581518110610eea57610eea613b36565b602090810291909101015283610eff81613bb2565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613cc3565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613d03565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613d03565b90505b6110e2816000815181106110cf576110cf613b36565b602002602001015163ffffffff166119a7565b61110481600183516110f49190613b9f565b815181106110cf576110cf613b36565b60005b60068260008151811061111c5761111c613b36565b602002602001015161112e9190613dd5565b63ffffffff168110156112125761120984855184848151811061115357611153613b36565b602002602001015163ffffffff1661116b9190613df8565b8151811061117b5761117b613b36565b60200260200101518b8b6040516024016111ac9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611a1d565b50600101611107565b50505050505050505050565b60006101ee611acb565b6060600060606000611238611acb565b9050306001600160a01b0382160361126157611255878787611b0a565b935093509350506112ef565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd906112aa908a908a908a90600401613e0c565b600060405180830381865afa1580156112c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112559190810190613ebd565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60606000611327611acb565b9050306001600160a01b0382160361134c57611344858585611c12565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061139590889088908890600401613f2a565b600060405180830381865afa1580156113b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113449190810190613f56565b509392505050565b6000818311806113f25750835182115b1561142f578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613fb7565b6020840161143d8482613bcc565b9050600061144b8585613b9f565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611c4c565b60008061148c611acb565b9050306001600160a01b038216036114b2576114aa86868686611cc7565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114fd908990899089908990600401613fdc565b602060405180830381865afa15801561151a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa919061400b565b6000611548611acb565b9050306001600160a01b0382160361156c576115678686868686611cf4565b6115e7565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb906115b99089908990899089908990600401614024565b600060405180830381600087803b1580156115d357600080fd5b505af1158015611212573d6000803e3d6000fd5b505050505050565b60006115f9611acb565b9050306001600160a01b03821603611618576115678686868686611d0a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906115b99089908990899089908990600401614069565b600061166f611acb565b9050306001600160a01b038216036116925761168d85858585611d1f565b611710565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906116dd9088908890889088906004016140b0565b600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061175357611753613b36565b6020026020010181815250508361ffff1660001b8160018151811061177a5761177a613b36565b60200260200101818152505060008260405160200161179b91815260200190565b60405160208183030381529060405290506115e77f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611d5a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b8160008151811061181e5761181e613b36565b6020026020010181815250508161ffff1660001b8160018151811061184557611845613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611e13565b60006107c36118918685611e86565b61189b8685611e86565b611ea8565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106118dc576118dc613b36565b602090810291909101015260006119147f746255440000000000000000000000004d6f627342794c6576656c00000000008383611ebf565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061195d5761195d613b36565b602090810291909101015260006119957f746255440000000000000000000000004d6f627342794c6576656c0000000000838361131b565b90506109066107be82600084516113e2565b611a1a816040516024016119bd91815260200190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff82c50f100000000000000000000000000000000000000000000000000000000179052611f71565b50565b6060600080611a33611a2e856140e4565b611f7a565b91509150816000801b03611a99576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610906828561203d565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611b05573391505090565b919050565b6060600060606000611b1b85612118565b9050611b2887878361213b565b93506000611b3586612174565b90508015611c0757611b4788886121b1565b935066ffffffffffffff841667ffffffffffffffff811115611b6b57611b6b613b20565b6040519080825280601f01601f191660200182016040528015611b95576020820181803683370190505b5092506020830160005b828160ff161015611c04576000611bb78b8b846121c4565b90506000611bd4888460ff166028026038011c64ffffffffff1690565b9050611be38260008387612244565b611bed8185613bcc565b935050508080611bfc90614134565b915050611b9f565b50505b505093509350939050565b6060610906611c228585856121c4565b6000611c4785611c3289896121b1565b9060ff166028026038011c64ffffffffff1690565b612310565b60606000611c5a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611c8057611c80613dbf565b04905060405193506020840160208202810160405281855260005b82811015611cbb578451871c825293870193602090910190600101611c9b565b50505050509392505050565b60006107c3611cd68686612333565b60ff858116601b0360080285901c16611cef8587612389565b6123ba565b6117108585858585611d058b61240b565b612490565b6117108585611d198487612389565b856127c9565b6000611d2b85856121b1565b90506000611d48828560ff166028026038011c64ffffffffff1690565b90506115e78686868460008888612a64565b6000611d64611acb565b9050306001600160a01b03821603611d8957611d84878787878787612e9e565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611dd8908a908a908a908a908a908a90600401614153565b600060405180830381600087803b158015611df257600080fd5b505af1158015611e06573d6000803e3d6000fd5b5050505050505050505050565b6000611e1d611acb565b9050306001600160a01b03821603611e3b5761168d85858585612eb6565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a04906116dd908890889088908890600401613fdc565b6000818311611e9e57611e998383613b9f565b610242565b6102428284613b9f565b600081831015611eb85781610242565b5090919050565b600080611eca611acb565b9050306001600160a01b03821603611ee757611344858585612f0f565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611f3090889088908890600401613f2a565b602060405180830381865afa158015611f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611344919061400b565b611a1a81612f1f565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fd357611fd3613b36565b60209081029190910101526000808061202c7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611228565b925092509250610700838383612f40565b6060600061204961121e565b90506001600160a01b038116300361208a57600061207161206861062a565b60008787612f4c565b93509050806120835761208383613087565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120d190879087906004016141a9565b6000604051808303816000875af11580156120f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613f56565b6000600861212860026020613b9f565b61213291906141c2565b9190911c919050565b60608160000361215a5750604080516020810190915260008152610242565b60006121668585612333565b90506107c381600085612310565b6000600860018061218760026020613b9f565b6121919190613b9f565b61219b9190613b9f565b6121a591906141c2565b8260ff911c1692915050565b60006102426121c0848461308f565b5490565b600083836040516020016121d99291906141d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156122cb576020831061226e5760208304840193506020838161226a5761226a613dbf565b0692505b82156122cb5760208390036000818410156122915750600019600884021c61229b565b50600019600882021c5b8554600886021b8184511682198216178452508184116122bc575050610b54565b50600194909401939182900391015b5b602082106122ed5783548152600190930192601f19909101906020016122cc565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f84840101166040528282526113da85858584612244565b600082826040516020016123489291906141d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156113da576123b060ff601b83900360080287901c1683613bcc565b915060010161238e565b6000602082106123e0576020820484019350602082816123dc576123dc613dbf565b0691505b508254600882021b6020829003808411156113da576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161245a57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6124877f746273746f72650000000000000000005461626c657300000000000000000000846130e5565b602060006123ba565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361251c57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161250f9493929190614215565b60405180910390a26115e7565b600061252787613101565b905060005b815181101561260057600082828151811061254957612549613b36565b602002602001015190506125756001826affffffffffffffffffffff191661318a90919063ffffffff16565b156125f7576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906125c4908c908c908c908c908c908c90600401614254565b600060405180830381600087803b1580156125de57600080fd5b505af11580156125f2573d6000803e3d6000fd5b505050505b5060010161252c565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516126379493929190614215565b60405180910390a2600061264b8888612333565b905060006020870190506126638260008951846131a8565b600061266e85612174565b11156126f25760006126808a8a61308f565b878155905060208601915060008060005b61269a88612174565b8160ff1610156126ed576126af8d8d836121c4565b92506126ca8a8260ff166028026038011c64ffffffffff1690565b91506126d983600084886131a8565b6126e38286613bcc565b9450600101612691565b505050505b60005b835181101561121257600084828151811061271257612712613b36565b6020026020010151905061273e6002826affffffffffffffffffffff191661318a90919063ffffffff16565b156127c0576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061278d908e908e908e908e908e908e90600401614254565b600060405180830381600087803b1580156127a757600080fd5b505af11580156127bb573d6000803e3d6000fd5b505050505b506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361285357837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612846939291906142ad565b60405180910390a2610b54565b600061285f8585612333565b9050600061286c86613101565b905060005b815181101561294157600082828151811061288e5761288e613b36565b602002602001015190506128ba6004826affffffffffffffffffffff191661318a90919063ffffffff16565b15612938576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612905908b908b908b908b906004016142ea565b600060405180830381600087803b15801561291f57600080fd5b505af1158015612933573d6000803e3d6000fd5b505050505b50600101612871565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612976939291906142ad565b60405180910390a2612991828565ffffffffffff1685613267565b60005b81518110156109cd5760008282815181106129b1576129b1613b36565b602002602001015190506129dd6008826affffffffffffffffffffff191661318a90919063ffffffff16565b15612a5b576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a28908b908b908b908b906004016142ea565b600060405180830381600087803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b505050505b50600101612994565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612b24577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ae291815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614323565b6000612b3f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612b589190613b9f565b612b629190613bcc565b9050808214158015612b84575081612b7a8688614364565b64ffffffffff1614155b15612bd4576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612c25576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612c3284898461327d565b90506000612c3f8b613101565b905060005b8151811015612d0a576000828281518110612c6157612c61613b36565b60200260200101519050612c8d6010826affffffffffffffffffffff191661318a90919063ffffffff16565b15612d0157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612cce9796959493929190614382565b600060405180830381600087803b158015612ce857600080fd5b505af1158015612cfc573d6000803e3d6000fd5b505050505b50600101612c44565b5064ffffffffff881660005b8a60ff168160ff161015612d4957612d3d878260ff166028026038011c64ffffffffff1690565b90910190600101612d16565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d84969594939291906143e0565b60405180910390a250828414612da5576000612da08c8c61308f565b839055505b6000612db28c8c8c6121c4565b9050612dc6818a64ffffffffff1689613267565b5060005b8151811015612e90576000828281518110612de757612de7613b36565b60200260200101519050612e136020826affffffffffffffffffffff191661318a90919063ffffffff16565b15612e8757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e549796959493929190614382565b600060405180830381600087803b158015612e6e57600080fd5b505af1158015612e82573d6000803e3d6000fd5b505050505b50600101612dca565b505050505050505050505050565b6115e7868686868686612eb18d8d6121b1565b612a64565b6000612ec285856121b1565b90506000612edf828560ff166028026038011c64ffffffffff1690565b90506115e7868686612ef88764ffffffffff8716613b9f565b604080516000815260208101909152889088612a64565b600061090682611c3286866121b1565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60008061130f8561334b565b60006060600080612f5c86613360565b90925090506001600160a01b038216612fad5785612f7987613404565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906141a9565b80612fbc57612fbc8689613541565b8615613028577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e730000000000000000000000000000000000000000000000000000000000001760006130108261358d565b9050613025826130208b84613bcc565b61361e565b50505b60006130348760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461306c57613067888884886136d2565b613078565b6130788888848861374a565b90999098509650505050505050565b805160208201fd5b600082826040516020016130a49291906141d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001612348565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061313b5761313b613b36565b602090810291909101015260006131737f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611c12565b905061090661318582600084516113e2565b6137ab565b60008160ff168261319b8560581c90565b1660ff1614905092915050565b821561322257602083106131d2576020830484019350602083816131ce576131ce613dbf565b0692505b82156132225760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613213575050610b54565b50600194909401939182900391015b5b602082106132445780518455600190930192601f1990910190602001613223565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f838383516132788560200190565b6131a8565b600064ffffffffff8211156132c1576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106132f357808503820191506132fb565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061339a5761339a613b36565b6020908102919091010152600080806133f37f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611b0a565b9250925092506107008383836137bc565b606081601081901b6000613417836137c8565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156134725761346d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166137df565b6134a9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156134df576134da836137df565b613516565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016135289392919061442f565b6040516020818303038152906040529350505050919050565b61354b8282613883565b6103615761355882613404565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906144bd565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106135c6576135c6613b36565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611cc7565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061365457613654613b36565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161369d91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611d0a565b60006060836001600160a01b031660006136ed8589896138e1565b6040516136fa91906144e8565b60006040518083038185875af1925050503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606091505b509097909650945050505050565b60006060836001600160a01b03166137638488886138e1565b60405161377091906144e8565b600060405180830381855af49150503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606060006102428360156000611c4c565b60008061130f85613910565b60006137d660706010613bcc565b9190911b919050565b606060005b6010811015613844577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613844576001016137e4565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006138d17f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361392c565b806102425750610242838361392c565b60608383836040516020016138f893929190614504565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c613359565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061396557613965613b36565b602002602001018181525050826001600160a01b031660001b8160018151811061399157613991613b36565b602090810291909101015260006139e97f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611cc7565b90506107c38160f81c90565b600060208284031215613a0757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611b0557600080fd5b600080600060608486031215613a5e57600080fd5b83359250613a6e60208501613a37565b9150613a7c60408501613a37565b90509250925092565b60008060408385031215613a9857600080fd5b613aa183613a37565b9150613aaf60208401613a37565b90509250929050565b60008151808452602080850194506020840160005b83811015613ae957815187529582019590820190600101613acd565b509495945050505050565b6020815260006102426020830184613ab8565b600060208284031215613b1957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613b7d57613b7d613b4c565b5092915050565b61ffff818116838216019080821115613b7d57613b7d613b4c565b818103818111156101de576101de613b4c565b60006000198203613bc557613bc5613b4c565b5060010190565b808201808211156101de576101de613b4c565b600181815b80851115613c1a578160001904821115613c0057613c00613b4c565b80851615613c0d57918102915b93841c9390800290613be4565b509250929050565b600082613c31575060016101de565b81613c3e575060006101de565b8160018114613c545760028114613c5e57613c7a565b60019150506101de565b60ff841115613c6f57613c6f613b4c565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613c9d575081810a6101de565b613ca78383613bdf565b8060001904821115613cbb57613cbb613b4c565b029392505050565b600061024260ff841683613c22565b604051601f8201601f1916810167ffffffffffffffff81118282101715613cfb57613cfb613b20565b604052919050565b60006020808385031215613d1657600080fd5b825167ffffffffffffffff80821115613d2e57600080fd5b818501915085601f830112613d4257600080fd5b815181811115613d5457613d54613b20565b8060051b9150613d65848301613cd2565b8181529183018401918481019088841115613d7f57600080fd5b938501935b83851015613db3578451925063ffffffff83168314613da35760008081fd5b8282529385019390850190613d84565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613dec57613dec613dbf565b92169190910692915050565b600082613e0757613e07613dbf565b500690565b838152606060208201526000613e256060830185613ab8565b9050826040830152949350505050565b60005b83811015613e50578181015183820152602001613e38565b50506000910152565b600082601f830112613e6a57600080fd5b815167ffffffffffffffff811115613e8457613e84613b20565b613e976020601f19601f84011601613cd2565b818152846020838601011115613eac57600080fd5b610906826020830160208701613e35565b600080600060608486031215613ed257600080fd5b835167ffffffffffffffff80821115613eea57600080fd5b613ef687838801613e59565b9450602086015193506040860151915080821115613f1357600080fd5b50613f2086828701613e59565b9150509250925092565b838152606060208201526000613f436060830185613ab8565b905060ff83166040830152949350505050565b600060208284031215613f6857600080fd5b815167ffffffffffffffff811115613f7f57600080fd5b61090684828501613e59565b60008151808452613fa3816020860160208601613e35565b601f01601f19169290920160200192915050565b606081526000613fca6060830186613f8b565b60208301949094525060400152919050565b848152608060208201526000613ff56080830186613ab8565b60ff949094166040830152506060015292915050565b60006020828403121561401d57600080fd5b5051919050565b85815260a06020820152600061403d60a0830187613ab8565b828103604084015261404f8187613f8b565b90508460608401528281036080840152613db38185613f8b565b85815260a06020820152600061408260a0830187613ab8565b60ff86166040840152828103606084015261409d8186613f8b565b9150508260808301529695505050505050565b8481526080602082015260006140c96080830186613ab8565b60ff851660408401528281036060840152610ccb8185613f8b565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561412c5780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361414a5761414a613b4c565b60010192915050565b86815260c06020820152600061416c60c0830188613ab8565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a084015261419c8185613f8b565b9998505050505050505050565b8281526040602082015260006109066040830184613f8b565b80820281158282048414176101de576101de613b4c565b8281526000602080830184516020860160005b82811015614208578151845292840192908401906001016141ec565b5091979650505050505050565b6080815260006142286080830187613ab8565b828103602084015261423a8187613f8b565b90508460408401528281036060840152610ccb8185613f8b565b86815260c06020820152600061426d60c0830188613ab8565b828103604084015261427f8188613f8b565b905085606084015282810360808401526142998186613f8b565b9150508260a0830152979650505050505050565b6060815260006142c06060830186613ab8565b65ffffffffffff8516602084015282810360408401526142e08185613f8b565b9695505050505050565b8481526080602082015260006143036080830186613ab8565b65ffffffffffff851660408401528281036060840152610ccb8185613f8b565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613f8b565b64ffffffffff818116838216019080821115613b7d57613b7d613b4c565b87815260e06020820152600061439b60e0830189613ab8565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526143d28185613f8b565b9a9950505050505050505050565b60c0815260006143f360c0830189613ab8565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261419c8185613f8b565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614490816003860160208901613e35565b8084019050816003820152845191506144b0826004830160208801613e35565b0160040195945050505050565b6040815260006144d06040830185613f8b565b90506001600160a01b03831660208301529392505050565b600082516144fa818460208701613e35565b9190910192915050565b60008451614516818460208901613e35565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212202b5e29dbfa803d88011fc212a4e62b0f71ad7148c0a2b4481035589be4a16d4164736f6c63430008180033","sourceMap":"488:5013:110:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":4025,"length":20},{"start":4212,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b3660046139f5565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e3366004613a49565b6101f3565b604051601f1936013581526020016100ac565b61010e610109366004613a85565b610236565b6040516100ac9190613af4565b61012e610129366004613b07565b610249565b005b61012e61013e366004613a49565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee61121e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613b36565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b9250925092506107008383836112f8565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613b36565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613b36565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f73697469838361131b565b90506107c36107be82600084516113e2565b611470565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613b36565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611481565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613b36565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611481565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613b36565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e00000000000000008286868661153e565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115ef565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613b36565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613b36565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b604051602081830303815290604052611665565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613b36565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611481565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e04020002020000000000000000000000000000000000000000000000000000611228565b925092509250610c5c8383836112f8565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613b62565b610c93565b610c938487613b62565b905060008361ffff168661ffff1611610cb557610cb08685613b62565b610cbf565b610cbf8487613b62565b9050610ccb8183613b84565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613b36565b602002602001015103610d5c576001915060008360018551610d269190613b9f565b81518110610d3657610d36613b36565b60200260200101519050610d4c88888484611717565b610d5688886117e2565b50610d6e565b80610d6681613bb2565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611882565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e37816118a0565b610e419083613bcc565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613b20565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb082611920565b905060005b8151811015610f0a57818181518110610ed057610ed0613b36565b6020026020010151858581518110610eea57610eea613b36565b602090810291909101015283610eff81613bb2565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613cc3565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613d03565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613d03565b90505b6110e2816000815181106110cf576110cf613b36565b602002602001015163ffffffff166119a7565b61110481600183516110f49190613b9f565b815181106110cf576110cf613b36565b60005b60068260008151811061111c5761111c613b36565b602002602001015161112e9190613dd5565b63ffffffff168110156112125761120984855184848151811061115357611153613b36565b602002602001015163ffffffff1661116b9190613df8565b8151811061117b5761117b613b36565b60200260200101518b8b6040516024016111ac9392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc424800000000000000000000000000000000000000000000000000000000179052611a1d565b50600101611107565b50505050505050505050565b60006101ee611acb565b6060600060606000611238611acb565b9050306001600160a01b0382160361126157611255878787611b0a565b935093509350506112ef565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd906112aa908a908a908a90600401613e0c565b600060405180830381865afa1580156112c7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112559190810190613ebd565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b60606000611327611acb565b9050306001600160a01b0382160361134c57611344858585611c12565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061139590889088908890600401613f2a565b600060405180830381865afa1580156113b2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113449190810190613f56565b509392505050565b6000818311806113f25750835182115b1561142f578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613fb7565b6020840161143d8482613bcc565b9050600061144b8585613b9f565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611c4c565b60008061148c611acb565b9050306001600160a01b038216036114b2576114aa86868686611cc7565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114fd908990899089908990600401613fdc565b602060405180830381865afa15801561151a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa919061400b565b6000611548611acb565b9050306001600160a01b0382160361156c576115678686868686611cf4565b6115e7565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb906115b99089908990899089908990600401614024565b600060405180830381600087803b1580156115d357600080fd5b505af1158015611212573d6000803e3d6000fd5b505050505050565b60006115f9611acb565b9050306001600160a01b03821603611618576115678686868686611d0a565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906115b99089908990899089908990600401614069565b600061166f611acb565b9050306001600160a01b038216036116925761168d85858585611d1f565b611710565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906116dd9088908890889088906004016140b0565b600060405180830381600087803b1580156116f757600080fd5b505af115801561170b573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061175357611753613b36565b6020026020010181815250508361ffff1660001b8160018151811061177a5761177a613b36565b60200260200101818152505060008260405160200161179b91815260200190565b60405160208183030381529060405290506115e77f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611d5a565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b8160008151811061181e5761181e613b36565b6020026020010181815250508161ffff1660001b8160018151811061184557611845613b36565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611e13565b60006107c36118918685611e86565b61189b8685611e86565b611ea8565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106118dc576118dc613b36565b602090810291909101015260006119147f746255440000000000000000000000004d6f627342794c6576656c00000000008383611ebf565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061195d5761195d613b36565b602090810291909101015260006119957f746255440000000000000000000000004d6f627342794c6576656c0000000000838361131b565b90506109066107be82600084516113e2565b611a1a816040516024016119bd91815260200190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ff82c50f100000000000000000000000000000000000000000000000000000000179052611f71565b50565b6060600080611a33611a2e856140e4565b611f7a565b91509150816000801b03611a99576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052610906828561203d565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611b05573391505090565b919050565b6060600060606000611b1b85612118565b9050611b2887878361213b565b93506000611b3586612174565b90508015611c0757611b4788886121b1565b935066ffffffffffffff841667ffffffffffffffff811115611b6b57611b6b613b20565b6040519080825280601f01601f191660200182016040528015611b95576020820181803683370190505b5092506020830160005b828160ff161015611c04576000611bb78b8b846121c4565b90506000611bd4888460ff166028026038011c64ffffffffff1690565b9050611be38260008387612244565b611bed8185613bcc565b935050508080611bfc90614134565b915050611b9f565b50505b505093509350939050565b6060610906611c228585856121c4565b6000611c4785611c3289896121b1565b9060ff166028026038011c64ffffffffff1690565b612310565b60606000611c5a8560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611c8057611c80613dbf565b04905060405193506020840160208202810160405281855260005b82811015611cbb578451871c825293870193602090910190600101611c9b565b50505050509392505050565b60006107c3611cd68686612333565b60ff858116601b0360080285901c16611cef8587612389565b6123ba565b6117108585858585611d058b61240b565b612490565b6117108585611d198487612389565b856127c9565b6000611d2b85856121b1565b90506000611d48828560ff166028026038011c64ffffffffff1690565b90506115e78686868460008888612a64565b6000611d64611acb565b9050306001600160a01b03821603611d8957611d84878787878787612e9e565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611dd8908a908a908a908a908a908a90600401614153565b600060405180830381600087803b158015611df257600080fd5b505af1158015611e06573d6000803e3d6000fd5b5050505050505050505050565b6000611e1d611acb565b9050306001600160a01b03821603611e3b5761168d85858585612eb6565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a04906116dd908890889088908890600401613fdc565b6000818311611e9e57611e998383613b9f565b610242565b6102428284613b9f565b600081831015611eb85781610242565b5090919050565b600080611eca611acb565b9050306001600160a01b03821603611ee757611344858585612f0f565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611f3090889088908890600401613f2a565b602060405180830381865afa158015611f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611344919061400b565b611a1a81612f1f565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611fd357611fd3613b36565b60209081029190910101526000808061202c7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611228565b925092509250610700838383612f40565b6060600061204961121e565b90506001600160a01b038116300361208a57600061207161206861062a565b60008787612f4c565b93509050806120835761208383613087565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af08906120d190879087906004016141a9565b6000604051808303816000875af11580156120f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613f56565b6000600861212860026020613b9f565b61213291906141c2565b9190911c919050565b60608160000361215a5750604080516020810190915260008152610242565b60006121668585612333565b90506107c381600085612310565b6000600860018061218760026020613b9f565b6121919190613b9f565b61219b9190613b9f565b6121a591906141c2565b8260ff911c1692915050565b60006102426121c0848461308f565b5490565b600083836040516020016121d99291906141d9565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b82156122cb576020831061226e5760208304840193506020838161226a5761226a613dbf565b0692505b82156122cb5760208390036000818410156122915750600019600884021c61229b565b50600019600882021c5b8554600886021b8184511682198216178452508184116122bc575050610b54565b50600194909401939182900391015b5b602082106122ed5783548152600190930192601f19909101906020016122cc565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f84840101166040528282526113da85858584612244565b600082826040516020016123489291906141d9565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff168110156113da576123b060ff601b83900360080287901c1683613bcc565b915060010161238e565b6000602082106123e0576020820484019350602082816123dc576123dc613dbf565b0691505b508254600882021b6020829003808411156113da576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161245a57507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6124877f746273746f72650000000000000000005461626c657300000000000000000000846130e5565b602060006123ba565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361251c57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161250f9493929190614215565b60405180910390a26115e7565b600061252787613101565b905060005b815181101561260057600082828151811061254957612549613b36565b602002602001015190506125756001826affffffffffffffffffffff191661318a90919063ffffffff16565b156125f7576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906125c4908c908c908c908c908c908c90600401614254565b600060405180830381600087803b1580156125de57600080fd5b505af11580156125f2573d6000803e3d6000fd5b505050505b5060010161252c565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516126379493929190614215565b60405180910390a2600061264b8888612333565b905060006020870190506126638260008951846131a8565b600061266e85612174565b11156126f25760006126808a8a61308f565b878155905060208601915060008060005b61269a88612174565b8160ff1610156126ed576126af8d8d836121c4565b92506126ca8a8260ff166028026038011c64ffffffffff1690565b91506126d983600084886131a8565b6126e38286613bcc565b9450600101612691565b505050505b60005b835181101561121257600084828151811061271257612712613b36565b6020026020010151905061273e6002826affffffffffffffffffffff191661318a90919063ffffffff16565b156127c0576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf9061278d908e908e908e908e908e908e90600401614254565b600060405180830381600087803b1580156127a757600080fd5b505af11580156127bb573d6000803e3d6000fd5b505050505b506001016126f5565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361285357837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612846939291906142ad565b60405180910390a2610b54565b600061285f8585612333565b9050600061286c86613101565b905060005b815181101561294157600082828151811061288e5761288e613b36565b602002602001015190506128ba6004826affffffffffffffffffffff191661318a90919063ffffffff16565b15612938576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612905908b908b908b908b906004016142ea565b600060405180830381600087803b15801561291f57600080fd5b505af1158015612933573d6000803e3d6000fd5b505050505b50600101612871565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612976939291906142ad565b60405180910390a2612991828565ffffffffffff1685613267565b60005b81518110156109cd5760008282815181106129b1576129b1613b36565b602002602001015190506129dd6008826affffffffffffffffffffff191661318a90919063ffffffff16565b15612a5b576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612a28908b908b908b908b906004016142ea565b600060405180830381600087803b158015612a4257600080fd5b505af1158015612a56573d6000803e3d6000fd5b505050505b50600101612994565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612b24577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612ae291815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614323565b6000612b3f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612b589190613b9f565b612b629190613bcc565b9050808214158015612b84575081612b7a8688614364565b64ffffffffff1614155b15612bd4576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612c25576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612c3284898461327d565b90506000612c3f8b613101565b905060005b8151811015612d0a576000828281518110612c6157612c61613b36565b60200260200101519050612c8d6010826affffffffffffffffffffff191661318a90919063ffffffff16565b15612d0157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612cce9796959493929190614382565b600060405180830381600087803b158015612ce857600080fd5b505af1158015612cfc573d6000803e3d6000fd5b505050505b50600101612c44565b5064ffffffffff881660005b8a60ff168160ff161015612d4957612d3d878260ff166028026038011c64ffffffffff1690565b90910190600101612d16565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612d84969594939291906143e0565b60405180910390a250828414612da5576000612da08c8c61308f565b839055505b6000612db28c8c8c6121c4565b9050612dc6818a64ffffffffff1689613267565b5060005b8151811015612e90576000828281518110612de757612de7613b36565b60200260200101519050612e136020826affffffffffffffffffffff191661318a90919063ffffffff16565b15612e8757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612e549796959493929190614382565b600060405180830381600087803b158015612e6e57600080fd5b505af1158015612e82573d6000803e3d6000fd5b505050505b50600101612dca565b505050505050505050505050565b6115e7868686868686612eb18d8d6121b1565b612a64565b6000612ec285856121b1565b90506000612edf828560ff166028026038011c64ffffffffff1690565b90506115e7868686612ef88764ffffffffff8716613b9f565b604080516000815260208101909152889088612a64565b600061090682611c3286866121b1565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b60008061130f8561334b565b60006060600080612f5c86613360565b90925090506001600160a01b038216612fad5785612f7987613404565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906141a9565b80612fbc57612fbc8689613541565b8615613028577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e730000000000000000000000000000000000000000000000000000000000001760006130108261358d565b9050613025826130208b84613bcc565b61361e565b50505b60006130348760101b90565b7fffffffffffffffffffffffffffff000000000000000000000000000000000000161461306c57613067888884886136d2565b613078565b6130788888848861374a565b90999098509650505050505050565b805160208201fd5b600082826040516020016130a49291906141d9565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b6040805160208101849052908101829052600090606001612348565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061313b5761313b613b36565b602090810291909101015260006131737f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611c12565b905061090661318582600084516113e2565b6137ab565b60008160ff168261319b8560581c90565b1660ff1614905092915050565b821561322257602083106131d2576020830484019350602083816131ce576131ce613dbf565b0692505b82156132225760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613213575050610b54565b50600194909401939182900391015b5b602082106132445780518455600190930192601f1990910190602001613223565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f838383516132788560200190565b6131a8565b600064ffffffffff8211156132c1576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106132f357808503820191506132fb565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061339a5761339a613b36565b6020908102919091010152600080806133f37f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611b0a565b9250925092506107008383836137bc565b606081601081901b6000613417836137c8565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156134725761346d7fffffffffffffffffffffffffffff00000000000000000000000000000000000084166137df565b6134a9565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156134df576134da836137df565b613516565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6040516020016135289392919061442f565b6040516020818303038152906040529350505050919050565b61354b8282613883565b6103615761355882613404565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906144bd565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106135c6576135c6613b36565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611cc7565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061365457613654613b36565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b8260008560405160200161369d91815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611d0a565b60006060836001600160a01b031660006136ed8589896138e1565b6040516136fa91906144e8565b60006040518083038185875af1925050503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606091505b509097909650945050505050565b60006060836001600160a01b03166137638488886138e1565b60405161377091906144e8565b600060405180830381855af49150503d8060008114613737576040519150601f19603f3d011682016040523d82523d6000602084013e61373c565b606060006102428360156000611c4c565b60008061130f85613910565b60006137d660706010613bcc565b9190911b919050565b606060005b6010811015613844577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613844576001016137e4565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006138d17f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff000000000000000000000000000000008516178361392c565b806102425750610242838361392c565b60608383836040516020016138f893929190614504565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c613359565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061396557613965613b36565b602002602001018181525050826001600160a01b031660001b8160018151811061399157613991613b36565b602090810291909101015260006139e97f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611cc7565b90506107c38160f81c90565b600060208284031215613a0757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611b0557600080fd5b600080600060608486031215613a5e57600080fd5b83359250613a6e60208501613a37565b9150613a7c60408501613a37565b90509250925092565b60008060408385031215613a9857600080fd5b613aa183613a37565b9150613aaf60208401613a37565b90509250929050565b60008151808452602080850194506020840160005b83811015613ae957815187529582019590820190600101613acd565b509495945050505050565b6020815260006102426020830184613ab8565b600060208284031215613b1957600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613b7d57613b7d613b4c565b5092915050565b61ffff818116838216019080821115613b7d57613b7d613b4c565b818103818111156101de576101de613b4c565b60006000198203613bc557613bc5613b4c565b5060010190565b808201808211156101de576101de613b4c565b600181815b80851115613c1a578160001904821115613c0057613c00613b4c565b80851615613c0d57918102915b93841c9390800290613be4565b509250929050565b600082613c31575060016101de565b81613c3e575060006101de565b8160018114613c545760028114613c5e57613c7a565b60019150506101de565b60ff841115613c6f57613c6f613b4c565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613c9d575081810a6101de565b613ca78383613bdf565b8060001904821115613cbb57613cbb613b4c565b029392505050565b600061024260ff841683613c22565b604051601f8201601f1916810167ffffffffffffffff81118282101715613cfb57613cfb613b20565b604052919050565b60006020808385031215613d1657600080fd5b825167ffffffffffffffff80821115613d2e57600080fd5b818501915085601f830112613d4257600080fd5b815181811115613d5457613d54613b20565b8060051b9150613d65848301613cd2565b8181529183018401918481019088841115613d7f57600080fd5b938501935b83851015613db3578451925063ffffffff83168314613da35760008081fd5b8282529385019390850190613d84565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613dec57613dec613dbf565b92169190910692915050565b600082613e0757613e07613dbf565b500690565b838152606060208201526000613e256060830185613ab8565b9050826040830152949350505050565b60005b83811015613e50578181015183820152602001613e38565b50506000910152565b600082601f830112613e6a57600080fd5b815167ffffffffffffffff811115613e8457613e84613b20565b613e976020601f19601f84011601613cd2565b818152846020838601011115613eac57600080fd5b610906826020830160208701613e35565b600080600060608486031215613ed257600080fd5b835167ffffffffffffffff80821115613eea57600080fd5b613ef687838801613e59565b9450602086015193506040860151915080821115613f1357600080fd5b50613f2086828701613e59565b9150509250925092565b838152606060208201526000613f436060830185613ab8565b905060ff83166040830152949350505050565b600060208284031215613f6857600080fd5b815167ffffffffffffffff811115613f7f57600080fd5b61090684828501613e59565b60008151808452613fa3816020860160208601613e35565b601f01601f19169290920160200192915050565b606081526000613fca6060830186613f8b565b60208301949094525060400152919050565b848152608060208201526000613ff56080830186613ab8565b60ff949094166040830152506060015292915050565b60006020828403121561401d57600080fd5b5051919050565b85815260a06020820152600061403d60a0830187613ab8565b828103604084015261404f8187613f8b565b90508460608401528281036080840152613db38185613f8b565b85815260a06020820152600061408260a0830187613ab8565b60ff86166040840152828103606084015261409d8186613f8b565b9150508260808301529695505050505050565b8481526080602082015260006140c96080830186613ab8565b60ff851660408401528281036060840152610ccb8185613f8b565b6000815160208301517fffffffff000000000000000000000000000000000000000000000000000000008082169350600483101561412c5780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361414a5761414a613b4c565b60010192915050565b86815260c06020820152600061416c60c0830188613ab8565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a084015261419c8185613f8b565b9998505050505050505050565b8281526040602082015260006109066040830184613f8b565b80820281158282048414176101de576101de613b4c565b8281526000602080830184516020860160005b82811015614208578151845292840192908401906001016141ec565b5091979650505050505050565b6080815260006142286080830187613ab8565b828103602084015261423a8187613f8b565b90508460408401528281036060840152610ccb8185613f8b565b86815260c06020820152600061426d60c0830188613ab8565b828103604084015261427f8188613f8b565b905085606084015282810360808401526142998186613f8b565b9150508260a0830152979650505050505050565b6060815260006142c06060830186613ab8565b65ffffffffffff8516602084015282810360408401526142e08185613f8b565b9695505050505050565b8481526080602082015260006143036080830186613ab8565b65ffffffffffff851660408401528281036060840152610ccb8185613f8b565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613f8b565b64ffffffffff818116838216019080821115613b7d57613b7d613b4c565b87815260e06020820152600061439b60e0830189613ab8565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526143d28185613f8b565b9a9950505050505050505050565b60c0815260006143f360c0830189613ab8565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261419c8185613f8b565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614490816003860160208901613e35565b8084019050816003820152845191506144b0826004830160208801613e35565b0160040195945050505050565b6040815260006144d06040830185613f8b565b90506001600160a01b03831660208301529392505050565b600082516144fa818460208701613e35565b9190910192915050565b60008451614516818460208901613e35565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212202b5e29dbfa803d88011fc212a4e62b0f71ad7148c0a2b4481035589be4a16d4164736f6c63430008180033","sourceMap":"488:5013:110:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:50;;;;;;:::i;:::-;;:::i;:::-;;;516:14:111;;509:22;491:41;;479:2;464:18;2331:198:50;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:111;;;689:74;;677:2;662:18;1262:113:50;543:226:111;1937:239:110;;;;;;:::i;:::-;;:::i;1616:110:50:-;;;-1:-1:-1;;3800:14:50;3796:25;3783:39;1413:25:111;;1401:2;1386:18;1616:110:50;1267:177:111;1762:169:110;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1356:400::-;;;;;;:::i;:::-;;:::i;:::-;;557:793;;;;;;:::i;:::-;;:::i;1942:98:50:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:50;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:50:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1937:239:110:-;2018:18;2049:8;2059;2071:22;2084:8;2071:12;:22::i;:::-;2048:45;;;;2112:1;2107:6;;:1;:6;;;:16;;;;;2122:1;2117:6;;:1;:6;;;2107:16;2103:67;;;2155:4;2139:20;;2103:67;2038:138;;1937:239;;;;;:::o;1762:169::-;1834:35;1888:36;1919:1;1922;1888:30;:36::i;:::-;1881:43;1762:169;-1:-1:-1;;;1762:169:110:o;1356:400::-;1406:13;1422:29;1442:8;1422:19;:29::i;:::-;1406:45;;1485:5;-1:-1:-1;;;;;1469:21:110;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1469:21:110;;1461:70;;;;-1:-1:-1;;;1461:70:110;;2807:2:111;1461:70:110;;;2789:21:111;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1461:70:110;;;;;;;;;1551:28;1570:8;1551:18;:28::i;:::-;1550:29;1542:67;;;;-1:-1:-1;;;1542:67:110;;3212:2:111;1542:67:110;;;3194:21:111;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1542:67:110;3010:349:111;1542:67:110;1620:28;1633:8;1643:1;1646;1620:12;:28::i;:::-;1658:34;1677:8;1687:4;1658:18;:34::i;:::-;1702:47;1734:1;1737;1740:8;1702:31;:47::i;:::-;1396:360;1356:400;:::o;557:793::-;626:13;642:29;662:8;642:19;:29::i;:::-;626:45;;705:5;-1:-1:-1;;;;;689:21:110;:12;:10;:12::i;:::-;-1:-1:-1;;;;;689:21:110;;681:69;;;;-1:-1:-1;;;681:69:110;;3566:2:111;681:69:110;;;3548:21:111;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;681:69:110;3364:399:111;681:69:110;768:28;787:8;768:18;:28::i;:::-;760:62;;;;-1:-1:-1;;;760:62:110;;3970:2:111;760:62:110;;;3952:21:111;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;760:62:110;3768:345:111;760:62:110;888:1;840:36;867:8;840:26;:36::i;:::-;:50;832:97;;;;-1:-1:-1;;;832:97:110;;4320:2:111;832:97:110;;;4302:21:111;4359:2;4339:18;;;4332:30;4398:34;4378:18;;;4371:62;4469:4;4449:18;;;4442:32;4491:19;;832:97:110;4118:398:111;832:97:110;941:15;958;977:22;990:8;977:12;:22::i;:::-;940:59;;;;1010:13;1025:12;1041:15;:13;:15::i;:::-;1009:47;;;;1079:5;1075:9;;:1;:9;;;1067:37;;;;-1:-1:-1;;;1067:37:110;;4723:2:111;1067:37:110;;;4705:21:111;4762:2;4742:18;;;4735:30;4801:17;4781:18;;;4774:45;4836:18;;1067:37:110;4521:339:111;1067:37:110;1126:6;1122:10;;:1;:10;;;1114:38;;;;-1:-1:-1;;;1114:38:110;;5067:2:111;1114:38:110;;;5049:21:111;5106:2;5086:18;;;5079:30;5145:17;5125:18;;;5118:45;5180:18;;1114:38:110;4865:339:111;1114:38:110;1170:43;1188:8;1198;1208:1;1211;1170:17;:43::i;:::-;:48;;1217:1;1170:48;1162:91;;;;-1:-1:-1;;;1162:91:110;;5411:2:111;1162:91:110;;;5393:21:111;5450:2;5430:18;;;5423:30;5489:32;5469:18;;;5462:60;5539:18;;1162:91:110;5209:354:111;1162:91:110;1263:47;1275:8;1285;1295;1305:1;1308;1263:11;:47::i;:::-;1320:23;1338:1;1341;1320:17;:23::i;:::-;616:734;;;;;557:793;;;:::o;1942:98:50:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:50;3325:45;2992:383;:::o;4891:393:90:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:90;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:81:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:81;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:81:o;4071:290:77:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:77;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:77:o;2592:291:93:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:93;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:93:o;5796:354:90:-;7947:22;;;16546:3:111;16542:16;;;16451:66;16538:25;;;7947:22:90;;;;16526:38:111;;;;16597:16;;;;16593:25;16580:11;;;16573:46;7947:22:90;;;;;;;;;6023:1;16635:11:111;;;6009:16:90;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:90;;-1:-1:-1;;6023:1:90;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:90;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:93:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:93;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;6097:14:111;6090:22;6085:3;6081:32;6069:45;;6139:1;6130:11;;5946:201;4107:27:93;;;;-1:-1:-1;;4107:27:93;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:81:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:81;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;9759:28:81;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;2779:297:85:-;2905:16;;;2919:1;2905:16;;;;;;;;;2849:19;;;;2905:16;;;;;;;;;;;;-1:-1:-1;2905:16:85;2876:45;;2942:13;2927:9;2937:1;2927:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;2962:13;2978:64;1157:66;3015:9;2962:13;1286:66;2978:26;:64::i;4657:361:84:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;3880:279:110:-;3982:6;4000:13;4024:3;4016:11;;:5;:11;;;:39;;4044:11;4050:5;4044:3;:11;:::i;:::-;4016:39;;;4030:11;4038:3;4030:5;:11;:::i;:::-;4000:55;;4065:13;4089:3;4081:11;;:5;:11;;;:39;;4109:11;4115:5;4109:3;:11;:::i;:::-;4081:39;;;4095:11;4103:3;4095:5;:11;:::i;:::-;4065:55;-1:-1:-1;4137:15:110;4065:55;4137:6;:15;:::i;:::-;4130:22;3880:279;-1:-1:-1;;;;;;;3880:279:110:o;4662:837::-;4774:25;4802:41;4824:8;4834;4802:21;:41::i;:::-;4774:69;;4853:24;4892:9;4887:438;4907:8;:15;4903:1;:19;4887:438;;;4958:8;4943;4952:1;4943:11;;;;;;;;:::i;:::-;;;;;;;:23;4939:327;;5008:4;4986:26;;5030:15;5048:8;5075:1;5057:8;:15;:19;;;;:::i;:::-;5048:29;;;;;;;;:::i;:::-;;;;;;;5030:47;;5095:65;5129:8;5139;5149:1;5152:7;5095:33;:65::i;:::-;5178:50;5209:8;5219;5178:30;:50::i;:::-;5246:5;;;4939:327;5297:3;;;;:::i;:::-;;;;4887:438;;;;5342:19;5334:63;;;;-1:-1:-1;;;5334:63:110;;7412:2:111;5334:63:110;;;7394:21:111;7451:2;7431:18;;;7424:30;7490:33;7470:18;;;7463:61;7541:18;;5334:63:110;7210:355:111;5334:63:110;5407:28;5420:8;5430:1;5433;5407:12;:28::i;:::-;5445:47;5477:1;5480;5483:8;5445:31;:47::i;2182:1692::-;2248:24;2283:30;2302:1;2305;2308;2283:30;;2311:1;2283:30;;:18;:30::i;:::-;2275:39;;2248:66;;2328:16;2348:1;2328:21;2324:58;;2365:7;2182:1692;;:::o;2324:58::-;2392:16;2422:14;2474:1;2455:16;:20;2451:163;;;-1:-1:-1;2504:1:110;;-1:-1:-1;2530:1:110;2451:163;;;-1:-1:-1;2575:1:110;;-1:-1:-1;2601:2:110;2451:163;2624:17;2660:22;;;2655:113;2688:8;2684:12;;:1;:12;2655:113;;;2730:27;2755:1;2730:24;:27::i;:::-;2717:40;;;;:::i;:::-;;-1:-1:-1;2698:3:110;;2655:113;;;;2778:34;2829:9;2815:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2815:24:110;-1:-1:-1;2778:61:110;-1:-1:-1;2849:13:110;2882:22;;;2877:274;2910:8;2906:12;;:1;:12;2877:274;;;2939:23;2965:24;2987:1;2965:21;:24::i;:::-;2939:50;;3008:9;3003:138;3027:6;:13;3023:1;:17;3003:138;;;3092:6;3099:1;3092:9;;;;;;;;:::i;:::-;;;;;;;3065:17;3083:5;3065:24;;;;;;;;:::i;:::-;;;;;;;;;;:36;3119:7;;;;:::i;:::-;;-1:-1:-1;;3042:3:110;;3003:138;;;-1:-1:-1;;2920:3:110;;2877:274;;;;3204:1;3177:17;:24;:28;3169:80;;;;-1:-1:-1;;;3169:80:110;;7902:2:111;3169:80:110;;;7884:21:111;7941:2;7921:18;;;7914:30;7980:34;7960:18;;;7953:62;8051:9;8031:18;;;8024:37;8078:19;;3169:80:110;7700:403:111;3169:80:110;3260:19;3344:13;3361:5;3344:22;3340:176;;3388:9;:20;3409;3428:1;3409:15;:20;:::i;:::-;3388:42;;;;;;;;;;;;;1413:25:111;;1401:2;1386:18;;1267:177;3388:42:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3388:42:110;;;;;;;;;;;;:::i;:::-;3382:48;;3340:176;;;3467:38;;;;;3488:16;3467:38;;;1413:25:111;3467:9:110;;:20;;1386:18:111;;3467:38:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3467:38:110;;;;;;;;;;;;:::i;:::-;3461:44;;3340:176;3525:24;3542:3;3546:1;3542:6;;;;;;;;:::i;:::-;;;;;;;3525:24;;:16;:24::i;:::-;3559:37;3576:3;3593:1;3580:3;:10;:14;;;;:::i;:::-;3576:19;;;;;;;;:::i;3559:37::-;3612:9;3607:261;3637:1;3628:3;3632:1;3628:6;;;;;;;;:::i;:::-;;;;;;;:10;;;;:::i;:::-;3623:16;;:1;:16;3607:261;;;3660:197;3757:17;3792;:24;3783:3;3787:1;3783:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;3757:61;;;;;;;;:::i;:::-;;;;;;;3820:1;3823;3695:148;;;;;;;;;11941:25:111;;;11985:6;12027:15;;;12022:2;12007:18;;12000:43;12079:15;12074:2;12059:18;;12052:43;11929:2;11914:18;;11743:358;3695:148:110;;;;-1:-1:-1;;3695:148:110;;;;;;;;;;;;;;;;;;;;3660:17;:197::i;:::-;-1:-1:-1;3641:3:110;;3607:261;;;;2238:1636;;;;;;;2182:1692;;:::o;4048:97:50:-;4089:7;4111:29;:27;:29::i;15347:431:24:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:24;-1:-1:-1;;;;;15578:30:24;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:24;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:24;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:90:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7131:8:90;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:90;-1:-1:-1;;;;7036:160:90:o;18598:431:24:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:24;-1:-1:-1;;;;;18805:30:24;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:24;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:24;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:21:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:21;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:21:o;45284:220:34:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:24:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:24;-1:-1:-1;;;;;17998:30:24;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:24;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:24;-1:-1:-1;;;;;6696:30:24;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:24;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:242;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:24;-1:-1:-1;;;;;10984:30:24;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:24;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:24;-1:-1:-1;;;;;12556:30:24;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:24;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:81:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:81;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;12402:28:81;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:81;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;4242:179:110:-;4341:6;4373:40;4378:16;4387:2;4391;4378:8;:16::i;:::-;4396;4405:2;4409;4396:8;:16::i;:::-;4373:4;:40::i;5306:308:87:-;5410:16;;;5424:1;5410:16;;;;;;;;;5366:7;;;;5410:16;;;;;;;;;;;;-1:-1:-1;5410:16:87;5381:45;;5463:5;5447:23;;5432:9;5442:1;5432:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;5477:19;5499:57;1071:66;5543:9;5477:19;5499:33;:57::i;:::-;5601:2;5587:16;;;;-1:-1:-1;;;;5306:308:87:o;2600:342::-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:87;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;1617:120:70:-;1670:60;1726:2;1686:43;;;;;;1413:25:111;;1401:2;1386:18;;1267:177;1686:43:70;;;;-1:-1:-1;;1686:43:70;;;;;;;;;;;;;;;;;;;;1670:15;:60::i;:::-;1617:120;:::o;3318:662:38:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;19330:98:111;19303:18;;3713:52:38;19186:248:111;3668:97:38;1759:4:1;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:38;3900:8;3936;3883:4;:92::i;1836:227:24:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:24;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:24:o;32759:1315:23:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:23;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:2;;;33532:33:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:23;-1:-1:-1;33518:47:23;-1:-1:-1;894:4:18;884:15;;33573:21:23;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:23;33808:25;:14;33831:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:23;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:23;37440:12;:257::i;2681:1129:36:-;2801:22;2831:21;2855;:11;2997:3:21;2975:25;;2901:104;2855:21:36;2831:45;-1:-1:-1;692:17:21;3238:38;;2882:20:36;3044:11;3238:38:21;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:23:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:3;:27;579:1:30;4322:44:3;4288:79;;;4275:93;36635:63:23;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:23;29171:49;29023:106;29202:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:23;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:24:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:24;-1:-1:-1;;;;;8464:30:24;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:24;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:24;-1:-1:-1;;;;;13402:30:24;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:24;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;4427:117:110:-;4490:7;4520:1;4516;:5;:21;;4532:5;4536:1;4532;:5;:::i;:::-;4516:21;;;4524:5;4528:1;4524;:5;:::i;4550:106::-;4609:7;4640:1;4635;:6;;:14;;4648:1;4635:14;;;-1:-1:-1;4644:1:110;;4550:106;-1:-1:-1;4550:106:110:o;21091:444:24:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:24;-1:-1:-1;;;;;21299:30:24;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;21295:236::-;21443:81;;;;;-1:-1:-1;;;;;21443:43:24;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;868:133:70:-;939:55;986:7;965:19;939:55::i;5805:471:60:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:60;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:38:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:38;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:38;-1:-1:-1;2409:177:38;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:38;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:38;;;;;;;;;;;;:::i;4598:171:3:-;4672:7;579:1:30;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:3;;;;;4598:171;-1:-1:-1;4598:171:3:o;48823:360:23:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:23;;;;;;;;;-1:-1:-1;48986:9:23;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:3:-;5451:7;579:1:30;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:3;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:3:o;53939:303:23:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:22;;4605:137;52742:274:23;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:22:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:22;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:22;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:22;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:22;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:22;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:23:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:23;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:23:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:3;4323:19;:27;;;579:1:30;4322:44:3;4288:79;;;4275:93;52003:32:23;;:::i;:::-;;-1:-1:-1;51990:3:23;;51958:84;;8945:812:22;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:22;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:23:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:29;;4015:652:23;-1:-1:-1;4015:652:23:o;4314:111::-;4469:185;4515:85;1213:66:29;4591:7:23;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:32;13976:4:23;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:4;;;;;14021:47:23;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:23;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:23;894:4:18;884:15;;14520:54:23;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:22;;;14915:102:23;-1:-1:-1;894:4:18;884:15;;15191:47:23;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:23;:14;15615:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:23;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:23;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:32;16125:4:23;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:4;;;;;16169:46:23;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:23;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:32;17798:4:23;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:4;;;;;17851:54:23;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:23;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:32;18455:4:23;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:4;;;;;18507:53:23;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:23;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;44775:25:23;;;;-1:-1:-1;;44775:25:23;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:23;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:23;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26067:12:111;26106:15;;;45340:92:23;;;26088:34:111;26158:15;;;26138:18;;;26131:43;26210:15;;26190:18;;;26183:43;26030:18;;45340:92:23;25861:371:111;45221:218:23;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26410:25:111;;;26483:12;26471:25;;26451:18;;;26444:53;26383:18;;45581:74:23;26237:266:111;45522:140:23;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:32;46104:4:23;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:4;;;;-1:-1:-1;;;;;46158:55:23;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:23;;46014:486;;;-1:-1:-1;46558:32:23;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:23;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:22;;;-1:-1:-1;47216:248:23;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:32;47858:4:23;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:4;;;;-1:-1:-1;;;;;47911:54:23;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:23;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:23;30643:49;30495:106;30674:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:23;30607:86;-1:-1:-1;30731:333:23;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;1007:380:70:-;1105:14;;591:42;1278:2;1265:16;;1081:21;;1105:14;1265:16;591:42;1314:5;1303:68;1294:77;;1231:150;;1007:380;:::o;8363:236:60:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:49:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:49;-1:-1:-1;;;;;;2067:27:49;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:51;2955:46;;696:18:69;2954:74:51;2432:22:49;2515:26;2954:74:51;2515:13:49;:26::i;:::-;2490:51;-1:-1:-1;2549:50:49;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:19;2637:44:51;;2539:148;2681:23:49;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:49;-1:-1:-1;;;;;;;1761:1386:49:o;348:217:67:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:23;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:23;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:23:o;51249:282::-;51494:30;;;;;;28718:19:111;;;28753:12;;;28746:28;;;51337:7:23;;28790:12:111;;51494:30:23;28530:278:111;3658:342:28;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:28;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:22:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:22;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:22;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:22;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:22;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:22;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:22;1055:5;:68::i;7468:1525:2:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:111;;;1386:18;;7664:67:2;1267:177:111;7618:120:2;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:2;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:2;;;;;:::o;7963:242:60:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;8028:19:60;;8173:26;8147:53;;7963:242;;;:::o;5928:433:64:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:64;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:51:-;3550:13;3620:10;451:5:19;2637:44:51;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:51;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:39:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:59:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:59;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:59;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;6281:19:111;;6325:2;6316:12;;6152:182;5279:27:59;;;;-1:-1:-1;;5279:27:59;;;;;;;;;1286:66;5230:24;:91::i;5594:317:50:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:50;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:50;;;;-1:-1:-1;5594:317:50;-1:-1:-1;;;;;5594:317:50:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:50;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:34;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:64:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:51:-;3228:7;3292:26;438:6;451:5:19;3292:26:51;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:51:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:1;3257:13;;3253:24;2007:42:51;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30719:66:111;30707:79;;2092:30:51;;;30695:92:111;2092:30:51;;30803:12:111;;;;2092:30:51;;;875:21:1;;;2092:30:51;2142:39;760:164:1;955:327:39;1036:4;1178:56;696:18:69;578:36:51;2955:46;;2954:74;1227:6:39;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:50:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:64:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7564:35:64;;;;;;7513:14;;7631:33;;7623:42;6914:97:93;4006:378:62;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:62;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:62;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:93;6914:97;14:332:111;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:111;;1710:439;-1:-1:-1;;;;;1710:439:111:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:111;;2420:180;-1:-1:-1;2420:180:111:o;5568:184::-;-1:-1:-1;;;5617:1:111;5610:88;5717:4;5714:1;5707:15;5741:4;5738:1;5731:15;5757:184;-1:-1:-1;;;5806:1:111;5799:88;5906:4;5903:1;5896:15;5930:4;5927:1;5920:15;6339:184;-1:-1:-1;;;6388:1:111;6381:88;6488:4;6485:1;6478:15;6512:4;6509:1;6502:15;6528:171;6596:6;6635:10;;;6623;;;6619:27;;6658:12;;;6655:38;;;6673:18;;:::i;:::-;6655:38;6528:171;;;;:::o;6704:168::-;6771:6;6797:10;;;6809;;;6793:27;;6832:11;;;6829:37;;;6846:18;;:::i;6877:128::-;6944:9;;;6965:11;;;6962:37;;;6979:18;;:::i;7010:195::-;7049:3;-1:-1:-1;;7073:5:111;7070:77;7067:103;;7150:18;;:::i;:::-;-1:-1:-1;7197:1:111;7186:13;;7010:195::o;7570:125::-;7635:9;;;7656:10;;;7653:36;;;7669:18;;:::i;8108:476::-;8197:1;8234:5;8197:1;8248:330;8269:7;8259:8;8256:21;8248:330;;;8388:4;-1:-1:-1;;8316:77:111;8310:4;8307:87;8304:113;;;8397:18;;:::i;:::-;8447:7;8437:8;8433:22;8430:55;;;8467:16;;;;8430:55;8546:22;;;;8506:15;;;;8248:330;;;8252:3;8108:476;;;;;:::o;8589:866::-;8638:5;8668:8;8658:80;;-1:-1:-1;8709:1:111;8723:5;;8658:80;8757:4;8747:76;;-1:-1:-1;8794:1:111;8808:5;;8747:76;8839:4;8857:1;8852:59;;;;8925:1;8920:130;;;;8832:218;;8852:59;8882:1;8873:10;;8896:5;;;8920:130;8957:3;8947:8;8944:17;8941:43;;;8964:18;;:::i;:::-;-1:-1:-1;;9020:1:111;9006:16;;9035:5;;8832:218;;9134:2;9124:8;9121:16;9115:3;9109:4;9106:13;9102:36;9096:2;9086:8;9083:16;9078:2;9072:4;9069:12;9065:35;9062:77;9059:159;;;-1:-1:-1;9171:19:111;;;9203:5;;9059:159;9250:34;9275:8;9269:4;9250:34;:::i;:::-;9380:6;-1:-1:-1;;9308:79:111;9299:7;9296:92;9293:118;;;9391:18;;:::i;:::-;9429:20;;8589:866;-1:-1:-1;;;8589:866:111:o;9460:140::-;9518:5;9547:47;9588:4;9578:8;9574:19;9568:4;9547:47;:::i;9795:334::-;9866:2;9860:9;9922:2;9912:13;;-1:-1:-1;;9908:86:111;9896:99;;10025:18;10010:34;;10046:22;;;10007:62;10004:88;;;10072:18;;:::i;:::-;10108:2;10101:22;9795:334;;-1:-1:-1;9795:334:111:o;10134:1110::-;10228:6;10259:2;10302;10290:9;10281:7;10277:23;10273:32;10270:52;;;10318:1;10315;10308:12;10270:52;10351:9;10345:16;10380:18;10421:2;10413:6;10410:14;10407:34;;;10437:1;10434;10427:12;10407:34;10475:6;10464:9;10460:22;10450:32;;10520:7;10513:4;10509:2;10505:13;10501:27;10491:55;;10542:1;10539;10532:12;10491:55;10571:2;10565:9;10593:2;10589;10586:10;10583:36;;;10599:18;;:::i;:::-;10645:2;10642:1;10638:10;10628:20;;10668:28;10692:2;10688;10684:11;10668:28;:::i;:::-;10730:15;;;10800:11;;;10796:20;;;10761:12;;;;10828:19;;;10825:39;;;10860:1;10857;10850:12;10825:39;10884:11;;;;10904:310;10920:6;10915:3;10912:15;10904:310;;;10993:3;10987:10;10974:23;;11041:10;11034:5;11030:22;11023:5;11020:33;11010:131;;11095:1;11124:2;11120;11113:14;11010:131;11154:18;;;10937:12;;;;11192;;;;10904:310;;;11233:5;10134:1110;-1:-1:-1;;;;;;;;10134:1110:111:o;11249:184::-;-1:-1:-1;;;11298:1:111;11291:88;11398:4;11395:1;11388:15;11422:4;11419:1;11412:15;11438:183;11469:1;11495:10;11532:2;11529:1;11525:10;11554:3;11544:37;;11561:18;;:::i;:::-;11599:10;;11595:20;;;;;11438:183;-1:-1:-1;;11438:183:111:o;11626:112::-;11658:1;11684;11674:35;;11689:18;;:::i;:::-;-1:-1:-1;11723:9:111;;11626:112::o;12106:466::-;12404:6;12393:9;12386:25;12447:2;12442;12431:9;12427:18;12420:30;12367:4;12467:56;12519:2;12508:9;12504:18;12496:6;12467:56;:::i;:::-;12459:64;;12559:6;12554:2;12543:9;12539:18;12532:34;12106:466;;;;;;:::o;12577:250::-;12662:1;12672:113;12686:6;12683:1;12680:13;12672:113;;;12762:11;;;12756:18;12743:11;;;12736:39;12708:2;12701:10;12672:113;;;-1:-1:-1;;12819:1:111;12801:16;;12794:27;12577:250::o;12832:568::-;12885:5;12938:3;12931:4;12923:6;12919:17;12915:27;12905:55;;12956:1;12953;12946:12;12905:55;12985:6;12979:13;13011:18;13007:2;13004:26;13001:52;;;13033:18;;:::i;:::-;13077:114;13185:4;-1:-1:-1;;13109:4:111;13105:2;13101:13;13097:86;13093:97;13077:114;:::i;:::-;13216:2;13207:7;13200:19;13262:3;13255:4;13250:2;13242:6;13238:15;13234:26;13231:35;13228:55;;;13279:1;13276;13269:12;13228:55;13292:77;13366:2;13359:4;13350:7;13346:18;13339:4;13331:6;13327:17;13292:77;:::i;13405:654::-;13546:6;13554;13562;13615:2;13603:9;13594:7;13590:23;13586:32;13583:52;;;13631:1;13628;13621:12;13583:52;13664:9;13658:16;13693:18;13734:2;13726:6;13723:14;13720:34;;;13750:1;13747;13740:12;13720:34;13773:60;13825:7;13816:6;13805:9;13801:22;13773:60;:::i;:::-;13763:70;;13873:2;13862:9;13858:18;13852:25;13842:35;;13923:2;13912:9;13908:18;13902:25;13886:41;;13952:2;13942:8;13939:16;13936:36;;;13968:1;13965;13958:12;13936:36;;13991:62;14045:7;14034:8;14023:9;14019:24;13991:62;:::i;:::-;13981:72;;;13405:654;;;;;:::o;14064:441::-;14326:6;14315:9;14308:25;14369:2;14364;14353:9;14349:18;14342:30;14289:4;14389:56;14441:2;14430:9;14426:18;14418:6;14389:56;:::i;:::-;14381:64;;14493:4;14485:6;14481:17;14476:2;14465:9;14461:18;14454:45;14064:441;;;;;;:::o;14510:335::-;14589:6;14642:2;14630:9;14621:7;14617:23;14613:32;14610:52;;;14658:1;14655;14648:12;14610:52;14691:9;14685:16;14724:18;14716:6;14713:30;14710:50;;;14756:1;14753;14746:12;14710:50;14779:60;14831:7;14822:6;14811:9;14807:22;14779:60;:::i;14850:329::-;14891:3;14929:5;14923:12;14956:6;14951:3;14944:19;14972:76;15041:6;15034:4;15029:3;15025:14;15018:4;15011:5;15007:16;14972:76;:::i;:::-;15093:2;15081:15;-1:-1:-1;;15077:88:111;15068:98;;;;15168:4;15064:109;;14850:329;-1:-1:-1;;14850:329:111:o;15184:359::-;15387:2;15376:9;15369:21;15350:4;15407:44;15447:2;15436:9;15432:18;15424:6;15407:44;:::i;:::-;15482:2;15467:18;;15460:34;;;;-1:-1:-1;15525:2:111;15510:18;15503:34;15399:52;15184:359;-1:-1:-1;15184:359:111:o;15548:546::-;15870:6;15859:9;15852:25;15913:3;15908:2;15897:9;15893:18;15886:31;15833:4;15934:57;15986:3;15975:9;15971:19;15963:6;15934:57;:::i;:::-;16039:4;16027:17;;;;16022:2;16007:18;;16000:45;-1:-1:-1;16076:2:111;16061:18;16054:34;15926:65;15548:546;-1:-1:-1;;15548:546:111:o;16099:184::-;16169:6;16222:2;16210:9;16201:7;16197:23;16193:32;16190:52;;;16238:1;16235;16228:12;16190:52;-1:-1:-1;16261:16:111;;16099:184;-1:-1:-1;16099:184:111:o;16657:792::-;17050:6;17039:9;17032:25;17093:3;17088:2;17077:9;17073:18;17066:31;17013:4;17120:57;17172:3;17161:9;17157:19;17149:6;17120:57;:::i;:::-;17225:9;17217:6;17213:22;17208:2;17197:9;17193:18;17186:50;17259:32;17284:6;17276;17259:32;:::i;:::-;17245:46;;17327:6;17322:2;17311:9;17307:18;17300:34;17383:9;17375:6;17371:22;17365:3;17354:9;17350:19;17343:51;17411:32;17436:6;17428;17411:32;:::i;17454:707::-;17822:6;17811:9;17804:25;17865:3;17860:2;17849:9;17845:18;17838:31;17785:4;17892:57;17944:3;17933:9;17929:19;17921:6;17892:57;:::i;:::-;17997:4;17989:6;17985:17;17980:2;17969:9;17965:18;17958:45;18051:9;18043:6;18039:22;18034:2;18023:9;18019:18;18012:50;18079:32;18104:6;18096;18079:32;:::i;:::-;18071:40;;;18148:6;18142:3;18131:9;18127:19;18120:35;17454:707;;;;;;;;:::o;18166:603::-;18474:6;18463:9;18456:25;18517:3;18512:2;18501:9;18497:18;18490:31;18437:4;18544:57;18596:3;18585:9;18581:19;18573:6;18544:57;:::i;:::-;18649:4;18641:6;18637:17;18632:2;18621:9;18617:18;18610:45;18703:9;18695:6;18691:22;18686:2;18675:9;18671:18;18664:50;18731:32;18756:6;18748;18731:32;:::i;18774:407::-;18857:5;18897;18891:12;18939:4;18932:5;18928:16;18922:23;18964:66;19056:2;19052;19048:11;19039:20;;19082:1;19074:6;19071:13;19068:107;;;19162:2;19156;19146:6;19143:1;19139:14;19136:1;19132:22;19128:31;19124:2;19120:40;19116:49;19107:58;;19068:107;;;;18774:407;;;:::o;19439:175::-;19476:3;19520:4;19513:5;19509:16;19549:4;19540:7;19537:17;19534:43;;19557:18;;:::i;:::-;19606:1;19593:15;;19439:175;-1:-1:-1;;19439:175:111:o;19619:792::-;19979:6;19968:9;19961:25;20022:3;20017:2;20006:9;20002:18;19995:31;19942:4;20049:57;20101:3;20090:9;20086:19;20078:6;20049:57;:::i;:::-;20154:4;20142:17;;20137:2;20122:18;;20115:45;20179:12;20227:15;;;20222:2;20207:18;;20200:43;20280:15;;20274:3;20259:19;;20252:44;20333:22;;;20327:3;20312:19;;20305:51;20373:32;20337:6;20390;20373:32;:::i;:::-;20365:40;19619:792;-1:-1:-1;;;;;;;;;19619:792:111:o;21124:319::-;21330:6;21319:9;21312:25;21373:2;21368;21357:9;21353:18;21346:30;21293:4;21393:44;21433:2;21422:9;21418:18;21410:6;21393:44;:::i;21448:168::-;21521:9;;;21552;;21569:15;;;21563:22;;21549:37;21539:71;;21590:18;;:::i;21621:639::-;21871:6;21866:3;21859:19;21841:3;21897:2;21930;21925:3;21921:12;21962:6;21956:13;22027:2;22019:6;22015:15;22048:1;22058:175;22072:6;22069:1;22066:13;22058:175;;;22135:13;;22121:28;;22171:14;;;;22208:15;;;;22094:1;22087:9;22058:175;;;-1:-1:-1;22249:5:111;;21621:639;-1:-1:-1;;;;;;;21621:639:111:o;22265:689::-;22599:3;22588:9;22581:22;22562:4;22626:57;22678:3;22667:9;22663:19;22655:6;22626:57;:::i;:::-;22731:9;22723:6;22719:22;22714:2;22703:9;22699:18;22692:50;22765:32;22790:6;22782;22765:32;:::i;:::-;22751:46;;22833:6;22828:2;22817:9;22813:18;22806:34;22888:9;22880:6;22876:22;22871:2;22860:9;22856:18;22849:50;22916:32;22941:6;22933;22916:32;:::i;22959:896::-;23412:6;23401:9;23394:25;23455:3;23450:2;23439:9;23435:18;23428:31;23375:4;23482:57;23534:3;23523:9;23519:19;23511:6;23482:57;:::i;:::-;23587:9;23579:6;23575:22;23570:2;23559:9;23555:18;23548:50;23621:32;23646:6;23638;23621:32;:::i;:::-;23607:46;;23689:6;23684:2;23673:9;23669:18;23662:34;23745:9;23737:6;23733:22;23727:3;23716:9;23712:19;23705:51;23773:32;23798:6;23790;23773:32;:::i;:::-;23765:40;;;23842:6;23836:3;23825:9;23821:19;23814:35;22959:896;;;;;;;;;:::o;23860:511::-;24111:2;24100:9;24093:21;24074:4;24137:56;24189:2;24178:9;24174:18;24166:6;24137:56;:::i;:::-;24241:14;24233:6;24229:27;24224:2;24213:9;24209:18;24202:55;24305:9;24297:6;24293:22;24288:2;24277:9;24273:18;24266:50;24333:32;24358:6;24350;24333:32;:::i;:::-;24325:40;23860:511;-1:-1:-1;;;;;;23860:511:111:o;24376:615::-;24686:6;24675:9;24668:25;24729:3;24724:2;24713:9;24709:18;24702:31;24649:4;24756:57;24808:3;24797:9;24793:19;24785:6;24756:57;:::i;:::-;24861:14;24853:6;24849:27;24844:2;24833:9;24829:18;24822:55;24925:9;24917:6;24913:22;24908:2;24897:9;24893:18;24886:50;24953:32;24978:6;24970;24953:32;:::i;25214:463::-;25460:66;25452:6;25448:79;25437:9;25430:98;25564:6;25559:2;25548:9;25544:18;25537:34;25607:2;25602;25591:9;25587:18;25580:30;25411:4;25627:44;25667:2;25656:9;25652:18;25644:6;25627:44;:::i;25682:174::-;25749:12;25781:10;;;25793;;;25777:27;;25816:11;;;25813:37;;;25830:18;;:::i;26508:899::-;26931:6;26920:9;26913:25;26974:3;26969:2;26958:9;26954:18;26947:31;26894:4;27001:57;27053:3;27042:9;27038:19;27030:6;27001:57;:::i;:::-;27106:4;27094:17;;27089:2;27074:18;;27067:45;27131:12;27179:15;;;27174:2;27159:18;;27152:43;27232:15;;27226:3;27211:19;;27204:44;27279:3;27264:19;;27257:35;;;27329:22;;;27323:3;27308:19;;27301:51;27369:32;27333:6;27386;27369:32;:::i;:::-;27361:40;26508:899;-1:-1:-1;;;;;;;;;;26508:899:111:o;27412:787::-;27776:3;27765:9;27758:22;27739:4;27803:57;27855:3;27844:9;27840:19;27832:6;27803:57;:::i;:::-;27908:4;27900:6;27896:17;27891:2;27880:9;27876:18;27869:45;27962:14;27954:6;27950:27;27945:2;27934:9;27930:18;27923:55;28026:12;28018:6;28014:25;28009:2;27998:9;27994:18;27987:53;28077:6;28071:3;28060:9;28056:19;28049:35;28133:9;28125:6;28121:22;28115:3;28104:9;28100:19;28093:51;28161:32;28186:6;28178;28161:32;:::i;28813:925::-;29262:66;29254:6;29250:79;29245:3;29238:92;29220:3;29349;29381:2;29377:1;29372:3;29368:11;29361:23;29413:6;29407:13;29429:74;29496:6;29492:1;29487:3;29483:11;29476:4;29468:6;29464:17;29429:74;:::i;:::-;29531:6;29526:3;29522:16;29512:26;;29566:2;29562:1;29558:2;29554:10;29547:22;29600:6;29594:13;29578:29;;29616:75;29682:8;29678:1;29674:2;29670:10;29663:4;29655:6;29651:17;29616:75;:::i;:::-;29711:17;29730:1;29707:25;;28813:925;-1:-1:-1;;;;;28813:925:111:o;29743:339::-;29920:2;29909:9;29902:21;29883:4;29940:44;29980:2;29969:9;29965:18;29957:6;29940:44;:::i;:::-;29932:52;;-1:-1:-1;;;;;30024:6:111;30020:55;30015:2;30004:9;30000:18;29993:83;29743:339;;;;;:::o;30274:287::-;30403:3;30441:6;30435:13;30457:66;30516:6;30511:3;30504:4;30496:6;30492:17;30457:66;:::i;:::-;30539:16;;;;;30274:287;-1:-1:-1;;30274:287:111:o;30826:530::-;31011:3;31049:6;31043:13;31065:66;31124:6;31119:3;31112:4;31104:6;31100:17;31065:66;:::i;:::-;31200:2;31196:15;;;;31213:66;31192:88;31153:16;;;;31178:103;;;31308:2;31297:14;;31290:30;;;;31347:2;31336:14;;30826:530;-1:-1:-1;;30826:530:111:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3993,"length":20},{"start":4180,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@chainlink/=lib/founcry-chainlink-toolkit/\",\":@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/\",\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/\",\":openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4\",\"dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC\"]},\"src/codegen/tables/ActionOutcome.sol\":{\"keccak256\":\"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a\",\"dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39\",\"dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae\",\"dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2\",\"dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0\",\"dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5\",\"dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/RngLogs.sol\":{\"keccak256\":\"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619\",\"dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/IAdminSystem.sol\":{\"keccak256\":\"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b\",\"dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78\",\"dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f\",\"dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a\",\"dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c\",\"dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef\",\"dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0xe2d5ded0fad48c9bd9fbf29d654c6719fbcafa896b48b4ab30c8c326a5f84b9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e55bae0c242167ba1a2d4929390aa3da01cb19c46994b76f5f726a7d6509f9c\",\"dweb:/ipfs/QmeaRRBYh7tQSC2Coojujx9kVea9WewNxre9PZuYdFGcCY\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@chainlink/=lib/founcry-chainlink-toolkit/","@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/","@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/","openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315","urls":["bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4","dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC"],"license":"MIT"},"src/codegen/tables/ActionOutcome.sol":{"keccak256":"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956","urls":["bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a","dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b","urls":["bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39","dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b","urls":["bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae","dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd","urls":["bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2","dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85","urls":["bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0","dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e","urls":["bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5","dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/RngLogs.sol":{"keccak256":"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821","urls":["bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619","dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/IAdminSystem.sol":{"keccak256":"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6","urls":["bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b","dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373","urls":["bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78","dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595","urls":["bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f","dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f","urls":["bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a","dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859","urls":["bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c","dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47","urls":["bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef","dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0xe2d5ded0fad48c9bd9fbf29d654c6719fbcafa896b48b4ab30c8c326a5f84b9f","urls":["bzz-raw://1e55bae0c242167ba1a2d4929390aa3da01cb19c46994b76f5f726a7d6509f9c","dweb:/ipfs/QmeaRRBYh7tQSC2Coojujx9kVea9WewNxre9PZuYdFGcCY"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file +{"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getEntitiesAtPosition","inputs":[{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"entitiesAtPosition","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"isAtPosition","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"_isAtPosition","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"move","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"},{"name":"x","type":"uint16","internalType":"uint16"},{"name":"y","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spawn","inputs":[{"name":"entityId","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"event","name":"Store_SetRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"staticData","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"dynamicData","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"EncodedLengths"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"EncodedLengths_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506144a1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b36600461390a565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461395e565b6101f3565b604051601f1936013581526020016100ac565b61010e61010936600461399a565b610236565b6040516100ac9190613a09565b61012e610129366004613a1c565b610249565b005b61012e61013e36600461395e565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee6111d3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613a4b565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e040200020200000000000000000000000000000000000000000000000000006111dd565b9250925092506107008383836112ad565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613a4b565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613a4b565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f7369746983836112d0565b90506107c36107be8260008451611397565b611425565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613a4b565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611436565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613a4b565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611436565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613a4b565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866114f3565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613a4b565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115a4565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613a4b565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613a4b565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b60405160208183030381529060405261161a565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613a4b565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611436565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e040200020200000000000000000000000000000000000000000000000000006111dd565b925092509250610c5c8383836112ad565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613a77565b610c93565b610c938487613a77565b905060008361ffff168661ffff1611610cb557610cb08685613a77565b610cbf565b610cbf8487613a77565b9050610ccb8183613a99565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613a4b565b602002602001015103610d5c576001915060008360018551610d269190613ab4565b81518110610d3657610d36613a4b565b60200260200101519050610d4c888884846116cc565b610d568888611797565b50610d6e565b80610d6681613ac7565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611837565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e3781611855565b610e419083613ae1565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613a35565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb0826118d5565b905060005b8151811015610f0a57818181518110610ed057610ed0613a4b565b6020026020010151858581518110610eea57610eea613a4b565b602090810291909101015283610eff81613ac7565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613bd8565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613c18565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613c18565b90505b60005b6006826000815181106110d1576110d1613a4b565b60200260200101516110e39190613cea565b63ffffffff168110156111c7576111be84855184848151811061110857611108613a4b565b602002602001015163ffffffff166111209190613d0d565b8151811061113057611130613a4b565b60200260200101518b8b6040516024016111619392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc42480000000000000000000000000000000000000000000000000000000017905261195c565b506001016110bc565b50505050505050505050565b60006101ee611a0a565b60606000606060006111ed611a0a565b9050306001600160a01b038216036112165761120a878787611a49565b935093509350506112a4565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061125f908a908a908a90600401613d21565b600060405180830381865afa15801561127c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261120a9190810190613dd2565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006112dc611a0a565b9050306001600160a01b03821603611301576112f9858585611b51565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061134a90889088908890600401613e3f565b600060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112f99190810190613e6b565b509392505050565b6000818311806113a75750835182115b156113e4578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613ecc565b602084016113f28482613ae1565b905060006114008585613ab4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611b8b565b600080611441611a0a565b9050306001600160a01b038216036114675761145f86868686611c06565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114b2908990899089908990600401613ef1565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145f9190613f20565b60006114fd611a0a565b9050306001600160a01b038216036115215761151c8686868686611c33565b61159c565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061156e9089908990899089908990600401613f39565b600060405180830381600087803b15801561158857600080fd5b505af11580156111c7573d6000803e3d6000fd5b505050505050565b60006115ae611a0a565b9050306001600160a01b038216036115cd5761151c8686868686611c49565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061156e9089908990899089908990600401613f7e565b6000611624611a0a565b9050306001600160a01b038216036116475761164285858585611c5e565b6116c5565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611692908890889088908890600401613fc5565b600060405180830381600087803b1580156116ac57600080fd5b505af11580156116c0573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061170857611708613a4b565b6020026020010181815250508361ffff1660001b8160018151811061172f5761172f613a4b565b60200260200101818152505060008260405160200161175091815260200190565b604051602081830303815290604052905061159c7f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611c99565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106117d3576117d3613a4b565b6020026020010181815250508161ffff1660001b816001815181106117fa576117fa613a4b565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611d52565b60006107c36118468685611dc5565b6118508685611dc5565b611de7565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061189157611891613a4b565b602090810291909101015260006118c97f746255440000000000000000000000004d6f627342794c6576656c00000000008383611dfe565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061191257611912613a4b565b6020908102919091010152600061194a7f746255440000000000000000000000004d6f627342794c6576656c000000000083836112d0565b90506109066107be8260008451611397565b606060008061197261196d85613ff9565b611eb0565b91509150816000801b036119d8576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526109068285611f73565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611a44573391505090565b919050565b6060600060606000611a5a8561204e565b9050611a67878783612071565b93506000611a74866120aa565b90508015611b4657611a8688886120e7565b935066ffffffffffffff841667ffffffffffffffff811115611aaa57611aaa613a35565b6040519080825280601f01601f191660200182016040528015611ad4576020820181803683370190505b5092506020830160005b828160ff161015611b43576000611af68b8b846120fa565b90506000611b13888460ff166028026038011c64ffffffffff1690565b9050611b22826000838761217a565b611b2c8185613ae1565b935050508080611b3b90614049565b915050611ade565b50505b505093509350939050565b6060610906611b618585856120fa565b6000611b8685611b7189896120e7565b9060ff166028026038011c64ffffffffff1690565b612246565b60606000611b998560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611bbf57611bbf613cd4565b04905060405193506020840160208202810160405281855260005b82811015611bfa578451871c825293870193602090910190600101611bda565b50505050509392505050565b60006107c3611c158686612269565b60ff858116601b0360080285901c16611c2e85876122bf565b6122f0565b6116c58585858585611c448b612341565b6123c6565b6116c58585611c5884876122bf565b856126ff565b6000611c6a85856120e7565b90506000611c87828560ff166028026038011c64ffffffffff1690565b905061159c868686846000888861299a565b6000611ca3611a0a565b9050306001600160a01b03821603611cc857611cc3878787878787612dd4565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611d17908a908a908a908a908a908a90600401614068565b600060405180830381600087803b158015611d3157600080fd5b505af1158015611d45573d6000803e3d6000fd5b5050505050505050505050565b6000611d5c611a0a565b9050306001600160a01b03821603611d7a5761164285858585612dec565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611692908890889088908890600401613ef1565b6000818311611ddd57611dd88383613ab4565b610242565b6102428284613ab4565b600081831015611df75781610242565b5090919050565b600080611e09611a0a565b9050306001600160a01b03821603611e26576112f9858585612e45565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611e6f90889088908890600401613e3f565b602060405180830381865afa158015611e8c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f99190613f20565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611f0957611f09613a4b565b602090810291909101015260008080611f627f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006111dd565b925092509250610700838383612e55565b60606000611f7f6111d3565b90506001600160a01b0381163003611fc0576000611fa7611f9e61062a565b60008787612e61565b9350905080611fb957611fb983612f9c565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af089061200790879087906004016140be565b6000604051808303816000875af1158015612026573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613e6b565b6000600861205e60026020613ab4565b61206891906140d7565b9190911c919050565b6060816000036120905750604080516020810190915260008152610242565b600061209c8585612269565b90506107c381600085612246565b600060086001806120bd60026020613ab4565b6120c79190613ab4565b6120d19190613ab4565b6120db91906140d7565b8260ff911c1692915050565b60006102426120f68484612fa4565b5490565b6000838360405160200161210f9291906140ee565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561220157602083106121a4576020830484019350602083816121a0576121a0613cd4565b0692505b82156122015760208390036000818410156121c75750600019600884021c6121d1565b50600019600882021c5b8554600886021b8184511682198216178452508184116121f2575050610b54565b50600194909401939182900391015b5b602082106122235783548152600190930192601f1990910190602001612202565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261138f8585858461217a565b6000828260405160200161227e9291906140ee565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561138f576122e660ff601b83900360080287901c1683613ae1565b91506001016122c4565b6000602082106123165760208204840193506020828161231257612312613cd4565b0691505b508254600882021b60208290038084111561138f576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161239057507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6123bd7f746273746f72650000000000000000005461626c65730000000000000000000084612ffa565b602060006122f0565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361245257857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612445949392919061412a565b60405180910390a261159c565b600061245d87613016565b905060005b815181101561253657600082828151811061247f5761247f613a4b565b602002602001015190506124ab6001826affffffffffffffffffffff191661309f90919063ffffffff16565b1561252d576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906124fa908c908c908c908c908c908c90600401614169565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612462565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161256d949392919061412a565b60405180910390a260006125818888612269565b905060006020870190506125998260008951846130bd565b60006125a4856120aa565b11156126285760006125b68a8a612fa4565b878155905060208601915060008060005b6125d0886120aa565b8160ff161015612623576125e58d8d836120fa565b92506126008a8260ff166028026038011c64ffffffffff1690565b915061260f83600084886130bd565b6126198286613ae1565b94506001016125c7565b505050505b60005b83518110156111c757600084828151811061264857612648613a4b565b602002602001015190506126746002826affffffffffffffffffffff191661309f90919063ffffffff16565b156126f6576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906126c3908e908e908e908e908e908e90600401614169565b600060405180830381600087803b1580156126dd57600080fd5b505af11580156126f1573d6000803e3d6000fd5b505050505b5060010161262b565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361278957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161277c939291906141c2565b60405180910390a2610b54565b60006127958585612269565b905060006127a286613016565b905060005b81518110156128775760008282815181106127c4576127c4613a4b565b602002602001015190506127f06004826affffffffffffffffffffff191661309f90919063ffffffff16565b1561286e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061283b908b908b908b908b906004016141ff565b600060405180830381600087803b15801561285557600080fd5b505af1158015612869573d6000803e3d6000fd5b505050505b506001016127a7565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128ac939291906141c2565b60405180910390a26128c7828565ffffffffffff168561317c565b60005b81518110156109cd5760008282815181106128e7576128e7613a4b565b602002602001015190506129136008826affffffffffffffffffffff191661309f90919063ffffffff16565b15612991576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061295e908b908b908b908b906004016141ff565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612a5a577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612a1891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614238565b6000612a75828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a8e9190613ab4565b612a989190613ae1565b9050808214158015612aba575081612ab08688614279565b64ffffffffff1614155b15612b0a576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612b5b576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612b68848984613192565b90506000612b758b613016565b905060005b8151811015612c40576000828281518110612b9757612b97613a4b565b60200260200101519050612bc36010826affffffffffffffffffffff191661309f90919063ffffffff16565b15612c3757606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c049796959493929190614297565b600060405180830381600087803b158015612c1e57600080fd5b505af1158015612c32573d6000803e3d6000fd5b505050505b50600101612b7a565b5064ffffffffff881660005b8a60ff168160ff161015612c7f57612c73878260ff166028026038011c64ffffffffff1690565b90910190600101612c4c565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612cba969594939291906142f5565b60405180910390a250828414612cdb576000612cd68c8c612fa4565b839055505b6000612ce88c8c8c6120fa565b9050612cfc818a64ffffffffff168961317c565b5060005b8151811015612dc6576000828281518110612d1d57612d1d613a4b565b60200260200101519050612d496020826affffffffffffffffffffff191661309f90919063ffffffff16565b15612dbd57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d8a9796959493929190614297565b600060405180830381600087803b158015612da457600080fd5b505af1158015612db8573d6000803e3d6000fd5b505050505b50600101612d00565b505050505050505050505050565b61159c868686868686612de78d8d6120e7565b61299a565b6000612df885856120e7565b90506000612e15828560ff166028026038011c64ffffffffff1690565b905061159c868686612e2e8764ffffffffff8716613ab4565b60408051600081526020810190915288908861299a565b600061090682611b7186866120e7565b6000806112c485613260565b60006060600080612e7186613275565b90925090506001600160a01b038216612ec25785612e8e87613319565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906140be565b80612ed157612ed18689613456565b8615612f3d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612f25826134a2565b9050612f3a82612f358b84613ae1565b613533565b50505b6000612f498760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612f8157612f7c888884886135e7565b612f8d565b612f8d8888848861365f565b90999098509650505050505050565b805160208201fd5b60008282604051602001612fb99291906140ee565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516020810184905290810182905260009060600161227e565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061305057613050613a4b565b602090810291909101015260006130887f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611b51565b905061090661309a8260008451611397565b6136c0565b60008160ff16826130b08560581c90565b1660ff1614905092915050565b821561313757602083106130e7576020830484019350602083816130e3576130e3613cd4565b0692505b82156131375760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613128575050610b54565b50600194909401939182900391015b5b602082106131595780518455600190930192601f1990910190602001613138565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f8383835161318d8560200190565b6130bd565b600064ffffffffff8211156131d6576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106132085780850382019150613210565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106132af576132af613a4b565b6020908102919091010152600080806133087f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611a49565b9250925092506107008383836136d1565b606081601081901b600061332c836136dd565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613387576133827fffffffffffffffffffffffffffff00000000000000000000000000000000000084166136f4565b6133be565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156133f4576133ef836136f4565b61342b565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161343d93929190614344565b6040516020818303038152906040529350505050919050565b6134608282613798565b6103615761346d82613319565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906143d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134db576134db613a4b565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611c06565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061356957613569613a4b565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016135b291815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611c49565b60006060836001600160a01b031660006136028589896137f6565b60405161360f91906143fd565b60006040518083038185875af1925050503d806000811461364c576040519150601f19603f3d011682016040523d82523d6000602084013e613651565b606091505b509097909650945050505050565b60006060836001600160a01b03166136788488886137f6565b60405161368591906143fd565b600060405180830381855af49150503d806000811461364c576040519150601f19603f3d011682016040523d82523d6000602084013e613651565b606060006102428360156000611b8b565b6000806112c485613825565b60006136eb60706010613ae1565b9190911b919050565b606060005b6010811015613759577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613759576001016136f9565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006137e67f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613841565b8061024257506102428383613841565b606083838360405160200161380d93929190614419565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c61326e565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061387a5761387a613a4b565b602002602001018181525050826001600160a01b031660001b816001815181106138a6576138a6613a4b565b602090810291909101015260006138fe7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611c06565b90506107c38160f81c90565b60006020828403121561391c57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611a4457600080fd5b60008060006060848603121561397357600080fd5b833592506139836020850161394c565b91506139916040850161394c565b90509250925092565b600080604083850312156139ad57600080fd5b6139b68361394c565b91506139c46020840161394c565b90509250929050565b60008151808452602080850194506020840160005b838110156139fe578151875295820195908201906001016139e2565b509495945050505050565b60208152600061024260208301846139cd565b600060208284031215613a2e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613a9257613a92613a61565b5092915050565b61ffff818116838216019080821115613a9257613a92613a61565b818103818111156101de576101de613a61565b60006000198203613ada57613ada613a61565b5060010190565b808201808211156101de576101de613a61565b600181815b80851115613b2f578160001904821115613b1557613b15613a61565b80851615613b2257918102915b93841c9390800290613af9565b509250929050565b600082613b46575060016101de565b81613b53575060006101de565b8160018114613b695760028114613b7357613b8f565b60019150506101de565b60ff841115613b8457613b84613a61565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613bb2575081810a6101de565b613bbc8383613af4565b8060001904821115613bd057613bd0613a61565b029392505050565b600061024260ff841683613b37565b604051601f8201601f1916810167ffffffffffffffff81118282101715613c1057613c10613a35565b604052919050565b60006020808385031215613c2b57600080fd5b825167ffffffffffffffff80821115613c4357600080fd5b818501915085601f830112613c5757600080fd5b815181811115613c6957613c69613a35565b8060051b9150613c7a848301613be7565b8181529183018401918481019088841115613c9457600080fd5b938501935b83851015613cc8578451925063ffffffff83168314613cb85760008081fd5b8282529385019390850190613c99565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613d0157613d01613cd4565b92169190910692915050565b600082613d1c57613d1c613cd4565b500690565b838152606060208201526000613d3a60608301856139cd565b9050826040830152949350505050565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b600082601f830112613d7f57600080fd5b815167ffffffffffffffff811115613d9957613d99613a35565b613dac6020601f19601f84011601613be7565b818152846020838601011115613dc157600080fd5b610906826020830160208701613d4a565b600080600060608486031215613de757600080fd5b835167ffffffffffffffff80821115613dff57600080fd5b613e0b87838801613d6e565b9450602086015193506040860151915080821115613e2857600080fd5b50613e3586828701613d6e565b9150509250925092565b838152606060208201526000613e5860608301856139cd565b905060ff83166040830152949350505050565b600060208284031215613e7d57600080fd5b815167ffffffffffffffff811115613e9457600080fd5b61090684828501613d6e565b60008151808452613eb8816020860160208601613d4a565b601f01601f19169290920160200192915050565b606081526000613edf6060830186613ea0565b60208301949094525060400152919050565b848152608060208201526000613f0a60808301866139cd565b60ff949094166040830152506060015292915050565b600060208284031215613f3257600080fd5b5051919050565b85815260a060208201526000613f5260a08301876139cd565b8281036040840152613f648187613ea0565b90508460608401528281036080840152613cc88185613ea0565b85815260a060208201526000613f9760a08301876139cd565b60ff861660408401528281036060840152613fb28186613ea0565b9150508260808301529695505050505050565b848152608060208201526000613fde60808301866139cd565b60ff851660408401528281036060840152610ccb8185613ea0565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156140415780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361405f5761405f613a61565b60010192915050565b86815260c06020820152600061408160c08301886139cd565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a08401526140b18185613ea0565b9998505050505050505050565b8281526040602082015260006109066040830184613ea0565b80820281158282048414176101de576101de613a61565b8281526000602080830184516020860160005b8281101561411d57815184529284019290840190600101614101565b5091979650505050505050565b60808152600061413d60808301876139cd565b828103602084015261414f8187613ea0565b90508460408401528281036060840152610ccb8185613ea0565b86815260c06020820152600061418260c08301886139cd565b82810360408401526141948188613ea0565b905085606084015282810360808401526141ae8186613ea0565b9150508260a0830152979650505050505050565b6060815260006141d560608301866139cd565b65ffffffffffff8516602084015282810360408401526141f58185613ea0565b9695505050505050565b84815260806020820152600061421860808301866139cd565b65ffffffffffff851660408401528281036060840152610ccb8185613ea0565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613ea0565b64ffffffffff818116838216019080821115613a9257613a92613a61565b87815260e0602082015260006142b060e08301896139cd565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526142e78185613ea0565b9a9950505050505050505050565b60c08152600061430860c08301896139cd565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526140b18185613ea0565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516143a5816003860160208901613d4a565b8084019050816003820152845191506143c5826004830160208801613d4a565b0160040195945050505050565b6040815260006143e56040830185613ea0565b90506001600160a01b03831660208301529392505050565b6000825161440f818460208701613d4a565b9190910192915050565b6000845161442b818460208901613d4a565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212209bc538341beaba2308cb186d2db8f516d937ab2afed3465c87893a49ecb59b7664736f6c63430008180033","sourceMap":"455:4932:109:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":4025,"length":20},{"start":4212,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100885760003560e01c806369e10c7b1161005b57806369e10c7b146100fb578063911c37ae1461011b578063953717d114610130578063e1af802c1461014357600080fd5b806301ffc9a71461008d578063119df25f146100b55780633fbf0c5a146100d557806345ec9354146100e8575b600080fd5b6100a061009b36600461390a565b61014b565b60405190151581526020015b60405180910390f35b6100bd6101e4565b6040516001600160a01b0390911681526020016100ac565b6100a06100e336600461395e565b6101f3565b604051601f1936013581526020016100ac565b61010e61010936600461399a565b610236565b6040516100ac9190613a09565b61012e610129366004613a1c565b610249565b005b61012e61013e36600461395e565b610365565b6100bd610620565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb5dee1270000000000000000000000000000000000000000000000000000000014806101de57507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60006101ee61062a565b905090565b60008060006102018661065c565b915091508461ffff168261ffff1614801561022357508361ffff168161ffff16145b1561022d57600192505b50509392505050565b6060610242838361070d565b9392505050565b6000610254826107cc565b9050806001600160a01b03166102686101e4565b6001600160a01b0316146102e85760405162461bcd60e51b8152602060048201526024808201527f4f6e6c7920746865206f776e65722063616e20737061776e206120636861726160448201527f637465720000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102f182610869565b1561033e5760405162461bcd60e51b815260206004820152601960248201527f43686172616374657220616c726561647920737061776e65640000000000000060448201526064016102df565b61034a8260008061090e565b6103558260016109d6565b61036160008084610a94565b5050565b6000610370846107cc565b9050806001600160a01b03166103846101e4565b6001600160a01b0316146104005760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920746865206f776e65722063616e206d6f766520612063686172616360448201527f746572000000000000000000000000000000000000000000000000000000000060648201526084016102df565b61040984610869565b6104555760405162461bcd60e51b815260206004820152601560248201527f436861726163746572206e6f7420737061776e6564000000000000000000000060448201526064016102df565b600061046085610b5a565b146104d35760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f74206d6f7665207768696c6520696e20616e20656e636f756e746560448201527f722e00000000000000000000000000000000000000000000000000000000000060648201526084016102df565b6000806104df8661065c565b915091506000806104ee610beb565b915091508061ffff168761ffff16106105495760405162461bcd60e51b815260206004820152600f60248201527f58206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b8161ffff168661ffff16106105a05760405162461bcd60e51b815260206004820152600f60248201527f59206f7574206f6620626f756e6473000000000000000000000000000000000060448201526064016102df565b6105ac84848989610c68565b61ffff166001146105ff5760405162461bcd60e51b815260206004820152601e60248201527f43616e206f6e6c79206d6f766520312074696c6520617420612074696d65000060448201526064016102df565b61060c8885858a8a610cd6565b6106168787610dd2565b5050505050505050565b60006101ee6111d3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c806106595750335b90565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061069657610696613a4b565b6020908102919091010152600080806106ef7f74625544000000000000000000000000506f736974696f6e0000000000000000857e040200020200000000000000000000000000000000000000000000000000006111dd565b9250925092506107008383836112ad565b9550955050505050915091565b604080516002808252606080830184529260009291906020830190803683370190505090508361ffff1660001b8160008151811061074d5761074d613a4b565b6020026020010181815250508261ffff1660001b8160018151811061077457610774613a4b565b602090810291909101015260006107ac7f74625544000000000000000000000000456e7469746965734174506f7369746983836112d0565b90506107c36107be8260008451611397565b611425565b95945050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061080557610805613a4b565b6020908102919091010152600061085e7f74625544000000000000000000000000436861726163746572730000000000008360017e55040020142001000000000000000000000000000000000000000000000000611436565b60601c949350505050565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106108a2576108a2613a4b565b602090810291909101015260006108fa7f74625544000000000000000000000000537061776e656400000000000000000083837e01010001000000000000000000000000000000000000000000000000000000611436565b90506109068160f81c90565b949350505050565b6040805160f084811b7fffff0000000000000000000000000000000000000000000000000000000000009081166020808501919091529185901b166022830152825160048184030181526001602484018181526064850190955290936000936060938593916044019080368337019050509050868160008151811061099557610995613a4b565b60209081029190910101526109cd7f74625544000000000000000000000000506f736974696f6e0000000000000000828686866114f3565b50505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110610a0c57610a0c613a4b565b602002602001018181525050610a8f7f74625544000000000000000000000000537061776e656400000000000000000060001b82600085604051602001610a5a91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006115a4565b505050565b6040805160028082526060820183526000926020830190803683370190505090508361ffff1660001b81600081518110610ad057610ad0613a4b565b6020026020010181815250508261ffff1660001b81600181518110610af757610af7613a4b565b602002602001018181525050610b547f74625544000000000000000000000000456e7469746965734174506f7369746960001b82600085604051602001610b4091815260200190565b60405160208183030381529060405261161a565b50505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610b9357610b93613a4b565b602090810291909101015260006109067f746255440000000000000000000000004d61746368456e74697479000000000083837e41030020200100000000000000000000000000000000000000000000000000611436565b60408051600080825260208201909252819060008080610c4b7f746255440000000000000000000000004d6170436f6e66696700000000000000857e040200020200000000000000000000000000000000000000000000000000006111dd565b925092509250610c5c8383836112ad565b95509550505050509091565b6000808361ffff168661ffff1611610c8957610c848685613a77565b610c93565b610c938487613a77565b905060008361ffff168661ffff1611610cb557610cb08685613a77565b610cbf565b610cbf8487613a77565b9050610ccb8183613a99565b979650505050505050565b6000610ce28585610236565b90506000805b8251811015610d6e5787838281518110610d0457610d04613a4b565b602002602001015103610d5c576001915060008360018551610d269190613ab4565b81518110610d3657610d36613a4b565b60200260200101519050610d4c888884846116cc565b610d568888611797565b50610d6e565b80610d6681613ac7565b915050610ce8565b5080610dbc5760405162461bcd60e51b815260206004820152601f60248201527f456e7469747920776173206e6f74206174207468617420706f736974696f6e0060448201526064016102df565b610dc787858561090e565b6109cd848489610a94565b6000610de96000808561ffff168561ffff16611837565b61ffff16905080600003610dfc57505050565b6000806005831015610e145750600190506006610e1c565b5060069050600b5b600060ff83165b8260ff16811015610e4b57610e3781611855565b610e419083613ae1565b9150600101610e23565b5060008167ffffffffffffffff811115610e6757610e67613a35565b604051908082528060200260200182016040528015610e90578160200160208202803683370190505b509050600060ff85165b8460ff16811015610f14576000610eb0826118d5565b905060005b8151811015610f0a57818181518110610ed057610ed0613a4b565b6020026020010151858581518110610eea57610eea613a4b565b602090810291909101015283610eff81613ac7565b945050600101610eb5565b5050600101610e9a565b506000825111610f8c5760405162461bcd60e51b815260206004820152602760248201527f4e6f206d6f6e737465727320617661696c61626c6520666f722074686973206460448201527f697374616e63650000000000000000000000000000000000000000000000000060648201526084016102df565b606046617a69036110265773__$227e4555c1f608352b26068e438454dd8b$__63bc3a86cf610fbc600842613bd8565b6040518263ffffffff1660e01b8152600401610fda91815260200190565b600060405180830381865af4158015610ff7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261101f9190810190613c18565b90506110b9565b6040517fbc3a86cf00000000000000000000000000000000000000000000000000000000815244600482015273__$227e4555c1f608352b26068e438454dd8b$__9063bc3a86cf90602401600060405180830381865af415801561108e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110b69190810190613c18565b90505b60005b6006826000815181106110d1576110d1613a4b565b60200260200101516110e39190613cea565b63ffffffff168110156111c7576111be84855184848151811061110857611108613a4b565b602002602001015163ffffffff166111209190613d0d565b8151811061113057611130613a4b565b60200260200101518b8b6040516024016111619392919092835261ffff918216602084015216604082015260600190565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f15bc42480000000000000000000000000000000000000000000000000000000017905261195c565b506001016110bc565b50505050505050505050565b60006101ee611a0a565b60606000606060006111ed611a0a565b9050306001600160a01b038216036112165761120a878787611a49565b935093509350506112a4565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd9061125f908a908a908a90600401613d21565b600060405180830381865afa15801561127c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261120a9190810190613dd2565b93509350939050565b60208301516022840151600091829160f091821c911c5b90969095509350505050565b606060006112dc611a0a565b9050306001600160a01b03821603611301576112f9858585611b51565b915050610242565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061134a90889088908890600401613e3f565b600060405180830381865afa158015611367573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112f99190810190613e6b565b509392505050565b6000818311806113a75750835182115b156113e4578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102df93929190613ecc565b602084016113f28482613ae1565b905060006114008585613ab4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102428360206000611b8b565b600080611441611a0a565b9050306001600160a01b038216036114675761145f86868686611c06565b915050610906565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906114b2908990899089908990600401613ef1565b602060405180830381865afa1580156114cf573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061145f9190613f20565b60006114fd611a0a565b9050306001600160a01b038216036115215761151c8686868686611c33565b61159c565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061156e9089908990899089908990600401613f39565b600060405180830381600087803b15801561158857600080fd5b505af11580156111c7573d6000803e3d6000fd5b505050505050565b60006115ae611a0a565b9050306001600160a01b038216036115cd5761151c8686868686611c49565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae09061156e9089908990899089908990600401613f7e565b6000611624611a0a565b9050306001600160a01b038216036116475761164285858585611c5e565b6116c5565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f326290611692908890889088908890600401613fc5565b600060405180830381600087803b1580156116ac57600080fd5b505af11580156116c0573d6000803e3d6000fd5b505050505b5050505050565b6040805160028082526060820183526000926020830190803683370190505090508461ffff1660001b8160008151811061170857611708613a4b565b6020026020010181815250508361ffff1660001b8160018151811061172f5761172f613a4b565b60200260200101818152505060008260405160200161175091815260200190565b604051602081830303815290604052905061159c7f74625544000000000000000000000000456e7469746965734174506f7369746960001b83600087602002855186611c99565b6040805160028082526060820183526000926020830190803683370190505090508261ffff1660001b816000815181106117d3576117d3613a4b565b6020026020010181815250508161ffff1660001b816001815181106117fa576117fa613a4b565b602002602001018181525050610a8f7f74625544000000000000000000000000456e7469746965734174506f7369746960001b8260006020611d52565b60006107c36118468685611dc5565b6118508685611dc5565b611de7565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061189157611891613a4b565b602090810291909101015260006118c97f746255440000000000000000000000004d6f627342794c6576656c00000000008383611dfe565b60209004949350505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b8160008151811061191257611912613a4b565b6020908102919091010152600061194a7f746255440000000000000000000000004d6f627342794c6576656c000000000083836112d0565b90506109066107be8260008451611397565b606060008061197261196d85613ff9565b611eb0565b91509150816000801b036119d8576040517ffdde54e20000000000000000000000000000000000000000000000000000000081527fffffffff000000000000000000000000000000000000000000000000000000006000351660048201526024016102df565b6020840180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16821790526109068285611f73565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611a44573391505090565b919050565b6060600060606000611a5a8561204e565b9050611a67878783612071565b93506000611a74866120aa565b90508015611b4657611a8688886120e7565b935066ffffffffffffff841667ffffffffffffffff811115611aaa57611aaa613a35565b6040519080825280601f01601f191660200182016040528015611ad4576020820181803683370190505b5092506020830160005b828160ff161015611b43576000611af68b8b846120fa565b90506000611b13888460ff166028026038011c64ffffffffff1690565b9050611b22826000838761217a565b611b2c8185613ae1565b935050508080611b3b90614049565b915050611ade565b50505b505093509350939050565b6060610906611b618585856120fa565b6000611b8685611b7189896120e7565b9060ff166028026038011c64ffffffffff1690565b612246565b60606000611b998560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281611bbf57611bbf613cd4565b04905060405193506020840160208202810160405281855260005b82811015611bfa578451871c825293870193602090910190600101611bda565b50505050509392505050565b60006107c3611c158686612269565b60ff858116601b0360080285901c16611c2e85876122bf565b6122f0565b6116c58585858585611c448b612341565b6123c6565b6116c58585611c5884876122bf565b856126ff565b6000611c6a85856120e7565b90506000611c87828560ff166028026038011c64ffffffffff1690565b905061159c868686846000888861299a565b6000611ca3611a0a565b9050306001600160a01b03821603611cc857611cc3878787878787612dd4565b6109cd565b6040517fc0a2895a0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063c0a2895a90611d17908a908a908a908a908a908a90600401614068565b600060405180830381600087803b158015611d3157600080fd5b505af1158015611d45573d6000803e3d6000fd5b5050505050505050505050565b6000611d5c611a0a565b9050306001600160a01b03821603611d7a5761164285858585612dec565b6040517fd9c03a040000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063d9c03a0490611692908890889088908890600401613ef1565b6000818311611ddd57611dd88383613ab4565b610242565b6102428284613ab4565b600081831015611df75781610242565b5090919050565b600080611e09611a0a565b9050306001600160a01b03821603611e26576112f9858585612e45565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190611e6f90889088908890600401613e3f565b602060405180830381865afa158015611e8c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f99190613f20565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611f0957611f09613a4b565b602090810291909101015260008080611f627f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e240200200400000000000000000000000000000000000000000000000000006111dd565b925092509250610700838383612e55565b60606000611f7f6111d3565b90506001600160a01b0381163003611fc0576000611fa7611f9e61062a565b60008787612e61565b9350905080611fb957611fb983612f9c565b50506101de565b6040517f3ae7af080000000000000000000000000000000000000000000000000000000081526001600160a01b03821690633ae7af089061200790879087906004016140be565b6000604051808303816000875af1158015612026573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109069190810190613e6b565b6000600861205e60026020613ab4565b61206891906140d7565b9190911c919050565b6060816000036120905750604080516020810190915260008152610242565b600061209c8585612269565b90506107c381600085612246565b600060086001806120bd60026020613ab4565b6120c79190613ab4565b6120d19190613ab4565b6120db91906140d7565b8260ff911c1692915050565b60006102426120f68484612fa4565b5490565b6000838360405160200161210f9291906140ee565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b821561220157602083106121a4576020830484019350602083816121a0576121a0613cd4565b0692505b82156122015760208390036000818410156121c75750600019600884021c6121d1565b50600019600882021c5b8554600886021b8184511682198216178452508184116121f2575050610b54565b50600194909401939182900391015b5b602082106122235783548152600190930192601f1990910190602001612202565b8115610b54576000600019600884021c8251865482191691161782525050505050565b60405160208101601f19603f848401011660405282825261138f8585858461217a565b6000828260405160200161227e9291906140ee565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561138f576122e660ff601b83900360080287901c1683613ae1565b91506001016122c4565b6000602082106123165760208204840193506020828161231257612312613cd4565b0691505b508254600882021b60208290038084111561138f576001850154600882021c82179150509392505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161239057507e60030220202000000000000000000000000000000000000000000000000000919050565b6101de6123bd7f746273746f72650000000000000000005461626c65730000000000000000000084612ffa565b602060006122f0565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361245257857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051612445949392919061412a565b60405180910390a261159c565b600061245d87613016565b905060005b815181101561253657600082828151811061247f5761247f613a4b565b602002602001015190506124ab6001826affffffffffffffffffffff191661309f90919063ffffffff16565b1561252d576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c906124fa908c908c908c908c908c908c90600401614169565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b505050505b50600101612462565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161256d949392919061412a565b60405180910390a260006125818888612269565b905060006020870190506125998260008951846130bd565b60006125a4856120aa565b11156126285760006125b68a8a612fa4565b878155905060208601915060008060005b6125d0886120aa565b8160ff161015612623576125e58d8d836120fa565b92506126008a8260ff166028026038011c64ffffffffff1690565b915061260f83600084886130bd565b6126198286613ae1565b94506001016125c7565b505050505b60005b83518110156111c757600084828151811061264857612648613a4b565b602002602001015190506126746002826affffffffffffffffffffff191661309f90919063ffffffff16565b156126f6576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906126c3908e908e908e908e908e908e90600401614169565b600060405180830381600087803b1580156126dd57600080fd5b505af11580156126f1573d6000803e3d6000fd5b505050505b5060010161262b565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361278957837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161277c939291906141c2565b60405180910390a2610b54565b60006127958585612269565b905060006127a286613016565b905060005b81518110156128775760008282815181106127c4576127c4613a4b565b602002602001015190506127f06004826affffffffffffffffffffff191661309f90919063ffffffff16565b1561286e576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061283b908b908b908b908b906004016141ff565b600060405180830381600087803b15801561285557600080fd5b505af1158015612869573d6000803e3d6000fd5b505050505b506001016127a7565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516128ac939291906141c2565b60405180910390a26128c7828565ffffffffffff168561317c565b60005b81518110156109cd5760008282815181106128e7576128e7613a4b565b602002602001015190506129136008826affffffffffffffffffffff191661309f90919063ffffffff16565b15612991576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061295e908b908b908b908b906004016141ff565b600060405180830381600087803b15801561297857600080fd5b505af115801561298c573d6000803e3d6000fd5b505050505b506001016128ca565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612a5a577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612a1891815260200190565b60408051601f19818403018152908290527f31b466830000000000000000000000000000000000000000000000000000000082526102df939291600401614238565b6000612a75828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683612a8e9190613ab4565b612a989190613ae1565b9050808214158015612aba575081612ab08688614279565b64ffffffffff1614155b15612b0a576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff80881660048301528087166024830152831660448201526064016102df565b818664ffffffffff161115612b5b576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff871660248201526044016102df565b6000612b68848984613192565b90506000612b758b613016565b905060005b8151811015612c40576000828281518110612b9757612b97613a4b565b60200260200101519050612bc36010826affffffffffffffffffffff191661309f90919063ffffffff16565b15612c3757606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612c049796959493929190614297565b600060405180830381600087803b158015612c1e57600080fd5b505af1158015612c32573d6000803e3d6000fd5b505050505b50600101612b7a565b5064ffffffffff881660005b8a60ff168160ff161015612c7f57612c73878260ff166028026038011c64ffffffffff1690565b90910190600101612c4c565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d604051612cba969594939291906142f5565b60405180910390a250828414612cdb576000612cd68c8c612fa4565b839055505b6000612ce88c8c8c6120fa565b9050612cfc818a64ffffffffff168961317c565b5060005b8151811015612dc6576000828281518110612d1d57612d1d613a4b565b60200260200101519050612d496020826affffffffffffffffffffff191661309f90919063ffffffff16565b15612dbd57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401612d8a9796959493929190614297565b600060405180830381600087803b158015612da457600080fd5b505af1158015612db8573d6000803e3d6000fd5b505050505b50600101612d00565b505050505050505050505050565b61159c868686868686612de78d8d6120e7565b61299a565b6000612df885856120e7565b90506000612e15828560ff166028026038011c64ffffffffff1690565b905061159c868686612e2e8764ffffffffff8716613ab4565b60408051600081526020810190915288908861299a565b600061090682611b7186866120e7565b6000806112c485613260565b60006060600080612e7186613275565b90925090506001600160a01b038216612ec25785612e8e87613319565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102df9291906140be565b80612ed157612ed18689613456565b8615612f3d577dffffffffffffffffffffffffffff0000000000000000000000000000000086167f6e73000000000000000000000000000000000000000000000000000000000000176000612f25826134a2565b9050612f3a82612f358b84613ae1565b613533565b50505b6000612f498760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612f8157612f7c888884886135e7565b612f8d565b612f8d8888848861365f565b90999098509650505050505050565b805160208201fd5b60008282604051602001612fb99291906140ee565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b604080516020810184905290810182905260009060600161227e565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061305057613050613a4b565b602090810291909101015260006130887f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611b51565b905061090661309a8260008451611397565b6136c0565b60008160ff16826130b08560581c90565b1660ff1614905092915050565b821561313757602083106130e7576020830484019350602083816130e3576130e3613cd4565b0692505b82156131375760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411613128575050610b54565b50600194909401939182900391015b5b602082106131595780518455600190930192601f1990910190602001613138565b8115610b54576000600019600884021c8554835182191691161785555050505050565b610a8f8383835161318d8560200190565b6130bd565b600064ffffffffff8211156131d6576040517f7149a3c1000000000000000000000000000000000000000000000000000000008152600481018390526024016102df565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106132085780850382019150613210565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b602081015160408201516000905b9050915091565b604080516001808252818301909252600091829182916020808301908036833701905050905083816000815181106132af576132af613a4b565b6020908102919091010152600080806133087f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611a49565b9250925092506107008383836136d1565b606081601081901b600061332c836136dd565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615613387576133827fffffffffffffffffffffffffffff00000000000000000000000000000000000084166136f4565b6133be565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156133f4576133ef836136f4565b61342b565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161343d93929190614344565b6040516020818303038152906040529350505050919050565b6134608282613798565b6103615761346d82613319565b816040517fd787b7370000000000000000000000000000000000000000000000000000000081526004016102df9291906143d2565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106134db576134db613a4b565b602090810291909101015260006109067f7462776f726c6400000000000000000042616c616e636573000000000000000083837e20010020000000000000000000000000000000000000000000000000000000611c06565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061356957613569613a4b565b602002602001018181525050610a8f7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016135b291815260200190565b60408051601f198184030181529190527e20010020000000000000000000000000000000000000000000000000000000611c49565b60006060836001600160a01b031660006136028589896137f6565b60405161360f91906143fd565b60006040518083038185875af1925050503d806000811461364c576040519150601f19603f3d011682016040523d82523d6000602084013e613651565b606091505b509097909650945050505050565b60006060836001600160a01b03166136788488886137f6565b60405161368591906143fd565b600060405180830381855af49150503d806000811461364c576040519150601f19603f3d011682016040523d82523d6000602084013e613651565b606060006102428360156000611b8b565b6000806112c485613825565b60006136eb60706010613ae1565b9190911b919050565b606060005b6010811015613759577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613759576001016136f9565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610906565b60006137e67f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613841565b8061024257506102428383613841565b606083838360405160200161380d93929190614419565b60405160208183030381529060405290509392505050565b6020810151603482015160609190911c9060009060f81c61326e565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061387a5761387a613a4b565b602002602001018181525050826001600160a01b031660001b816001815181106138a6576138a6613a4b565b602090810291909101015260006138fe7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611c06565b90506107c38160f81c90565b60006020828403121561391c57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461024257600080fd5b803561ffff81168114611a4457600080fd5b60008060006060848603121561397357600080fd5b833592506139836020850161394c565b91506139916040850161394c565b90509250925092565b600080604083850312156139ad57600080fd5b6139b68361394c565b91506139c46020840161394c565b90509250929050565b60008151808452602080850194506020840160005b838110156139fe578151875295820195908201906001016139e2565b509495945050505050565b60208152600061024260208301846139cd565b600060208284031215613a2e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115613a9257613a92613a61565b5092915050565b61ffff818116838216019080821115613a9257613a92613a61565b818103818111156101de576101de613a61565b60006000198203613ada57613ada613a61565b5060010190565b808201808211156101de576101de613a61565b600181815b80851115613b2f578160001904821115613b1557613b15613a61565b80851615613b2257918102915b93841c9390800290613af9565b509250929050565b600082613b46575060016101de565b81613b53575060006101de565b8160018114613b695760028114613b7357613b8f565b60019150506101de565b60ff841115613b8457613b84613a61565b50506001821b6101de565b5060208310610133831016604e8410600b8410161715613bb2575081810a6101de565b613bbc8383613af4565b8060001904821115613bd057613bd0613a61565b029392505050565b600061024260ff841683613b37565b604051601f8201601f1916810167ffffffffffffffff81118282101715613c1057613c10613a35565b604052919050565b60006020808385031215613c2b57600080fd5b825167ffffffffffffffff80821115613c4357600080fd5b818501915085601f830112613c5757600080fd5b815181811115613c6957613c69613a35565b8060051b9150613c7a848301613be7565b8181529183018401918481019088841115613c9457600080fd5b938501935b83851015613cc8578451925063ffffffff83168314613cb85760008081fd5b8282529385019390850190613c99565b98975050505050505050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff80841680613d0157613d01613cd4565b92169190910692915050565b600082613d1c57613d1c613cd4565b500690565b838152606060208201526000613d3a60608301856139cd565b9050826040830152949350505050565b60005b83811015613d65578181015183820152602001613d4d565b50506000910152565b600082601f830112613d7f57600080fd5b815167ffffffffffffffff811115613d9957613d99613a35565b613dac6020601f19601f84011601613be7565b818152846020838601011115613dc157600080fd5b610906826020830160208701613d4a565b600080600060608486031215613de757600080fd5b835167ffffffffffffffff80821115613dff57600080fd5b613e0b87838801613d6e565b9450602086015193506040860151915080821115613e2857600080fd5b50613e3586828701613d6e565b9150509250925092565b838152606060208201526000613e5860608301856139cd565b905060ff83166040830152949350505050565b600060208284031215613e7d57600080fd5b815167ffffffffffffffff811115613e9457600080fd5b61090684828501613d6e565b60008151808452613eb8816020860160208601613d4a565b601f01601f19169290920160200192915050565b606081526000613edf6060830186613ea0565b60208301949094525060400152919050565b848152608060208201526000613f0a60808301866139cd565b60ff949094166040830152506060015292915050565b600060208284031215613f3257600080fd5b5051919050565b85815260a060208201526000613f5260a08301876139cd565b8281036040840152613f648187613ea0565b90508460608401528281036080840152613cc88185613ea0565b85815260a060208201526000613f9760a08301876139cd565b60ff861660408401528281036060840152613fb28186613ea0565b9150508260808301529695505050505050565b848152608060208201526000613fde60808301866139cd565b60ff851660408401528281036060840152610ccb8185613ea0565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156140415780818460040360031b1b83161693505b505050919050565b600060ff821660ff810361405f5761405f613a61565b60010192915050565b86815260c06020820152600061408160c08301886139cd565b60ff8716604084015264ffffffffff86811660608501528516608084015282810360a08401526140b18185613ea0565b9998505050505050505050565b8281526040602082015260006109066040830184613ea0565b80820281158282048414176101de576101de613a61565b8281526000602080830184516020860160005b8281101561411d57815184529284019290840190600101614101565b5091979650505050505050565b60808152600061413d60808301876139cd565b828103602084015261414f8187613ea0565b90508460408401528281036060840152610ccb8185613ea0565b86815260c06020820152600061418260c08301886139cd565b82810360408401526141948188613ea0565b905085606084015282810360808401526141ae8186613ea0565b9150508260a0830152979650505050505050565b6060815260006141d560608301866139cd565b65ffffffffffff8516602084015282810360408401526141f58185613ea0565b9695505050505050565b84815260806020820152600061421860808301866139cd565b65ffffffffffff851660408401528281036060840152610ccb8185613ea0565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006107c36060830184613ea0565b64ffffffffff818116838216019080821115613a9257613a92613a61565b87815260e0602082015260006142b060e08301896139cd565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526142e78185613ea0565b9a9950505050505050505050565b60c08152600061430860c08301896139cd565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526140b18185613ea0565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516143a5816003860160208901613d4a565b8084019050816003820152845191506143c5826004830160208801613d4a565b0160040195945050505050565b6040815260006143e56040830185613ea0565b90506001600160a01b03831660208301529392505050565b6000825161440f818460208701613d4a565b9190910192915050565b6000845161442b818460208901613d4a565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea26469706673582212209bc538341beaba2308cb186d2db8f516d937ab2afed3465c87893a49ecb59b7664736f6c63430008180033","sourceMap":"455:4932:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:50;;;;;;:::i;:::-;;:::i;:::-;;;516:14:110;;509:22;491:41;;479:2;464:18;2331:198:50;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;707:55:110;;;689:74;;677:2;662:18;1262:113:50;543:226:110;1904:239:109;;;;;;:::i;:::-;;:::i;1616:110:50:-;;;-1:-1:-1;;3800:14:50;3796:25;3783:39;1413:25:110;;1401:2;1386:18;1616:110:50;1267:177:110;1729:169:109;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1323:400::-;;;;;;:::i;:::-;;:::i;:::-;;524:793;;;;;;:::i;:::-;;:::i;1942:98:50:-;;;:::i;2331:198::-;2407:4;2426:54;;;2441:39;2426:54;;:98;;-1:-1:-1;2484:40:50;;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:50:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;1904:239:109:-;1985:18;2016:8;2026;2038:22;2051:8;2038:12;:22::i;:::-;2015:45;;;;2079:1;2074:6;;:1;:6;;;:16;;;;;2089:1;2084:6;;:1;:6;;;2074:16;2070:67;;;2122:4;2106:20;;2070:67;2005:138;;1904:239;;;;;:::o;1729:169::-;1801:35;1855:36;1886:1;1889;1855:30;:36::i;:::-;1848:43;1729:169;-1:-1:-1;;;1729:169:109:o;1323:400::-;1373:13;1389:29;1409:8;1389:19;:29::i;:::-;1373:45;;1452:5;-1:-1:-1;;;;;1436:21:109;:12;:10;:12::i;:::-;-1:-1:-1;;;;;1436:21:109;;1428:70;;;;-1:-1:-1;;;1428:70:109;;2807:2:110;1428:70:109;;;2789:21:110;2846:2;2826:18;;;2819:30;2885:34;2865:18;;;2858:62;2956:6;2936:18;;;2929:34;2980:19;;1428:70:109;;;;;;;;;1518:28;1537:8;1518:18;:28::i;:::-;1517:29;1509:67;;;;-1:-1:-1;;;1509:67:109;;3212:2:110;1509:67:109;;;3194:21:110;3251:2;3231:18;;;3224:30;3290:27;3270:18;;;3263:55;3335:18;;1509:67:109;3010:349:110;1509:67:109;1587:28;1600:8;1610:1;1613;1587:12;:28::i;:::-;1625:34;1644:8;1654:4;1625:18;:34::i;:::-;1669:47;1701:1;1704;1707:8;1669:31;:47::i;:::-;1363:360;1323:400;:::o;524:793::-;593:13;609:29;629:8;609:19;:29::i;:::-;593:45;;672:5;-1:-1:-1;;;;;656:21:109;:12;:10;:12::i;:::-;-1:-1:-1;;;;;656:21:109;;648:69;;;;-1:-1:-1;;;648:69:109;;3566:2:110;648:69:109;;;3548:21:110;3605:2;3585:18;;;3578:30;3644:34;3624:18;;;3617:62;3715:5;3695:18;;;3688:33;3738:19;;648:69:109;3364:399:110;648:69:109;735:28;754:8;735:18;:28::i;:::-;727:62;;;;-1:-1:-1;;;727:62:109;;3970:2:110;727:62:109;;;3952:21:110;4009:2;3989:18;;;3982:30;4048:23;4028:18;;;4021:51;4089:18;;727:62:109;3768:345:110;727:62:109;855:1;807:36;834:8;807:26;:36::i;:::-;:50;799:97;;;;-1:-1:-1;;;799:97:109;;4320:2:110;799:97:109;;;4302:21:110;4359:2;4339:18;;;4332:30;4398:34;4378:18;;;4371:62;4469:4;4449:18;;;4442:32;4491:19;;799:97:109;4118:398:110;799:97:109;908:15;925;944:22;957:8;944:12;:22::i;:::-;907:59;;;;977:13;992:12;1008:15;:13;:15::i;:::-;976:47;;;;1046:5;1042:9;;:1;:9;;;1034:37;;;;-1:-1:-1;;;1034:37:109;;4723:2:110;1034:37:109;;;4705:21:110;4762:2;4742:18;;;4735:30;4801:17;4781:18;;;4774:45;4836:18;;1034:37:109;4521:339:110;1034:37:109;1093:6;1089:10;;:1;:10;;;1081:38;;;;-1:-1:-1;;;1081:38:109;;5067:2:110;1081:38:109;;;5049:21:110;5106:2;5086:18;;;5079:30;5145:17;5125:18;;;5118:45;5180:18;;1081:38:109;4865:339:110;1081:38:109;1137:43;1155:8;1165;1175:1;1178;1137:17;:43::i;:::-;:48;;1184:1;1137:48;1129:91;;;;-1:-1:-1;;;1129:91:109;;5411:2:110;1129:91:109;;;5393:21:110;5450:2;5430:18;;;5423:30;5489:32;5469:18;;;5462:60;5539:18;;1129:91:109;5209:354:110;1129:91:109;1230:47;1242:8;1252;1262;1272:1;1275;1230:11;:47::i;:::-;1287:23;1305:1;1308;1287:17;:23::i;:::-;583:734;;;;;524:793;;;:::o;1942:98:50:-;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:50;3325:45;2992:383;:::o;4891:393:89:-;4998:16;;;5012:1;4998:16;;;;;;;;;4943:8;;;;;;4998:16;;;;;;;;;;;-1:-1:-1;4998:16:89;4969:45;;5035:6;5020:9;5030:1;5020:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5049:24;;;5136:80;1065:66;5181:9;1194:66;5136:21;:80::i;:::-;5048:168;;;;;;5229:50;5236:11;5249:15;5266:12;5229:6;:50::i;:::-;5222:57;;;;;;;;4891:393;;;:::o;2642:387:80:-;2768:16;;;2782:1;2768:16;;;2706:25;2768:16;;;;;2706:25;2739:26;;2768:16;2782:1;2768:16;;;;;;;;;;-1:-1:-1;2768:16:80;2739:45;;2821:1;2813:10;;2805:19;;2790:9;2800:1;2790:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;2861:1;2853:10;;2845:19;;2830:9;2840:1;2830:12;;;;;;;;:::i;:::-;;;;;;;;;;:34;2871:18;2892:51;1083:66;2930:9;2871:18;2892:27;:51::i;:::-;2871:72;;2957:66;:44;2978:5;2985:1;2988:5;:12;2957:20;:44::i;:::-;:64;:66::i;:::-;2949:75;2642:387;-1:-1:-1;;;;;2642:387:80:o;4071:290:76:-;4183:16;;;4197:1;4183:16;;;;;;;;;4133:13;;;;4183:16;;;;;;;;;;;;-1:-1:-1;4183:16:76;4154:45;;4220:11;4205:9;4215:1;4205:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;4238:13;4254:64;1163:66;4291:9;4302:1;1292:66;4254:26;:64::i;:::-;4332:23;;;4071:290;-1:-1:-1;;;;4071:290:76:o;2592:291:92:-;2702:16;;;2716:1;2702:16;;;;;;;;;2653:12;;;;2702:16;;;;;;;;;;;;-1:-1:-1;2702:16:92;2673:45;;2739:8;2724:9;2734:1;2724:12;;;;;;;;:::i;:::-;;;;;;;;;;:23;2754:13;2770:64;1063:66;2807:9;2754:13;1192:66;2770:26;:64::i;:::-;2754:80;;2848:29;2869:5;2856:20;;7000:5;6914:97;2848:29;2840:38;2592:291;-1:-1:-1;;;;2592:291:92:o;5796:354:89:-;7947:22;;;16546:3:110;16542:16;;;16451:66;16538:25;;;7947:22:89;;;;16526:38:110;;;;16597:16;;;;16593:25;16580:11;;;16573:46;7947:22:89;;;;;;;;;6023:1;16635:11:110;;;6009:16:89;;;;;;;;;7947:22;;-1:-1:-1;;5948:25:89;;-1:-1:-1;;6023:1:89;6009:16;;;7947:22;6009:16;;;;;-1:-1:-1;6009:16:89;5980:45;;6046:6;6031:9;6041:1;6031:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6059:86;1065:66;6091:9;6102:11;6115:15;6132:12;6059:21;:86::i;:::-;5854:296;;;;5796:354;;;:::o;3908:246:92:-;4004:16;;;4018:1;4004:16;;;;;;;;;3975:26;;4004:16;;;;;;;;;;;-1:-1:-1;4004:16:92;3975:45;;4041:8;4026:9;4036:1;4026:12;;;;;;;;:::i;:::-;;;;;;:23;;;;;4056:93;1063:66;1047:83;;4093:9;4104:1;4125:7;4107:27;;;;;;6097:14:110;6090:22;6085:3;6081:32;6069:45;;6139:1;6130:11;;5946:201;4107:27:92;;;;-1:-1:-1;;4107:27:92;;;;;;;;;1192:66;4056:26;:93::i;:::-;3969:185;3908:246;;:::o;9497:296:80:-;9601:16;;;9615:1;9601:16;;;;;;;;9572:26;;9601:16;;;;;;;;;;-1:-1:-1;9601:16:80;9572:45;;9654:1;9646:10;;9638:19;;9623:9;9633:1;9623:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9694:1;9686:10;;9678:19;;9663:9;9673:1;9663:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;9704:84;1083:66;1067:83;;9745:9;9756:1;9777:8;9759:28;;;;;;6281:19:110;;6325:2;6316:12;;6152:182;9759:28:80;;;;;;;;;;;;;9704:30;:84::i;:::-;9566:227;9497:296;;;:::o;2779:297:84:-;2905:16;;;2919:1;2905:16;;;;;;;;;2849:19;;;;2905:16;;;;;;;;;;;;-1:-1:-1;2905:16:84;2876:45;;2942:13;2927:9;2937:1;2927:12;;;;;;;;:::i;:::-;;;;;;;;;;:28;2962:13;2978:64;1157:66;3015:9;2962:13;1286:66;2978:26;:64::i;4657:361:83:-;4759:16;;;4695:13;4759:16;;;;;;;;;4695:13;;4783:24;;;4870:80;1067:66;4730:45;1196:66;4870:21;:80::i;:::-;4782:168;;;;;;4963:50;4970:11;4983:15;5000:12;4963:6;:50::i;:::-;4956:57;;;;;;;;4657:361;;:::o;3766:279:109:-;3868:6;3886:13;3910:3;3902:11;;:5;:11;;;:39;;3930:11;3936:5;3930:3;:11;:::i;:::-;3902:39;;;3916:11;3924:3;3916:5;:11;:::i;:::-;3886:55;;3951:13;3975:3;3967:11;;:5;:11;;;:39;;3995:11;4001:5;3995:3;:11;:::i;:::-;3967:39;;;3981:11;3989:3;3981:5;:11;:::i;:::-;3951:55;-1:-1:-1;4023:15:109;3951:55;4023:6;:15;:::i;:::-;4016:22;3766:279;-1:-1:-1;;;;;;;3766:279:109:o;4548:837::-;4660:25;4688:41;4710:8;4720;4688:21;:41::i;:::-;4660:69;;4739:24;4778:9;4773:438;4793:8;:15;4789:1;:19;4773:438;;;4844:8;4829;4838:1;4829:11;;;;;;;;:::i;:::-;;;;;;;:23;4825:327;;4894:4;4872:26;;4916:15;4934:8;4961:1;4943:8;:15;:19;;;;:::i;:::-;4934:29;;;;;;;;:::i;:::-;;;;;;;4916:47;;4981:65;5015:8;5025;5035:1;5038:7;4981:33;:65::i;:::-;5064:50;5095:8;5105;5064:30;:50::i;:::-;5132:5;;;4825:327;5183:3;;;;:::i;:::-;;;;4773:438;;;;5228:19;5220:63;;;;-1:-1:-1;;;5220:63:109;;7412:2:110;5220:63:109;;;7394:21:110;7451:2;7431:18;;;7424:30;7490:33;7470:18;;;7463:61;7541:18;;5220:63:109;7210:355:110;5220:63:109;5293:28;5306:8;5316:1;5319;5293:12;:28::i;:::-;5331:47;5363:1;5366;5369:8;5331:31;:47::i;2149:1611::-;2215:24;2250:30;2269:1;2272;2275;2250:30;;2278:1;2250:30;;:18;:30::i;:::-;2242:39;;2215:66;;2295:16;2315:1;2295:21;2291:58;;2332:7;2149:1611;;:::o;2291:58::-;2359:16;2389:14;2441:1;2422:16;:20;2418:163;;;-1:-1:-1;2471:1:109;;-1:-1:-1;2497:1:109;2418:163;;;-1:-1:-1;2542:1:109;;-1:-1:-1;2568:2:109;2418:163;2591:17;2627:22;;;2622:113;2655:8;2651:12;;:1;:12;2622:113;;;2697:27;2722:1;2697:24;:27::i;:::-;2684:40;;;;:::i;:::-;;-1:-1:-1;2665:3:109;;2622:113;;;;2745:34;2796:9;2782:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2782:24:109;-1:-1:-1;2745:61:109;-1:-1:-1;2816:13:109;2849:22;;;2844:274;2877:8;2873:12;;:1;:12;2844:274;;;2906:23;2932:24;2954:1;2932:21;:24::i;:::-;2906:50;;2975:9;2970:138;2994:6;:13;2990:1;:17;2970:138;;;3059:6;3066:1;3059:9;;;;;;;;:::i;:::-;;;;;;;3032:17;3050:5;3032:24;;;;;;;;:::i;:::-;;;;;;;;;;:36;3086:7;;;;:::i;:::-;;-1:-1:-1;;3009:3:109;;2970:138;;;-1:-1:-1;;2887:3:109;;2844:274;;;;3171:1;3144:17;:24;:28;3136:80;;;;-1:-1:-1;;;3136:80:109;;7902:2:110;3136:80:109;;;7884:21:110;7941:2;7921:18;;;7914:30;7980:34;7960:18;;;7953:62;8051:9;8031:18;;;8024:37;8078:19;;3136:80:109;7700:403:110;3136:80:109;3227:19;3311:13;3328:5;3311:22;3307:176;;3355:9;:20;3376;3395:1;3376:15;:20;:::i;:::-;3355:42;;;;;;;;;;;;;1413:25:110;;1401:2;1386:18;;1267:177;3355:42:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3355:42:109;;;;;;;;;;;;:::i;:::-;3349:48;;3307:176;;;3434:38;;;;;3455:16;3434:38;;;1413:25:110;3434:9:109;;:20;;1386:18:110;;3434:38:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3434:38:109;;;;;;;;;;;;:::i;:::-;3428:44;;3307:176;3498:9;3493:261;3523:1;3514:3;3518:1;3514:6;;;;;;;;:::i;:::-;;;;;;;:10;;;;:::i;:::-;3509:16;;:1;:16;3493:261;;;3546:197;3643:17;3678;:24;3669:3;3673:1;3669:6;;;;;;;;:::i;:::-;;;;;;;:33;;;;;;:::i;:::-;3643:61;;;;;;;;:::i;:::-;;;;;;;3706:1;3709;3581:148;;;;;;;;;11941:25:110;;;11985:6;12027:15;;;12022:2;12007:18;;12000:43;12079:15;12074:2;12059:18;;12052:43;11929:2;11914:18;;11743:358;3581:148:109;;;;-1:-1:-1;;3581:148:109;;;;;;;;;;;;;;;;;;;;3546:17;:197::i;:::-;-1:-1:-1;3527:3:109;;3493:261;;;;2205:1555;;;;;;;2149:1611;;:::o;4048:97:50:-;4089:7;4111:29;:27;:29::i;15347:431:24:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:24;-1:-1:-1;;;;;15578:30:24;;;15574:200;;15625:51;15645:7;15654:8;15664:11;15625:19;:51::i;:::-;15618:58;;;;;;;;;15574:200;15704:63;;;;;-1:-1:-1;;;;;15704:31:24;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:24;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;7036:160:89:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7131:8:89;;;;6793:33;;;;;6839;7166:25;7157:34;;;;-1:-1:-1;7036:160:89;-1:-1:-1;;;;7036:160:89:o;18598:431:24:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:24;-1:-1:-1;;;;;18805:30:24;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;:::-;18845:70;;;;;18801:224;18943:75;;;;;-1:-1:-1;;;;;18943:37:24;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:24;;;;;;;;;;;;:::i;18801:224::-;18748:281;18598:431;;;;;:::o;2003:574:21:-;2094:5;2189:3;2181:5;:11;:32;;;;2202:4;:11;2196:3;:17;2181:32;2177:93;;;2253:4;2259:5;2266:3;2222:48;;;;;;;;;;;;;:::i;2177:93::-;2336:4;2326:15;;2383:16;2394:5;2326:15;2383:16;:::i;:::-;;-1:-1:-1;2405:12:21;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:21:o;45284:220:34:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;17775:457:24:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:24;-1:-1:-1;;;;;17998:30:24;;;17994:234;;18045:68;18070:7;18079:8;18089:10;18101:11;18045:24;:68::i;:::-;18038:75;;;;;17994:234;18141:80;;;;;-1:-1:-1;;;;;18141:36:24;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6458:480::-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:24;-1:-1:-1;;;;;6696:30:24;;;6692:242;;6736:79;6756:7;6765:8;6775:10;6787:14;6803:11;6736:19;:79::i;:::-;6692:242;;;6836:91;;;;;-1:-1:-1;;;;;6836:31:24;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6692:242;6639:299;6458:480;;;;;:::o;10761:455::-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:24;-1:-1:-1;;;;;10984:30:24;;;10980:232;;11024:74;11049:7;11058:8;11068:10;11080:4;11086:11;11024:24;:74::i;10980:232::-;11119:86;;;;;-1:-1:-1;;;;;11119:36:24;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;12345:451::-;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:24;-1:-1:-1;;;;;12556:30:24;;;12552:240;;12596:78;12625:7;12634:8;12644:17;12663:10;12596:28;:78::i;:::-;12552:240;;;12695:90;;;;;-1:-1:-1;;;;;12695:40:24;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12552:240;12499:297;12345:451;;;;:::o;12135:423:80:-;12257:16;;;12271:1;12257:16;;;;;;;;12228:26;;12257:16;;;;;;;;;;-1:-1:-1;12257:16:80;12228:45;;12310:1;12302:10;;12294:19;;12279:9;12289:1;12279:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12350:1;12342:10;;12334:19;;12319:9;12329:1;12319:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;12378:21;12420:8;12402:28;;;;;;6281:19:110;;6325:2;6316:12;;6152:182;12402:28:80;;;;;;;;;;;;;12378:52;;12438:109;1083:66;1067:83;;12478:9;12489:1;12499:6;12508:2;12499:11;12520:8;:15;12538:8;12438:29;:109::i;10896:252::-;10981:16;;;10995:1;10981:16;;;;;;;;10952:26;;10981:16;;;;;;;;;;-1:-1:-1;10981:16:80;10952:45;;11034:1;11026:10;;11018:19;;11003:9;11013:1;11003:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11074:1;11066:10;;11058:19;;11043:9;11053:1;11043:12;;;;;;;;:::i;:::-;;;;;;:34;;;;;11084:59;1083:66;1067:83;;11126:9;11137:1;11140:2;11084:31;:59::i;4128:179:109:-;4227:6;4259:40;4264:16;4273:2;4277;4264:8;:16::i;:::-;4282;4291:2;4295;4282:8;:16::i;:::-;4259:4;:40::i;5306:308:86:-;5410:16;;;5424:1;5410:16;;;;;;;;;5366:7;;;;5410:16;;;;;;;;;;;;-1:-1:-1;5410:16:86;5381:45;;5463:5;5447:23;;5432:9;5442:1;5432:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;5477:19;5499:57;1071:66;5543:9;5477:19;5499:33;:57::i;:::-;5601:2;5587:16;;;;-1:-1:-1;;;;5306:308:86:o;2600:342::-;2717:16;;;2731:1;2717:16;;;;;;;;;2657:23;;2688:26;;2717:16;;;;;;;;;;;;-1:-1:-1;2717:16:86;2688:45;;2770:5;2754:23;;2739:9;2749:1;2739:12;;;;;;;;:::i;:::-;;;;;;;;;;:38;2784:18;2805:51;1071:66;2843:9;2784:18;2805:27;:51::i;:::-;2784:72;;2870:66;:44;2891:5;2898:1;2901:5;:12;2870:20;:44::i;3318:662:38:-;3373:23;3516:19;;3570:39;3592:16;3599:8;3592:16;:::i;:::-;3570:21;:39::i;:::-;3515:94;;;;3690:8;3703:1;3672:32;;;3668:97;;3713:52;;;;;3757:7;;;;3713:52;;;19330:98:110;19303:18;;3713:52:38;19186:248:110;3668:97:38;1759:4:1;1744:28;;1738:35;;1847:9;1836:21;1903:20;;1961:43;;3883:92:38;3900:8;3936;3883:4;:92::i;1836:227:24:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:24;;1953:106;;2001:10;1994:17;;;1836:227;:::o;1953:106::-;2039:13;1836:227;-1:-1:-1;1836:227:24:o;32759:1315:23:-;32889:23;32914:29;32945:24;33011:20;33034:30;:11;:28;:30::i;:::-;33011:53;;33125:65;33158:7;33167:8;33177:12;33125:32;:65::i;:::-;33112:78;;33254:24;33281:30;:11;:28;:30::i;:::-;33254:57;-1:-1:-1;33321:20:23;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:2;;;33532:33:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:23;-1:-1:-1;33518:47:23;-1:-1:-1;894:4:18;884:15;;33573:21:23;33637:427;33655:16;33651:1;:20;;;33637:427;;;33688:27;33718:63;33760:7;33769:8;33779:1;33718:41;:63::i;:::-;33688:93;-1:-1:-1;33791:14:23;33808:25;:14;33831:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:23;33791:42;;33843:110;33874:19;33903:1;33914:6;33937:13;33843:12;:110::i;:::-;34032:23;34049:6;34032:23;;:::i;:::-;;;33678:386;;33673:3;;;;;:::i;:::-;;;;33637:427;;;;33343:727;33317:753;32971:1103;;32759:1315;;;;;;;:::o;37180:522::-;37316:12;37440:257;37479:79;37521:7;37530:8;37540:17;37479:41;:79::i;:::-;37576:1;37595:93;37670:17;37595:66;37643:7;37652:8;37595:47;:66::i;:::-;:74;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;37595:93:23;37440:12;:257::i;2681:1129:36:-;2801:22;2831:21;2855;:11;2997:3:21;2975:25;;2901:104;2855:21:36;2831:45;-1:-1:-1;692:17:21;3238:38;;2882:20:36;3044:11;3238:38:21;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;36171:541:23:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:3;:27;579:1:30;4322:44:3;4288:79;;;4275:93;36635:63:23;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;12066:286::-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;23107:355::-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;28764:791::-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:23;29171:49;29023:106;29202:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:23;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;8207:601:24:-;8413:21;8437:17;:15;:17::i;:::-;8413:41;-1:-1:-1;8489:4:24;-1:-1:-1;;;;;8464:30:24;;;8460:344;;8504:102;8532:7;8541:8;8551:17;8570:16;8588:11;8601:4;8504:27;:102::i;:::-;8460:344;;;8627:170;;;;;-1:-1:-1;;;;;8627:39:24;;;;;:170;;8676:7;;8693:8;;8711:17;;8738:16;;8764:11;;8785:4;;8627:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8407:401;8207:601;;;;;;:::o;13190:464::-;13351:21;13375:17;:15;:17::i;:::-;13351:41;-1:-1:-1;13427:4:24;-1:-1:-1;;;;;13402:30:24;;;13398:252;;13442:84;13472:7;13481:8;13491:17;13510:15;13442:29;:84::i;13398:252::-;13547:96;;;;;-1:-1:-1;;;;;13547:41:24;;;;;:96;;13589:7;;13598:8;;13608:17;;13627:15;;13547:96;;;:::i;4313:117:109:-;4376:7;4406:1;4402;:5;:21;;4418:5;4422:1;4418;:5;:::i;:::-;4402:21;;;4410:5;4414:1;4410;:5;:::i;4436:106::-;4495:7;4526:1;4521;:6;;:14;;4534:1;4521:14;;;-1:-1:-1;4530:1:109;;4436:106;-1:-1:-1;4436:106:109:o;21091:444:24:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:24;-1:-1:-1;;;;;21299:30:24;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;21295:236::-;21443:81;;;;;-1:-1:-1;;;;;21443:43:24;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5805:471:60:-;5966:16;;;5980:1;5966:16;;;;;;;;;5879:19;;;;;;5966:16;;;;;;;;;;;-1:-1:-1;5966:16:60;5937:45;;6011:21;6003:30;;;5988:9;5998:1;5988:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6041:24;;;6128:80;1174:66;6173:9;1303:66;6128:21;:80::i;:::-;6040:168;;;;;;6221:50;6228:11;6241:15;6258:12;6221:6;:50::i;2109:683:38:-;2185:23;2216:20;2239:32;:30;:32::i;:::-;2216:55;-1:-1:-1;;;;;;2350:29:38;;2358:4;2350:29;2346:322;;2389:12;2433:153;2467:36;:34;:36::i;:::-;2520:1;2541:8;2569;2433:15;:153::i;:::-;2409:177;-1:-1:-1;2409:177:38;-1:-1:-1;2409:177:38;2595:41;;2609:27;2625:10;2609:15;:27::i;:::-;2644:17;;;;2346:322;2736:51;;;;;-1:-1:-1;;;;;2736:31:38;;;;;:51;;2768:8;;2778;;2736:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2736:51:38;;;;;;;;;;;;:::i;4598:171:3:-;4672:7;579:1:30;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:3;;;;;4598:171;-1:-1:-1;4598:171:3:o;48823:360:23:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:23;;;;;;;;;-1:-1:-1;48986:9:23;;;;48969:26;49036:16;49055:41;49078:7;49087:8;49055:22;:41::i;:::-;49036:60;;49109:69;49140:8;49158:1;49169:6;49109:12;:69::i;5377:173:3:-;5451:7;579:1:30;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:3;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:3:o;53939:303:23:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:22;;4605:137;52742:274:23;52886:7;52991;53000:8;52974:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;52964:46;;;;;;52943:17;52936:25;;52916:45;;;42433:34;52916:45;:94;52908:103;;52901:110;;52742:274;;;;;:::o;6076:2380:22:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:22;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:22;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:22;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:22;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:22;;;;:::o;5042:669::-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:22;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;50806:191:23:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:23;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:23:o;51823:242::-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:3;4323:19;:27;;;579:1:30;4322:44:3;4288:79;;;4275:93;52003:32:23;;:::i;:::-;;-1:-1:-1;51990:3:23;;51958:84;;8945:812:22;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:22;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;4015:652:23:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:29;;4015:652:23;-1:-1:-1;4015:652:23:o;4314:111::-;4469:185;4515:85;1213:66:29;4591:7:23;4515:40;:85::i;:::-;4620:2;4642:1;4469:17;:185::i;13212:3165::-;13507:23;13486:7;:44;;;13482:211;;13613:7;13584:88;13622:8;13632:10;13644:14;13660:11;13584:88;;;;;;;;;:::i;:::-;;;;;;;;13680:7;;13482:211;13831:22;13856:24;13872:7;13856:15;:24::i;:::-;13831:49;;13891:9;13886:340;13906:5;:12;13902:1;:16;13886:340;;;13933:9;13955:5;13961:1;13955:8;;;;;;;;:::i;:::-;;;;;;;13933:31;;13976:33;409:6:32;13976:4:23;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:4;;;;;14021:47:23;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:23;;13886:340;;;;14303:7;14274:88;14312:8;14322:10;14334:14;14350:11;14274:88;;;;;;;;;:::i;:::-;;;;;;;;14426:26;14455:59;14496:7;14505:8;14455:40;:59::i;:::-;14426:88;-1:-1:-1;14520:21:23;894:4:18;884:15;;14520:54:23;;14580:149;14618:18;14652:1;14669:10;:17;14709:13;14580;:149::i;:::-;14829:1;14796:30;:11;:28;:30::i;:::-;:34;14792:1174;;;14915:33;14951:66;14999:7;15008:8;14951:47;:66::i;:::-;695:28:22;;;14915:102:23;-1:-1:-1;894:4:18;884:15;;15191:47:23;;15347:27;15382:25;15420:7;15415:545;15433:30;:11;:28;:30::i;:::-;15429:1;:34;;;15415:545;;;15499:63;15541:7;15550:8;15560:1;15499:41;:63::i;:::-;15477:85;-1:-1:-1;15592:25:23;:14;15615:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:23;15572:45;;15627:170;15669:19;15708:1;15729:17;15773:13;15627;:170::i;:::-;15807:34;15824:17;15807:34;;:::i;:::-;;-1:-1:-1;15938:3:23;;15415:545;;;;14832:1134;;;14792:1174;16040:9;16035:338;16055:5;:12;16051:1;:16;16035:338;;;16082:9;16104:5;16110:1;16104:8;;;;;;;;:::i;:::-;;;;;;;16082:31;;16125:32;503:6:32;16125:4:23;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:4;;;;;16169:46:23;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:23;;16035:338;;17013:1682;17213:23;17192:7;:44;;;17188:235;;17346:7;17299:103;17365:8;17382:5;17395:4;17299:103;;;;;;;;:::i;:::-;;;;;;;;17410:7;;17188:235;17429:16;17448:59;17489:7;17498:8;17448:40;:59::i;:::-;17429:78;;17653:22;17678:24;17694:7;17678:15;:24::i;:::-;17653:49;;17713:9;17708:328;17728:5;:12;17724:1;:16;17708:328;;;17755:9;17777:5;17783:1;17777:8;;;;;;;;:::i;:::-;;;;;;;17755:31;;17798:41;614:6:32;17798:4:23;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:4;;;;;17851:54:23;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:23;;17708:328;;;;18140:7;18093:103;18159:8;18176:5;18189:4;18093:103;;;;;;;;:::i;:::-;;;;;;;;18246:70;18278:8;18296:5;18246:70;;18309:4;18246:13;:70::i;:::-;18370:9;18365:326;18385:5;:12;18381:1;:16;18365:326;;;18412:9;18434:5;18440:1;18434:8;;;;;;;;:::i;:::-;;;;;;;18412:31;;18455:40;723:6:32;18455:4:23;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:4;;;;;18507:53:23;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:23;;18365:326;;44254:4001;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;6281:19:110;;6325:2;6316:12;;6152:182;44775:25:23;;;;-1:-1:-1;;44775:25:23;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:23;44815:79;;44900:26;44965:4;:11;44951;44929:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;44900:76;;45248:18;45225:19;:41;;:98;;;;-1:-1:-1;45304:19:23;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;26067:12:110;26106:15;;;45340:92:23;;;26088:34:110;26158:15;;;26138:18;;;26131:43;26210:15;;26190:18;;;26183:43;26030:18;;45340:92:23;25861:371:110;45221:218:23;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;26410:25:110;;;26483:12;26471:25;;26451:18;;;26444:53;26383:18;;45581:74:23;26237:266:110;45522:140:23;45701:36;45740:72;:22;45774:17;45793:18;45740:33;:72::i;:::-;45701:111;;45959:22;45984:24;46000:7;45984:15;:24::i;:::-;45959:49;;46019:9;46014:486;46034:5;:12;46030:1;:16;46014:486;;;46061:9;46083:5;46089:1;46083:8;;;;;;;;:::i;:::-;;;;;;;46061:31;;46104:42;836:6:32;46104:4:23;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:4;;;;-1:-1:-1;;;;;46158:55:23;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:23;;46014:486;;;-1:-1:-1;46558:32:23;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:23;46752:42;;;;46735:3;;46698:107;;;;46930:7;46874:277;46957:8;46994:17;47035:5;47064:11;47101:21;47138:4;46874:277;;;;;;;;;;;:::i;:::-;;;;;;;;46506:652;47243:18;47220:19;:41;47216:248;;47271:31;47305:48;47335:7;47344:8;47305:29;:48::i;:::-;695:28:22;;;-1:-1:-1;47216:248:23;47521:27;47551:61;47575:7;47584:8;47594:17;47551:23;:61::i;:::-;47521:91;;47620:92;47652:19;47681:16;47620:92;;47705:4;47620:13;:92::i;:::-;47513:206;47773:9;47768:483;47788:5;:12;47784:1;:16;47768:483;;;47815:9;47837:5;47843:1;47837:8;;;;;;;;:::i;:::-;;;;;;;47815:31;;47858:41;947:6:32;47858:4:23;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:4;;;;-1:-1:-1;;;;;47911:54:23;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:23;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;19594:539::-;19800:328;19854:7;19879:8;19914:17;19957:16;19994:11;20019:4;20055:66;20103:7;20112:8;20055:47;:66::i;:::-;19800:36;:328::i;30235:834::-;30495:37;30535:66;30583:7;30592:8;30535:47;:66::i;:::-;30495:106;-1:-1:-1;30607:26:23;30643:49;30495:106;30674:17;7070:16:2;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;30643:49:23;30607:86;-1:-1:-1;30731:333:23;30785:7;30810:8;30845:17;30895:37;30917:15;30895:37;;;;:::i;:::-;30991:12;;;31001:1;30991:12;;;;;;;;30961:15;;31035:22;30731:36;:333::i;39909:262::-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;8363:236:60:-;8474:19;8495:29;8569:25;8582:11;8569:12;:25::i;1761:1386:49:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:49;-1:-1:-1;;;;;;2067:27:49;;2063:106;;2139:8;2149:19;:8;:17;:19::i;:::-;2103:66;;;;;;;;;;;;:::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:51;2955:46;;696:18:69;2954:74:51;2432:22:49;2515:26;2954:74:51;2515:13:49;:26::i;:::-;2490:51;-1:-1:-1;2549:50:49;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:19;2637:44:51;;2539:148;2681:23:49;:41;;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:49;-1:-1:-1;;;;;;;1761:1386:49:o;348:217:67:-;551:6;545:13;538:4;530:6;526:17;519:40;53371:230:23;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:23;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:23:o;51249:282::-;51494:30;;;;;;28718:19:110;;;28753:12;;;28746:28;;;51337:7:23;;28790:12:110;;51494:30:23;28530:278:110;3658:342:28;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:28;3745:45;;3829:7;3796:9;3806:1;3796:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3844:18;3865:49;971:66;3901:9;3844:18;3865:25;:49::i;:::-;3844:70;;3928:66;:44;3949:5;3956:1;3959:5;:12;3928:20;:44::i;:::-;:64;:66::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1489:2340:22:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:22;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:22;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:22;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:22;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:22;;;;:::o;966:162::-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::18;884:15;;758:151;1098:24:22;1055:5;:68::i;7468:1525:2:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;1413:25:110;;;1386:18;;7664:67:2;1267:177:110;7618:120:2;7802:14;6445:61;;;7070:16;;;1063;7070;975;7059:27;7017:70;;;6995:94;;8068:38;;;8064:192;;8151:19;8133:15;:37;8118:52;;;;8064:192;;;8232:15;8210:19;:37;8195:52;;;;8064:192;-1:-1:-1;8572:16:2;975;1063;8439;;;;8428:27;8564:35;;;8882:5;8719:26;8699:46;;;;8698:62;;;8862:25;;;;8892:34;;;;;8861:66;;-1:-1:-1;7468:1525:2;;;;;:::o;7963:242:60:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;8028:19:60;;8173:26;8147:53;;7963:242;;;:::o;5928:433:64:-;6056:16;;;6070:1;6056:16;;;;;;;;;5986:14;;;;;;6056:16;;;;;;;;;;;-1:-1:-1;6056:16:64;6027:45;;6111:8;6078:9;6088:1;6078:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6128:24;;;6215:78;1155:66;6258:9;1284:66;6215:19;:78::i;:::-;6127:166;;;;;;6306:50;6313:11;6326:15;6343:12;6306:6;:50::i;3486:592:51:-;3550:13;3620:10;451:5:19;2637:44:51;;;3571:19;3718;3620:10;3718:7;:19::i;:::-;3695:42;-1:-1:-1;3800:12:51;3839:35;;;;:102;;3888:53;;;;:34;:53::i;:::-;3839:102;;;;;;;;;;;;;;;;;;;;;3968:25;;;;:87;;4007:48;4042:12;4007:34;:48::i;:::-;3968:87;;;;;;;;;;;;;;;;;;;;;3772:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3743:330;;;;;3486:592;;;:::o;1546:281:39:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;:::-;1809:6;1754:62;;;;;;;;;;;;:::i;3758:308:59:-;3871:16;;;3885:1;3871:16;;;;;;;;;3819:15;;;;3871:16;;;;;;;;;;;;-1:-1:-1;3871:16:59;3842:45;;3926:11;3893:9;3903:1;3893:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3945:13;3961:62;1157:66;3996:9;3945:13;1286:66;3961:24;:62::i;5057:269::-;5156:16;;;5170:1;5156:16;;;;;;;;;5127:26;;5156:16;;;;;;;;;;;-1:-1:-1;5156:16:59;5127:45;;5211:11;5178:9;5188:1;5178:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5230:91;1157:66;1141:83;;5265:9;5276:1;5297:7;5279:27;;;;;;6281:19:110;;6325:2;6316:12;;6152:182;5279:27:59;;;;-1:-1:-1;;5279:27:59;;;;;;;;;1286:66;5230:24;:91::i;5594:317:50:-;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:50;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:50;;;;-1:-1:-1;5594:317:50;-1:-1:-1;;;;;5594:317:50:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:50;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40103:220:34;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;7829:207:64:-;7940:14;7956:17;8006:25;8019:11;8006:12;:25::i;3165:160:51:-;3228:7;3292:26;438:6;451:5:19;3292:26:51;:::i;:::-;3258:61;;;;;3165:160;-1:-1:-1;3165:160:51:o;1862:325::-;1932:13;1953:14;1973:83;1989:2;1980:6;:11;1973:83;;;2007:37;;;3261:1:1;3257:13;;3253:24;2007:42:51;;2003:53;2051:5;2003:53;1993:8;;1973:83;;;2092:30;;;30719:66:110;30707:79;;2092:30:51;;;30695:92:110;2092:30:51;;30803:12:110;;;;2092:30:51;;;875:21:1;;;2092:30:51;2142:39;760:164:1;955:327:39;1036:4;1178:56;696:18:69;578:36:51;2955:46;;2954:74;1227:6:39;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:50:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;7448:223:64:-;3788:4:1;3774:27;;3768:34;3774:27;;;3768:34;7564:35:64;;;;;;7513:14;;7631:33;;7623:42;6914:97:92;4006:378:62;4130:16;;;4144:1;4130:16;;;;;;;;4082:11;;;;4130:16;4144:1;4130:16;;;;;;;;;;-1:-1:-1;4130:16:62;4101:45;;4185:10;4152:9;4162:1;4152:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4241:6;-1:-1:-1;;;;;4225:24:62;4217:33;;4202:9;4212:1;4202:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4257:13;4273:62;1169:66;4308:9;4257:13;1298:66;4273:24;:62::i;:::-;4257:78;;4349:29;4370:5;4357:20;;7000:5:92;6914:97;14:332:110;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;180:9;167:23;230:66;223:5;219:78;212:5;209:89;199:117;;312:1;309;302:12;774:159;841:20;;901:6;890:18;;880:29;;870:57;;923:1;920;913:12;938:324;1013:6;1021;1029;1082:2;1070:9;1061:7;1057:23;1053:32;1050:52;;;1098:1;1095;1088:12;1050:52;1134:9;1121:23;1111:33;;1163:37;1196:2;1185:9;1181:18;1163:37;:::i;:::-;1153:47;;1219:37;1252:2;1241:9;1237:18;1219:37;:::i;:::-;1209:47;;938:324;;;;;:::o;1449:256::-;1515:6;1523;1576:2;1564:9;1555:7;1551:23;1547:32;1544:52;;;1592:1;1589;1582:12;1544:52;1615:28;1633:9;1615:28;:::i;:::-;1605:38;;1662:37;1695:2;1684:9;1680:18;1662:37;:::i;:::-;1652:47;;1449:256;;;;;:::o;1710:439::-;1763:3;1801:5;1795:12;1828:6;1823:3;1816:19;1854:4;1883;1878:3;1874:14;1867:21;;1922:4;1915:5;1911:16;1945:1;1955:169;1969:6;1966:1;1963:13;1955:169;;;2030:13;;2018:26;;2064:12;;;;2099:15;;;;1991:1;1984:9;1955:169;;;-1:-1:-1;2140:3:110;;1710:439;-1:-1:-1;;;;;1710:439:110:o;2154:261::-;2333:2;2322:9;2315:21;2296:4;2353:56;2405:2;2394:9;2390:18;2382:6;2353:56;:::i;2420:180::-;2479:6;2532:2;2520:9;2511:7;2507:23;2503:32;2500:52;;;2548:1;2545;2538:12;2500:52;-1:-1:-1;2571:23:110;;2420:180;-1:-1:-1;2420:180:110:o;5568:184::-;-1:-1:-1;;;5617:1:110;5610:88;5717:4;5714:1;5707:15;5741:4;5738:1;5731:15;5757:184;-1:-1:-1;;;5806:1:110;5799:88;5906:4;5903:1;5896:15;5930:4;5927:1;5920:15;6339:184;-1:-1:-1;;;6388:1:110;6381:88;6488:4;6485:1;6478:15;6512:4;6509:1;6502:15;6528:171;6596:6;6635:10;;;6623;;;6619:27;;6658:12;;;6655:38;;;6673:18;;:::i;:::-;6655:38;6528:171;;;;:::o;6704:168::-;6771:6;6797:10;;;6809;;;6793:27;;6832:11;;;6829:37;;;6846:18;;:::i;6877:128::-;6944:9;;;6965:11;;;6962:37;;;6979:18;;:::i;7010:195::-;7049:3;-1:-1:-1;;7073:5:110;7070:77;7067:103;;7150:18;;:::i;:::-;-1:-1:-1;7197:1:110;7186:13;;7010:195::o;7570:125::-;7635:9;;;7656:10;;;7653:36;;;7669:18;;:::i;8108:476::-;8197:1;8234:5;8197:1;8248:330;8269:7;8259:8;8256:21;8248:330;;;8388:4;-1:-1:-1;;8316:77:110;8310:4;8307:87;8304:113;;;8397:18;;:::i;:::-;8447:7;8437:8;8433:22;8430:55;;;8467:16;;;;8430:55;8546:22;;;;8506:15;;;;8248:330;;;8252:3;8108:476;;;;;:::o;8589:866::-;8638:5;8668:8;8658:80;;-1:-1:-1;8709:1:110;8723:5;;8658:80;8757:4;8747:76;;-1:-1:-1;8794:1:110;8808:5;;8747:76;8839:4;8857:1;8852:59;;;;8925:1;8920:130;;;;8832:218;;8852:59;8882:1;8873:10;;8896:5;;;8920:130;8957:3;8947:8;8944:17;8941:43;;;8964:18;;:::i;:::-;-1:-1:-1;;9020:1:110;9006:16;;9035:5;;8832:218;;9134:2;9124:8;9121:16;9115:3;9109:4;9106:13;9102:36;9096:2;9086:8;9083:16;9078:2;9072:4;9069:12;9065:35;9062:77;9059:159;;;-1:-1:-1;9171:19:110;;;9203:5;;9059:159;9250:34;9275:8;9269:4;9250:34;:::i;:::-;9380:6;-1:-1:-1;;9308:79:110;9299:7;9296:92;9293:118;;;9391:18;;:::i;:::-;9429:20;;8589:866;-1:-1:-1;;;8589:866:110:o;9460:140::-;9518:5;9547:47;9588:4;9578:8;9574:19;9568:4;9547:47;:::i;9795:334::-;9866:2;9860:9;9922:2;9912:13;;-1:-1:-1;;9908:86:110;9896:99;;10025:18;10010:34;;10046:22;;;10007:62;10004:88;;;10072:18;;:::i;:::-;10108:2;10101:22;9795:334;;-1:-1:-1;9795:334:110:o;10134:1110::-;10228:6;10259:2;10302;10290:9;10281:7;10277:23;10273:32;10270:52;;;10318:1;10315;10308:12;10270:52;10351:9;10345:16;10380:18;10421:2;10413:6;10410:14;10407:34;;;10437:1;10434;10427:12;10407:34;10475:6;10464:9;10460:22;10450:32;;10520:7;10513:4;10509:2;10505:13;10501:27;10491:55;;10542:1;10539;10532:12;10491:55;10571:2;10565:9;10593:2;10589;10586:10;10583:36;;;10599:18;;:::i;:::-;10645:2;10642:1;10638:10;10628:20;;10668:28;10692:2;10688;10684:11;10668:28;:::i;:::-;10730:15;;;10800:11;;;10796:20;;;10761:12;;;;10828:19;;;10825:39;;;10860:1;10857;10850:12;10825:39;10884:11;;;;10904:310;10920:6;10915:3;10912:15;10904:310;;;10993:3;10987:10;10974:23;;11041:10;11034:5;11030:22;11023:5;11020:33;11010:131;;11095:1;11124:2;11120;11113:14;11010:131;11154:18;;;10937:12;;;;11192;;;;10904:310;;;11233:5;10134:1110;-1:-1:-1;;;;;;;;10134:1110:110:o;11249:184::-;-1:-1:-1;;;11298:1:110;11291:88;11398:4;11395:1;11388:15;11422:4;11419:1;11412:15;11438:183;11469:1;11495:10;11532:2;11529:1;11525:10;11554:3;11544:37;;11561:18;;:::i;:::-;11599:10;;11595:20;;;;;11438:183;-1:-1:-1;;11438:183:110:o;11626:112::-;11658:1;11684;11674:35;;11689:18;;:::i;:::-;-1:-1:-1;11723:9:110;;11626:112::o;12106:466::-;12404:6;12393:9;12386:25;12447:2;12442;12431:9;12427:18;12420:30;12367:4;12467:56;12519:2;12508:9;12504:18;12496:6;12467:56;:::i;:::-;12459:64;;12559:6;12554:2;12543:9;12539:18;12532:34;12106:466;;;;;;:::o;12577:250::-;12662:1;12672:113;12686:6;12683:1;12680:13;12672:113;;;12762:11;;;12756:18;12743:11;;;12736:39;12708:2;12701:10;12672:113;;;-1:-1:-1;;12819:1:110;12801:16;;12794:27;12577:250::o;12832:568::-;12885:5;12938:3;12931:4;12923:6;12919:17;12915:27;12905:55;;12956:1;12953;12946:12;12905:55;12985:6;12979:13;13011:18;13007:2;13004:26;13001:52;;;13033:18;;:::i;:::-;13077:114;13185:4;-1:-1:-1;;13109:4:110;13105:2;13101:13;13097:86;13093:97;13077:114;:::i;:::-;13216:2;13207:7;13200:19;13262:3;13255:4;13250:2;13242:6;13238:15;13234:26;13231:35;13228:55;;;13279:1;13276;13269:12;13228:55;13292:77;13366:2;13359:4;13350:7;13346:18;13339:4;13331:6;13327:17;13292:77;:::i;13405:654::-;13546:6;13554;13562;13615:2;13603:9;13594:7;13590:23;13586:32;13583:52;;;13631:1;13628;13621:12;13583:52;13664:9;13658:16;13693:18;13734:2;13726:6;13723:14;13720:34;;;13750:1;13747;13740:12;13720:34;13773:60;13825:7;13816:6;13805:9;13801:22;13773:60;:::i;:::-;13763:70;;13873:2;13862:9;13858:18;13852:25;13842:35;;13923:2;13912:9;13908:18;13902:25;13886:41;;13952:2;13942:8;13939:16;13936:36;;;13968:1;13965;13958:12;13936:36;;13991:62;14045:7;14034:8;14023:9;14019:24;13991:62;:::i;:::-;13981:72;;;13405:654;;;;;:::o;14064:441::-;14326:6;14315:9;14308:25;14369:2;14364;14353:9;14349:18;14342:30;14289:4;14389:56;14441:2;14430:9;14426:18;14418:6;14389:56;:::i;:::-;14381:64;;14493:4;14485:6;14481:17;14476:2;14465:9;14461:18;14454:45;14064:441;;;;;;:::o;14510:335::-;14589:6;14642:2;14630:9;14621:7;14617:23;14613:32;14610:52;;;14658:1;14655;14648:12;14610:52;14691:9;14685:16;14724:18;14716:6;14713:30;14710:50;;;14756:1;14753;14746:12;14710:50;14779:60;14831:7;14822:6;14811:9;14807:22;14779:60;:::i;14850:329::-;14891:3;14929:5;14923:12;14956:6;14951:3;14944:19;14972:76;15041:6;15034:4;15029:3;15025:14;15018:4;15011:5;15007:16;14972:76;:::i;:::-;15093:2;15081:15;-1:-1:-1;;15077:88:110;15068:98;;;;15168:4;15064:109;;14850:329;-1:-1:-1;;14850:329:110:o;15184:359::-;15387:2;15376:9;15369:21;15350:4;15407:44;15447:2;15436:9;15432:18;15424:6;15407:44;:::i;:::-;15482:2;15467:18;;15460:34;;;;-1:-1:-1;15525:2:110;15510:18;15503:34;15399:52;15184:359;-1:-1:-1;15184:359:110:o;15548:546::-;15870:6;15859:9;15852:25;15913:3;15908:2;15897:9;15893:18;15886:31;15833:4;15934:57;15986:3;15975:9;15971:19;15963:6;15934:57;:::i;:::-;16039:4;16027:17;;;;16022:2;16007:18;;16000:45;-1:-1:-1;16076:2:110;16061:18;16054:34;15926:65;15548:546;-1:-1:-1;;15548:546:110:o;16099:184::-;16169:6;16222:2;16210:9;16201:7;16197:23;16193:32;16190:52;;;16238:1;16235;16228:12;16190:52;-1:-1:-1;16261:16:110;;16099:184;-1:-1:-1;16099:184:110:o;16657:792::-;17050:6;17039:9;17032:25;17093:3;17088:2;17077:9;17073:18;17066:31;17013:4;17120:57;17172:3;17161:9;17157:19;17149:6;17120:57;:::i;:::-;17225:9;17217:6;17213:22;17208:2;17197:9;17193:18;17186:50;17259:32;17284:6;17276;17259:32;:::i;:::-;17245:46;;17327:6;17322:2;17311:9;17307:18;17300:34;17383:9;17375:6;17371:22;17365:3;17354:9;17350:19;17343:51;17411:32;17436:6;17428;17411:32;:::i;17454:707::-;17822:6;17811:9;17804:25;17865:3;17860:2;17849:9;17845:18;17838:31;17785:4;17892:57;17944:3;17933:9;17929:19;17921:6;17892:57;:::i;:::-;17997:4;17989:6;17985:17;17980:2;17969:9;17965:18;17958:45;18051:9;18043:6;18039:22;18034:2;18023:9;18019:18;18012:50;18079:32;18104:6;18096;18079:32;:::i;:::-;18071:40;;;18148:6;18142:3;18131:9;18127:19;18120:35;17454:707;;;;;;;;:::o;18166:603::-;18474:6;18463:9;18456:25;18517:3;18512:2;18501:9;18497:18;18490:31;18437:4;18544:57;18596:3;18585:9;18581:19;18573:6;18544:57;:::i;:::-;18649:4;18641:6;18637:17;18632:2;18621:9;18617:18;18610:45;18703:9;18695:6;18691:22;18686:2;18675:9;18671:18;18664:50;18731:32;18756:6;18748;18731:32;:::i;18774:407::-;18857:5;18897;18891:12;18939:4;18932:5;18928:16;18922:23;18964:66;19056:2;19052;19048:11;19039:20;;19082:1;19074:6;19071:13;19068:107;;;19162:2;19156;19146:6;19143:1;19139:14;19136:1;19132:22;19128:31;19124:2;19120:40;19116:49;19107:58;;19068:107;;;;18774:407;;;:::o;19439:175::-;19476:3;19520:4;19513:5;19509:16;19549:4;19540:7;19537:17;19534:43;;19557:18;;:::i;:::-;19606:1;19593:15;;19439:175;-1:-1:-1;;19439:175:110:o;19619:792::-;19979:6;19968:9;19961:25;20022:3;20017:2;20006:9;20002:18;19995:31;19942:4;20049:57;20101:3;20090:9;20086:19;20078:6;20049:57;:::i;:::-;20154:4;20142:17;;20137:2;20122:18;;20115:45;20179:12;20227:15;;;20222:2;20207:18;;20200:43;20280:15;;20274:3;20259:19;;20252:44;20333:22;;;20327:3;20312:19;;20305:51;20373:32;20337:6;20390;20373:32;:::i;:::-;20365:40;19619:792;-1:-1:-1;;;;;;;;;19619:792:110:o;21124:319::-;21330:6;21319:9;21312:25;21373:2;21368;21357:9;21353:18;21346:30;21293:4;21393:44;21433:2;21422:9;21418:18;21410:6;21393:44;:::i;21448:168::-;21521:9;;;21552;;21569:15;;;21563:22;;21549:37;21539:71;;21590:18;;:::i;21621:639::-;21871:6;21866:3;21859:19;21841:3;21897:2;21930;21925:3;21921:12;21962:6;21956:13;22027:2;22019:6;22015:15;22048:1;22058:175;22072:6;22069:1;22066:13;22058:175;;;22135:13;;22121:28;;22171:14;;;;22208:15;;;;22094:1;22087:9;22058:175;;;-1:-1:-1;22249:5:110;;21621:639;-1:-1:-1;;;;;;;21621:639:110:o;22265:689::-;22599:3;22588:9;22581:22;22562:4;22626:57;22678:3;22667:9;22663:19;22655:6;22626:57;:::i;:::-;22731:9;22723:6;22719:22;22714:2;22703:9;22699:18;22692:50;22765:32;22790:6;22782;22765:32;:::i;:::-;22751:46;;22833:6;22828:2;22817:9;22813:18;22806:34;22888:9;22880:6;22876:22;22871:2;22860:9;22856:18;22849:50;22916:32;22941:6;22933;22916:32;:::i;22959:896::-;23412:6;23401:9;23394:25;23455:3;23450:2;23439:9;23435:18;23428:31;23375:4;23482:57;23534:3;23523:9;23519:19;23511:6;23482:57;:::i;:::-;23587:9;23579:6;23575:22;23570:2;23559:9;23555:18;23548:50;23621:32;23646:6;23638;23621:32;:::i;:::-;23607:46;;23689:6;23684:2;23673:9;23669:18;23662:34;23745:9;23737:6;23733:22;23727:3;23716:9;23712:19;23705:51;23773:32;23798:6;23790;23773:32;:::i;:::-;23765:40;;;23842:6;23836:3;23825:9;23821:19;23814:35;22959:896;;;;;;;;;:::o;23860:511::-;24111:2;24100:9;24093:21;24074:4;24137:56;24189:2;24178:9;24174:18;24166:6;24137:56;:::i;:::-;24241:14;24233:6;24229:27;24224:2;24213:9;24209:18;24202:55;24305:9;24297:6;24293:22;24288:2;24277:9;24273:18;24266:50;24333:32;24358:6;24350;24333:32;:::i;:::-;24325:40;23860:511;-1:-1:-1;;;;;;23860:511:110:o;24376:615::-;24686:6;24675:9;24668:25;24729:3;24724:2;24713:9;24709:18;24702:31;24649:4;24756:57;24808:3;24797:9;24793:19;24785:6;24756:57;:::i;:::-;24861:14;24853:6;24849:27;24844:2;24833:9;24829:18;24822:55;24925:9;24917:6;24913:22;24908:2;24897:9;24893:18;24886:50;24953:32;24978:6;24970;24953:32;:::i;25214:463::-;25460:66;25452:6;25448:79;25437:9;25430:98;25564:6;25559:2;25548:9;25544:18;25537:34;25607:2;25602;25591:9;25587:18;25580:30;25411:4;25627:44;25667:2;25656:9;25652:18;25644:6;25627:44;:::i;25682:174::-;25749:12;25781:10;;;25793;;;25777:27;;25816:11;;;25813:37;;;25830:18;;:::i;26508:899::-;26931:6;26920:9;26913:25;26974:3;26969:2;26958:9;26954:18;26947:31;26894:4;27001:57;27053:3;27042:9;27038:19;27030:6;27001:57;:::i;:::-;27106:4;27094:17;;27089:2;27074:18;;27067:45;27131:12;27179:15;;;27174:2;27159:18;;27152:43;27232:15;;27226:3;27211:19;;27204:44;27279:3;27264:19;;27257:35;;;27329:22;;;27323:3;27308:19;;27301:51;27369:32;27333:6;27386;27369:32;:::i;:::-;27361:40;26508:899;-1:-1:-1;;;;;;;;;;26508:899:110:o;27412:787::-;27776:3;27765:9;27758:22;27739:4;27803:57;27855:3;27844:9;27840:19;27832:6;27803:57;:::i;:::-;27908:4;27900:6;27896:17;27891:2;27880:9;27876:18;27869:45;27962:14;27954:6;27950:27;27945:2;27934:9;27930:18;27923:55;28026:12;28018:6;28014:25;28009:2;27998:9;27994:18;27987:53;28077:6;28071:3;28060:9;28056:19;28049:35;28133:9;28125:6;28121:22;28115:3;28104:9;28100:19;28093:51;28161:32;28186:6;28178;28161:32;:::i;28813:925::-;29262:66;29254:6;29250:79;29245:3;29238:92;29220:3;29349;29381:2;29377:1;29372:3;29368:11;29361:23;29413:6;29407:13;29429:74;29496:6;29492:1;29487:3;29483:11;29476:4;29468:6;29464:17;29429:74;:::i;:::-;29531:6;29526:3;29522:16;29512:26;;29566:2;29562:1;29558:2;29554:10;29547:22;29600:6;29594:13;29578:29;;29616:75;29682:8;29678:1;29674:2;29670:10;29663:4;29655:6;29651:17;29616:75;:::i;:::-;29711:17;29730:1;29707:25;;28813:925;-1:-1:-1;;;;;28813:925:110:o;29743:339::-;29920:2;29909:9;29902:21;29883:4;29940:44;29980:2;29969:9;29965:18;29957:6;29940:44;:::i;:::-;29932:52;;-1:-1:-1;;;;;30024:6:110;30020:55;30015:2;30004:9;30000:18;29993:83;29743:339;;;;;:::o;30274:287::-;30403:3;30441:6;30435:13;30457:66;30516:6;30511:3;30504:4;30496:6;30492:17;30457:66;:::i;:::-;30539:16;;;;;30274:287;-1:-1:-1;;30274:287:110:o;30826:530::-;31011:3;31049:6;31043:13;31065:66;31124:6;31119:3;31112:4;31104:6;31100:17;31065:66;:::i;:::-;31200:2;31196:15;;;;31213:66;31192:88;31153:16;;;;31178:103;;;31308:2;31297:14;;31290:30;;;;31347:2;31336:14;;30826:530;-1:-1:-1;;30826:530:110:o","linkReferences":{"src/libraries/LibChunks.sol":{"LibChunks":[{"start":3993,"length":20},{"start":4180,"length":20}]}}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","getEntitiesAtPosition(uint16,uint16)":"69e10c7b","isAtPosition(bytes32,uint16,uint16)":"3fbf0c5a","move(bytes32,uint16,uint16)":"953717d1","spawn(bytes32)":"911c37ae","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"EncodedLengths_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"EncodedLengths\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"getEntitiesAtPosition\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"entitiesAtPosition\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"isAtPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"_isAtPosition\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"},{\"internalType\":\"uint16\",\"name\":\"x\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"y\",\"type\":\"uint16\"}],\"name\":\"move\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"entityId\",\"type\":\"bytes32\"}],\"name\":\"spawn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"params\":{\"length\":\"The length of the encoded lengths.\"}}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"details\":\"Raised if `start` is greater than `end` or `end` greater than the length of `data`.\",\"params\":{\"data\":\"The bytes array to subslice.\",\"end\":\"The end index for the subslice.\",\"start\":\"The start index for the subslice.\"}}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"details\":\"Raised if the start index is larger than the previous length of the field.\",\"params\":{\"accessedIndex\":\"FIXME\",\"length\":\"FIXME\"}}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The resource ID.\",\"resourceIdString\":\"The stringified resource ID (for easier debugging).\"}}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"details\":\"Raised if the splice total length of the field is changed but the splice is not at the end of the field.\",\"params\":{\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"fieldLength\":\"The field length for the splice operation.\",\"startWithinField\":\"The start index within the field for the splice operation.\"}}],\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"EncodedLengths_InvalidLength(uint256)\":[{\"notice\":\"Error raised when the provided encoded lengths has an invalid length.\"}],\"Slice_OutOfBounds(bytes,uint256,uint256)\":[{\"notice\":\"Error raised when the provided slice is out of bounds.\"}],\"Store_IndexOutOfBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided index is out of bounds.\"}],\"Store_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Error raised if the provided resource ID cannot be found.\"}],\"Store_InvalidSplice(uint40,uint40,uint40)\":[{\"notice\":\"Error raised if the provided splice is invalid.\"}],\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}]},\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/systems/MapSystem.sol\":\"MapSystem\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@chainlink/=lib/founcry-chainlink-toolkit/\",\":@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/\",\":@codegen/=src/codegen/\",\":@erc1155/=lib/ERC1155-puppet/\",\":@interfaces/=src/interfaces/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@libraries/=src/libraries/\",\":@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/\",\":@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\",\":@openzeppelin/=node_modules/@openzeppelin/contracts/\",\":@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/\",\":@systems/=src/systems/\",\":@tables/=src/codegen/tables/\",\":@test/=test/\",\":@world/=src/codegen/world/\",\":ERC1155-puppet/=lib/ERC1155-puppet/\",\":chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/\",\":openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35\",\"dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6\"]},\"node_modules/@latticexyz/store/src/EncodedLengths.sol\":{\"keccak256\":\"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09\",\"dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7\",\"dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol\":{\"keccak256\":\"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba\",\"dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1\"]},\"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol\":{\"keccak256\":\"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817\",\"dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8\"]},\"node_modules/@latticexyz/store/src/ISchemaErrors.sol\":{\"keccak256\":\"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d\",\"dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY\"]},\"node_modules/@latticexyz/store/src/ISliceErrors.sol\":{\"keccak256\":\"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883\",\"dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc\",\"dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6\",\"dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08\",\"dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562\",\"dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p\"]},\"node_modules/@latticexyz/store/src/IStoreKernel.sol\":{\"keccak256\":\"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0\",\"dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db\",\"dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890\",\"dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0\",\"dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3\",\"dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4\",\"dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2\",\"dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91\",\"dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53\",\"dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905\",\"dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6\",\"dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc\",\"dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168\",\"dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a\",\"dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ\"]},\"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol\":{\"keccak256\":\"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9\",\"dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2\",\"dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1\"]},\"node_modules/@latticexyz/world/src/IModuleErrors.sol\":{\"keccak256\":\"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea\",\"dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/IWorldEvents.sol\":{\"keccak256\":\"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57\",\"dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092\",\"dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea\",\"dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48\",\"dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83\",\"dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81\",\"dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2\",\"dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b\",\"dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol\":{\"keccak256\":\"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c\",\"dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27\",\"dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a\",\"dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791\",\"dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e\",\"dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674\",\"dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7\",\"dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/types.sol\":{\"keccak256\":\"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525\",\"dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085\",\"dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4\",\"dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC\"]},\"src/codegen/tables/ActionOutcome.sol\":{\"keccak256\":\"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a\",\"dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4\"]},\"src/codegen/tables/Actions.sol\":{\"keccak256\":\"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392\",\"dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39\",\"dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb\"]},\"src/codegen/tables/CharacterEquipment.sol\":{\"keccak256\":\"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2\",\"dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB\"]},\"src/codegen/tables/Characters.sol\":{\"keccak256\":\"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893\",\"dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH\"]},\"src/codegen/tables/CombatEncounter.sol\":{\"keccak256\":\"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae\",\"dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2\",\"dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW\"]},\"src/codegen/tables/Counters.sol\":{\"keccak256\":\"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0\",\"dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4\",\"dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB\"]},\"src/codegen/tables/Items.sol\":{\"keccak256\":\"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f\",\"dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj\"]},\"src/codegen/tables/Levels.sol\":{\"keccak256\":\"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4\",\"dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp\"]},\"src/codegen/tables/MapConfig.sol\":{\"keccak256\":\"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3\",\"dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch\"]},\"src/codegen/tables/MatchEntity.sol\":{\"keccak256\":\"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5\",\"dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7\"]},\"src/codegen/tables/Mobs.sol\":{\"keccak256\":\"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060\",\"dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9\"]},\"src/codegen/tables/MobsByLevel.sol\":{\"keccak256\":\"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5\",\"dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4\",\"dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf\",\"dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa\",\"dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7\"]},\"src/codegen/tables/RandomNumbers.sol\":{\"keccak256\":\"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5\",\"dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA\"]},\"src/codegen/tables/RngLogs.sol\":{\"keccak256\":\"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619\",\"dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe\"]},\"src/codegen/tables/Spawned.sol\":{\"keccak256\":\"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905\",\"dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw\"]},\"src/codegen/tables/StarterItems.sol\":{\"keccak256\":\"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3\",\"dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso\"]},\"src/codegen/tables/Stats.sol\":{\"keccak256\":\"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a\",\"dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm\"]},\"src/codegen/tables/UltimateDominionConfig.sol\":{\"keccak256\":\"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256\",\"dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w\"]},\"src/codegen/world/IActionSystem.sol\":{\"keccak256\":\"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2\",\"dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF\"]},\"src/codegen/world/IAdminSystem.sol\":{\"keccak256\":\"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b\",\"dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ\"]},\"src/codegen/world/ICharacterSystem.sol\":{\"keccak256\":\"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78\",\"dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd\"]},\"src/codegen/world/ICombatSystem.sol\":{\"keccak256\":\"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f\",\"dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ\"]},\"src/codegen/world/IEquipmentSystem.sol\":{\"keccak256\":\"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa\",\"dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW\"]},\"src/codegen/world/IItemsSystem.sol\":{\"keccak256\":\"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b\",\"dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH\"]},\"src/codegen/world/ILootManagerSystem.sol\":{\"keccak256\":\"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a\",\"dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe\"]},\"src/codegen/world/IMapSystem.sol\":{\"keccak256\":\"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e\",\"dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72\"]},\"src/codegen/world/IMobSystem.sol\":{\"keccak256\":\"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c\",\"dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS\"]},\"src/codegen/world/IUltimateDominionConfigSystem.sol\":{\"keccak256\":\"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9\",\"dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c\",\"dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9\"]},\"src/interfaces/Structs.sol\":{\"keccak256\":\"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef\",\"dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G\"]},\"src/libraries/LibChunks.sol\":{\"keccak256\":\"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9\",\"dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv\"]},\"src/systems/MapSystem.sol\":{\"keccak256\":\"0xec7a92f8b442213645f51565a13e940d9ed92b47cb0b2dcbd64e75848824d65d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3bad50e1e8be5276ea103900398f2c6460895eca6ed87f8a031059948d6d064\",\"dweb:/ipfs/QmWBqLoZMkgq35rxWqRzeSWdFCm1kHJfhYnhnx12ZAzRxY\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"EncodedLengths_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"EncodedLengths","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"getEntitiesAtPosition","outputs":[{"internalType":"bytes32[]","name":"entitiesAtPosition","type":"bytes32[]"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"view","type":"function","name":"isAtPosition","outputs":[{"internalType":"bool","name":"_isAtPosition","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"},{"internalType":"uint16","name":"x","type":"uint16"},{"internalType":"uint16","name":"y","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"move"},{"inputs":[{"internalType":"bytes32","name":"entityId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"spawn"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"}},"version":1}},"settings":{"remappings":["@chainlink/=lib/founcry-chainlink-toolkit/","@chainlink/contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/","@codegen/=src/codegen/","@erc1155/=lib/ERC1155-puppet/","@interfaces/=src/interfaces/","@latticexyz/=node_modules/@latticexyz/","@libraries/=src/libraries/","@openzeppelin-upgradeable/=node_modules/@openzeppelin/contracts-upgradeable/","@openzeppelin/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/","@openzeppelin/=node_modules/@openzeppelin/contracts/","@pythnetwork/=node_modules/@pythnetwork/entropy-sdk-solidity/","@systems/=src/systems/","@tables/=src/codegen/tables/","@test/=test/","@world/=src/codegen/world/","ERC1155-puppet/=lib/ERC1155-puppet/","chainlink-brownie-contracts/=lib/foundry-chainlink-toolkit/lib/chainlink-brownie-contracts/contracts/src/v0.6/vendor/@arbitrum/nitro-contracts/src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","foundry-chainlink-toolkit/=lib/foundry-chainlink-toolkit/","openzeppelin-contracts/=lib/foundry-chainlink-toolkit/lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/systems/MapSystem.sol":"MapSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x7dec900f9c9e7dff59430fa6f520e76c56338c3e829201aea140d49342e4fef8","urls":["bzz-raw://e55c1dfcda94dcc64b8577949b2e92a9d3fc44f5fba1ae77ceacccfdc8e22e35","dweb:/ipfs/QmS7uRJbEQYkPuZ5Dz5aSNjaaxj9PA8RtxUeUGN2W3jZx6"],"license":"MIT"},"node_modules/@latticexyz/store/src/EncodedLengths.sol":{"keccak256":"0xebc0a6efd611e02b15c05a382382b597fe059eba7f2a9e90da81eeb2f7666774","urls":["bzz-raw://00b2cac12599935e25ea0697e99fc9e6d5af6c1c982761996c16707d9cd6ca09","dweb:/ipfs/QmXccFminkrFtDpNfx6X1pHvW7Tn1nA5XcGu9T17pJyZyK"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x15f698b7eabc062a00ff7a2e02db0ace2dd51f8bd2bc51a45dc0afa88f2ee658","urls":["bzz-raw://f774202c98ad394b3b62be93292512c633dec63bc931c190ed984656c2d54ec7","dweb:/ipfs/Qmd2D9mvP8S88ad2Q8WU54saNVr3Pwc5stPqEKHwcpo8AT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IEncodedLengthsErrors.sol":{"keccak256":"0x06bb49164f44acc8d51df7b75ecf2f7aeb9281f7a3b357cae7d8d58bd1700dfa","urls":["bzz-raw://719027f4cc60fea30ce01cd4f672462f41fac750ae802e91a1a6d37c929e11ba","dweb:/ipfs/QmWi5DM2jT5V5SGP1afRmFyRgFvuZiGDX2PWHwP19HssF1"],"license":"MIT"},"node_modules/@latticexyz/store/src/IFieldLayoutErrors.sol":{"keccak256":"0xaef70c46e412bded1024ac82c957cea81c1d1ab11878a95635531e2ac9673a53","urls":["bzz-raw://cda2c7dc02ee8f0163b1c8d0f3e1e05d48b2a009e5c7365d2418f17bc3455817","dweb:/ipfs/QmXHDZuCPTxjHaeiEaJhA81koX2NJ3Gj1zt5WVWaz77FL8"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISchemaErrors.sol":{"keccak256":"0x0ac3de36c9d0058a17fcd7f1a905132215fd16ea3ed3b5109de1de04ddd7c441","urls":["bzz-raw://f83fa2546009cfd16b3b3969dcec1d67c9d818d910177b885ba263b6a948c65d","dweb:/ipfs/QmehywHdvFYBL9BTtoPsVVwJXsEA4Xjk8aPWoHw1R45KeY"],"license":"MIT"},"node_modules/@latticexyz/store/src/ISliceErrors.sol":{"keccak256":"0x72684b7dfc1b44537401ccf10d6120186d02323266fcc762bc81859985eded4c","urls":["bzz-raw://e8d037b6937969ae54018ddf647eeaf5eb69a2b0bf9edf9456d3d270316b2883","dweb:/ipfs/QmfYJeyAmzRqpn68FteiM97p5t17iBw62FCET4bK5g4w37"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x42515d1410333a3573f78a460576271ef62c16edad5cf771ef6287b83ca1c706","urls":["bzz-raw://6a58d03c4cf420df57d2b2e2e7932daad877e46e89561b46e1fa9f593a701bdc","dweb:/ipfs/QmeFmKS7J1WqqBAgXkyxxx2fGA8JzuGszUmVsV2T6DYtsL"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x37e4d2f015dd4005ff9b3f711257c891027804bc268db1791984af4989951912","urls":["bzz-raw://a4a566ea96b69211f503707f69a9f9012d5873a3fd57b3f221549f46a7518df6","dweb:/ipfs/QmVgcE3JufJr3iyeV6xqkvS4YtDcy6Eqyram2yzWUhwoB4"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0x8606e9de37943c74beabb9ac9acd2132f951bed1ef79f2f4f3de83ed1f271f6a","urls":["bzz-raw://d13adeee7ae9e687bf1cd12a8c36223179685fc828a7c468ee9311c879401b08","dweb:/ipfs/QmQeb2ArSoQpE6ujBbDj9LY3xqpVCPiz3bh9SLT6siE8RY"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x6574a30a2bbd8a0de21b2504c55effb8802fdeff62296af82a9380bd753adcc4","urls":["bzz-raw://85a859c533f51b584a9a2e8a64d61b6cf6f69bfcff1b926ad787518b1cae9562","dweb:/ipfs/QmVyjmyJ69ZeqaXHg91JtGLVahRfZ7KtWaessLWZ6rYk9p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreKernel.sol":{"keccak256":"0x37a23dcbabc5937a717f2fda636b6a97963ed4b5a96870a62dfb199a8b692f89","urls":["bzz-raw://ac9741ea6daf21f39699be11afd919ae3ec07df24d948aaaa6549456fefd7fc0","dweb:/ipfs/QmeiPQkZitM4Pc3i6L87thU71Fs1JVWAgMqXnSK8VrCq75"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xdcf28b3293d4d6c1fe2808a8918c1b2122e4e0e49f2793c79ebd2b9ae210ff7b","urls":["bzz-raw://bb3d9cc80f549ed0c5b768aea69fb1b3c364bd4f85d193a3040c411b594d94db","dweb:/ipfs/QmYYdY5CjPHiW5ucXihTva1eHsCPNqBsvL6zYYafH3ap4p"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x120fd448da5806e09ecb5327ad4dba64df01d2ee7232de0979133627e87e24ba","urls":["bzz-raw://7a3cb151b2ddee217f330d61813b2dcd997de94940c903719f6d066a21467890","dweb:/ipfs/Qmbes1RRY6KdtsMohp8834xXyipeQK9GJ41NfgXK1d1QAZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x889423054511cf8a83f5dfd65a0f984dc514aba798ef3db139b59d395b2327e2","urls":["bzz-raw://40b9495d455c87db8b063e291ca3973dc3ba1163f09c5d7446241a9e1cb69ed0","dweb:/ipfs/Qmek1JKVjPUpoXnKwu66HfPS9rHstKtWTuBmG8YFxbPEWQ"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x0d2a08030d21292ecbcc850d9111f3817d03f17cd5e02186894848a9152d79d7","urls":["bzz-raw://3f30024c1613fb587aaba4c1dcb8e4e46ed765a2cebd5b63fbebd327d1bf13d3","dweb:/ipfs/QmZzqSnPMYKDYwbFNvUFrvuazMUyQHzQ59w3A9x6juHAm7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xae6c03881fdfa56cba1879d9c9c6b52c2829e6a278a200176678d8da05a89345","urls":["bzz-raw://3cad7dc4944c0518de2e7f99697485d365ae37aa6cad6967996377c2dd951fe4","dweb:/ipfs/QmW3grFwr8BcgJmLfjLbj3FthnD7NRUBFMFiahbXztHPr7"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x9513dc38e5baadde0ba9b08320a324043b0e88a10702be5c3507da8c3d45e861","urls":["bzz-raw://99c80c65a394763668e4aed69220fec6bb3ed847fb277ddd1ff1d4bfdf452da2","dweb:/ipfs/QmRT2BATKtrYmixWMuWo9Cz8g8oscfLNSmvjxTyiTNA1pc"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x7edf7c1641408f3a580eb28bda58054583cb846f875608612671c6d40712ba40","urls":["bzz-raw://4146adef610d1daab085a81aa9f2d4fd8c4e5f459b9ef184f3ef23465573cf91","dweb:/ipfs/QmQqZMsbkzSNG6VfYzQLdRCBCsNohBSVQmWoTP6QvKmKUP"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xfdea5b4cf666720c1c0d81a8acdede68e6220aee45d8a9f3c9834b4edc5da394","urls":["bzz-raw://b3a394dfe123cfb7200f65d379fb0cb3d2c84475b382faf6ee11bf9c45a63b53","dweb:/ipfs/QmRMPHFBbCKtqKBVV9gvd2jhnfsyUKmCBEQkgviMoxi1UG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf192bceab34508cee21dd7c33e4d776f79c4a7ca55ee8905c6c694850ebfdf64","urls":["bzz-raw://c95113f76f6de671cb44710754e0942934182b544660a4330fc90a505e198905","dweb:/ipfs/QmXma5ZxfK8Y9TbvB7QM9hdhfc1ixiMcLpo9BQxnVthHB5"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa825218614acc19a4100357dd7ee410b67b994fe7aaa68650d5d0d4202d4ca8c","urls":["bzz-raw://09b0cbb598fe2b75bbcd269b47d686a66fcc89c0c40d9a09807eba7688b81fc6","dweb:/ipfs/QmYk6XQwSLhRumujTCsqxdvugKuP8oLjjB926pMHR445ra"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x918b977e7f7f3e947d6d5aa189c54c9c7e7c106d0a0d53734ee959ad454abe09","urls":["bzz-raw://3a3de63c04c838bf80c1903cf7464d201d0ece0f86a7aaca35462b730e9338fc","dweb:/ipfs/QmSUkLZ88J7tSwdmR3viBJHU8QVgN2Gji6W8wYLJEDNkc2"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x67e0d59237bd37424827ecde1ecdbe71f65376af517b0623cd8f8d5451bca7a6","urls":["bzz-raw://09c5ec7fe73e06140957d44a3d9938587711c783ccbf08ff017638c9279a3168","dweb:/ipfs/QmfS9ZRqHXmBJ1h5B4x4gbU6d18DtMgKZSkxhQgNVRxueu"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x78c571906ee999ee7e56d4f7702b8a93c3a9e55e6b552aca115b5f6ac7f1c80a","urls":["bzz-raw://a9f141b2d556b2a2545e7db5606e8a038679a995a22aeaf1702cb3a60320b60a","dweb:/ipfs/QmY7x258Fhj3TT3RT4sNyyfiRphVYdZXhtAnSYpasJ4xVQ"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/utils/SystemSwitch.sol":{"keccak256":"0x5ac59bd7f2db0154a8b8f5eecc8eda69458c7ac488d5defd0c904d79025c79a7","urls":["bzz-raw://89adb066110da44661d12e487bc9adfa6c8396432516057b57ae72ba2ceda3e9","dweb:/ipfs/Qmddoe1812LrdEWbaCzE876kL6AK4S7vUGkcMpzAxPyhvR"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0xbb926cf64e685bbf2770d60124664cc84ab70bd3038e17a074f2d472c3fc2c57","urls":["bzz-raw://143c3dcbdf1702dd4f9c869629609386c12f7c0247e88a6d062dc4d519ebe0d2","dweb:/ipfs/QmQJSDd8uFL4sssw9fb9NHo4s6zjuDUgmrLHj3zsJuhMo1"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModuleErrors.sol":{"keccak256":"0x60917e029779c81cfea1f5140c389269e51d7adb78987f39101b9e0d7bdad12d","urls":["bzz-raw://513f41920d67ca28c3e0fe247403c28a4d342785192df449c99d5f92db04fcea","dweb:/ipfs/QmeAG2TtxAgcJQR4QxftuSvQrxisYQ1i1GZoyd7oeFQBDJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldEvents.sol":{"keccak256":"0x39f6d8930db431c04158b85cc2a612c48d43dc81ec998f267076b12293c5d243","urls":["bzz-raw://d68f1543e5e166d639372d1aec57e3e193b5bb3b37270b6cb0488fab2c0ebe57","dweb:/ipfs/QmdJUFDx87AHWFKP3jVrYg8xqAkiPfuT1M3tEotNt7KUoy"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xdaa1e92439036e392fe79892819ae165732f416b831f84d38050ca3d958e549b","urls":["bzz-raw://ea8dc52e31a62e8971322ea9ed8f2e83d562ec199d7f93a392c293e96ff7f092","dweb:/ipfs/QmSbM8MgHbrJLYP7uzemfZeC4xctqdyKDbspwHUsgeeVJC"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xaff9a22fac8a0f6eee5763b07a7ccb623c829d37922b85e42e914aad2ad417ee","urls":["bzz-raw://e598f0274d6d97c0a09806bf4fd1f0d054c310cf51b2123f5ce6380d6f3186ea","dweb:/ipfs/QmaaVvqm21YsCgxozDyShcM17jKUXJhf2y26bk2YzPYZoM"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0x7e7321b86836bfbf4b96d0fb2a424ed678efcf01b15fa3d0b4ae4f0b975ad5dc","urls":["bzz-raw://ead41554796bd0507e390f2997aa4a8df7bff8b51523b86fa3c5bd8acb1fec48","dweb:/ipfs/QmVe1VUhfbRy8tviA7UcCtS8NjXhsF1E6Re9xLqWS5aRTK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xe57042e82311847c56fa569377ed84459bf55afccdd3123312a5dff90c1d06f4","urls":["bzz-raw://baf3258c9118bf16ba68ebcfecdb5e5ffc85d5c0cdc2815ca298283dfcff2c83","dweb:/ipfs/QmcBVyUBR3PVejz7249VrEBMCMKHi72KoUXQ8DFmMmY48F"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf7acdfa0eb01c710d11fba129d613863fe86f1bed352f0bc5630bea81cceae17","urls":["bzz-raw://3e4107681cd20c018cd8f5dff6da72e8a4b02f631c7c59b618e8743482c7bc81","dweb:/ipfs/QmXS8NLaKVXcf97HrD8U4hGHqb9ytYGwdZrTVHHb5EwrRj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0x600cc362780c319e640950ad3520af7fa558171268baab252ff4da4414aa0f1c","urls":["bzz-raw://6d113a833b64bccbbe852f3d0261efd80ad4a0f6771802dc91af79c762a33ff2","dweb:/ipfs/QmaXEdJJaMMQF8nZieWyXdVD15yuXnH89QLZHwD18LAndz"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x7070453d969eba7defd90047d58ae979e27e5c1fcf05598daa4d17fedbe84c35","urls":["bzz-raw://ee5c196c5e339ac0222cd1d14fd9d09451d255605f73732abc33397a9512503b","dweb:/ipfs/QmYwNsWnxP24RzDqFYLnBYswZY97YE3nwG6Xf55f5FqNXa"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IRegistrationSystem.sol":{"keccak256":"0xe08d3af994098120b5507c71a1c3558763b8c1a88c6eae506aa438c2af78f800","urls":["bzz-raw://bb0c47b16ff524140388765fe9ef99211dd7d9b9374dae09144a9956138de00c","dweb:/ipfs/Qma8ibVu6WZs1hFW3hMnUykV3pPXGZhZ3xJwJXNj6Xu7aL"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0x70bed82da026058ddccf52766823c7d55c7d29faad0ab1d76d763786d5277f7c","urls":["bzz-raw://1da6476d62e450d3d935ea8292723612a84fa1d07342fbc052ee851181701a27","dweb:/ipfs/Qmd1FQpmEVbQciLDPkHPXSKB7aYW1YB74BN5JXqn74erhR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x25248669a093cfdc9453491e5b5806f6aa092a805569799650c43c32f7b7877d","urls":["bzz-raw://2f294f597122450abd267760d91682facd0a1040383caeb44aaadeb74770904a","dweb:/ipfs/QmPXsoh8tUhpnhjdBYYTZCLc8MPHDZK6xUmN7F2DsMEXro"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x1ee313f4f1165034b92c5df1fe4cdd9be52b27780245388db3a0267c119fc926","urls":["bzz-raw://a3d58ca6a58e94bc30d5be0fc7a7d1325a92096c8b8b2b3a0531c2c5d0d60791","dweb:/ipfs/QmZSisbANqwnFzwMJnnYBjemLW4Cqn3oL7MkV4HiQR7GKv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xb857dd63073a6469f5bb8deb6c0617763cd42c484821e247572c6b53bb1da3cc","urls":["bzz-raw://07c710d67440b98b145c1991623b7c8cc7f0805b4e6fa37a7d54afcece31239e","dweb:/ipfs/Qmb368QqzbQGUttbDS7eVBGQ8KcXhiai2F9vy3Thyyk2vx"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0xc27730dae8302cb86f5d65ddc9ae0e92afba17842285a6d0cd146a1e21d73c0f","urls":["bzz-raw://4de5f820f1dfe36e53fe1fc77be6a52ac5fa72a7a5d5ec66e5d29ca6ce553674","dweb:/ipfs/QmP5JUMHDCBxZkZ2YnoYQLqQFHeyCpoUVp14hJBWpSdiqV"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x1706fe4b5441a4e3982a3d32f7de2148627b8dfbbe3e38391dd4dab06b86478c","urls":["bzz-raw://c0569fa73cd26c6476188646194ad58eb5cf78cb7c7dc7722748455c23c9d4d7","dweb:/ipfs/Qma1RuR12bTXSVJJ8Q8Gw23KkBw7pyV9u5Kr8TGutaxYdz"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/types.sol":{"keccak256":"0x81b75eb286ec515bde6cbb16c3d089054abb530b744865bbace68343d23177bc","urls":["bzz-raw://afc77bd51e24da666260bb48c44ff611869fb2e550921d732e5aac84a1f09525","dweb:/ipfs/QmeU5N4yeRh5nEA65pvGtQQJNv1GvEPy4PkhMVRYRMoMvh"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0x2d0a0176c583fcd95e430978a48ca29a38536c01b57b6effd08697d2d2bf5f42","urls":["bzz-raw://720d1ea5054e1e53b703345992c9ef61e372f6da66247fcb4e89c279055f9085","dweb:/ipfs/QmXCygeJuEesDRSAamMfJZU9Qz5UCz3dmkBj7SGfEvEEY7"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0x863584dfe60c9b1e0600389db332d79098ebb2d9640c094ecb2812bdb707a315","urls":["bzz-raw://2a329e71cfe731b3a7608f0c4b370346751aa65181eecd872f3cd8f91e9e58e4","dweb:/ipfs/Qmev7zTiQpak1N1iU2kRCsMc7Pre2pKWytU6RqbkhfdmgC"],"license":"MIT"},"src/codegen/tables/ActionOutcome.sol":{"keccak256":"0x3191cc4da6f6a0146b54ac4b6022f402981cda101a577c4b8f49d3dc4c9ca956","urls":["bzz-raw://cc6ace9a0b33a4a1df297c712c0b37171c8e3946e0fd2bf0ea0483ab4d28147a","dweb:/ipfs/QmPaVdRSLQt1xmbRbqeKWitcRXeTXGA3yuxJgPbgdh1WQ4"],"license":"MIT"},"src/codegen/tables/Actions.sol":{"keccak256":"0x63cd48bebaa0414728e9be2c856e4eb01efaead6627a6615da4c77b886805cef","urls":["bzz-raw://c1dfe138555b67362f41c26ce1ab074bfc1fcc4e7c6fd0284b82cc699d80d392","dweb:/ipfs/QmNf8UGE3FZ4U96HkeioE4peWWz1SKPAjhKRrGnpEnCdkQ"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0x0daf45149c3403e88b492878aa7622c604687314a844023f4f2ebdb53213b17b","urls":["bzz-raw://074403d43b76610a90629582f3d7680f713719e0b0a5ac8563838f694d717d39","dweb:/ipfs/QmVy5jEg33ZNWPTSEEYXYUafsghAdnDivCBGmdUKd7BDMb"],"license":"MIT"},"src/codegen/tables/CharacterEquipment.sol":{"keccak256":"0x5a911b5c2218dabb75a117ce2e8946ceccfe009edd2425a1d012d23727372d32","urls":["bzz-raw://d45dc0a37bb1814f9ebaf5264042b729268be557e9f9b58de928206d86e8ede2","dweb:/ipfs/QmTWSB6XUZXtjQAYLRMkRxPeXNLKa8nADAVguFBKoMADHB"],"license":"MIT"},"src/codegen/tables/Characters.sol":{"keccak256":"0x907f9803924ab0065992e81ccf9c64f228876401e5a728c27d967448bfb35e98","urls":["bzz-raw://809b9cc95a1c37663b48fe4307ba31fc1b0d794913258f5dc2f2f848b0448893","dweb:/ipfs/QmbyQ5DkdeL5CZppx9vs87E2eRzm6CkYfPAYikGGdbcHxH"],"license":"MIT"},"src/codegen/tables/CombatEncounter.sol":{"keccak256":"0x4980de28cc4f38db2a8f318781797a6b927be2192703c6155f5986671b05375b","urls":["bzz-raw://11a3f415c89fce9be665c5ab81fb3e5537002d21efe1162f65256682e5a7a5ae","dweb:/ipfs/QmZYg9tB9KLr88w5yXnV9CXhVDt7AYxC6Wy7xCJcghoQEH"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0xfaeb3a8af7f230439a030f5073eac8b17a1cb5c000d3295ba7de3f9a56de53cd","urls":["bzz-raw://d15a53a271371e33c597846a6667d6829169ca042ab31d65ad819500be9ea9c2","dweb:/ipfs/QmbNnGCd7hQnvijs9PeWdawRSSwfmQtqi5d47E214r8biW"],"license":"MIT"},"src/codegen/tables/Counters.sol":{"keccak256":"0x860380ddd7ff96983c639fb1c4c64b0677f2693da9c422c9682a2bfcfdf1dd85","urls":["bzz-raw://6fe147c6b7545abde3f783f46c39384e17fe965424a8150fdb65330f0d71aee0","dweb:/ipfs/QmUUMpB7eumkryWUUVP5CbL1Xtz81RPXLEb8Vrpgwy6LgW"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0xd0b649485e3837ea8014c2eceb7efa5b5002ad49bb57e87503622d91e0da7501","urls":["bzz-raw://b1c9559099385b1b1c23eb35d8bf72d50da0e813e5d29c90acccfab4a9ba7fe4","dweb:/ipfs/QmX2JCEkcUkTJq1svXUsGs2ucMuSqvSi16z88N4MnZoKRB"],"license":"MIT"},"src/codegen/tables/Items.sol":{"keccak256":"0x369731e289e046f20bff48ebb31202c95024ca34bf8fc1d685426878e66dc31f","urls":["bzz-raw://59ec4b81dc56d99ab8ee12323ce7a2157558eb51e5c7094b8b54335c7bdfe50f","dweb:/ipfs/QmbmYzo3LFHUNSNpZT4ZFZ7FFMAwk7DzyA27R8qqLc7mcj"],"license":"MIT"},"src/codegen/tables/Levels.sol":{"keccak256":"0x535e0e176169629b241caa38851bb5fe8862f822301552e8163bb405c9fc2327","urls":["bzz-raw://b22ef6fbbcdff6d59ccb2e1f3b48cd416ee58d64252aa1865f92ca53792ce7c4","dweb:/ipfs/QmQ7yKMUUcHcVH4RFZTDx9jSnr3rwyiTa7zeVLPK6qUQtp"],"license":"MIT"},"src/codegen/tables/MapConfig.sol":{"keccak256":"0xf7ba7c8303a8146a874960b3f77484d5ae0d9e3478a698ac08ac08f24d05ff27","urls":["bzz-raw://5d3905e07aaa32e028977c866e03cc0f1a92bd14945e30432f07fc3ebf8d8fc3","dweb:/ipfs/Qmf3UJity3jA727Y8ge5swykZa6YrbQPxaqCygroD6U2ch"],"license":"MIT"},"src/codegen/tables/MatchEntity.sol":{"keccak256":"0xaabe20cc4e4d6c5a55658f59ed5094f37ef0a4a795d41db3a147926d4f7bbe7e","urls":["bzz-raw://0c1690adf4c6629b794f8861239dd572a03cfb9c8688b51a4b52a54006efa6b5","dweb:/ipfs/QmUDGdfRxruvzrcqn1qcEqZKfyJYzXLqtarV59EwNdHmp7"],"license":"MIT"},"src/codegen/tables/Mobs.sol":{"keccak256":"0x0d6040fb2c459f26ffe1f563af1b547c9844cc3b53ba3d8d21f8051cfccbf6f3","urls":["bzz-raw://e7e422a289617179f3ecbdd519468996f36841526a30ab7245348ea78275d060","dweb:/ipfs/QmZYLGnLb7witVgCqz3ppfwa8EejMNdAHhdGfBxe3NDVU9"],"license":"MIT"},"src/codegen/tables/MobsByLevel.sol":{"keccak256":"0xf84e0714feee0964737b282a981dfe06d408e5006fe5e31f17ebe02d12be550d","urls":["bzz-raw://58eae71b254ef9d2d50ae3c46b0b03f1a7554b72e1a1743e9a4ef3b73df0f8c5","dweb:/ipfs/QmcY1RuKgtCFrjPfgsfyrmuVW6k94MatmMa4MGT5eNeYj7"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x5b244643b0cc0f74c380fcd34e6cbe59cf0fabf15362bbaf04db527443f5df99","urls":["bzz-raw://cce9aed9aa8dc6a071b9c8f958ae9f73e50f17ca24dc3c2cc2a58752efc7d1a4","dweb:/ipfs/QmaYLEjYKUnULFRcm35PUk4PQeWMpNEgg3N1JT6f6crf81"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0xa8a8560b33be580fadbe6d92d8ee51225ea232788afd74252a12d1f724f7f9ab","urls":["bzz-raw://1bdc023458c300d9fd442c684d91bb3c48f8acc40ef629f7e6956af452bdcfdf","dweb:/ipfs/Qme9weCKgFBzqvRosTTCGyZoRNyU9mz2jkECiZPUMbFpQC"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xf71ad66166f5f5ac451aef4b46e44c39958dd6096eaf1f34900e69137633224d","urls":["bzz-raw://52d3c128933601b8f02227b96225f0951234f7aec9ff9a9c8684f8cd101f8baa","dweb:/ipfs/QmWNgxUAUYvogthUFSp6pHfWasWRves9727GMaipfdhzs7"],"license":"MIT"},"src/codegen/tables/RandomNumbers.sol":{"keccak256":"0x36271b8a638ab379293882f001c77c5b2c911c707c3cfaf8c63327a047e4fa22","urls":["bzz-raw://b764ae3b7573d191b544f66e01095e23c09c033a766c8d4f9fd635c780382df5","dweb:/ipfs/QmZEDexSqLHBX84DDpYVpjvcxzYL1d4qtkupowY13ixQeA"],"license":"MIT"},"src/codegen/tables/RngLogs.sol":{"keccak256":"0x4676e626e94ccbf0d79a008703cb0598f41bc4ed4768120ec1f1aae5eceab821","urls":["bzz-raw://48c0f0f80b320feaed550863f772efd3a012edab87fd905292e557498adc5619","dweb:/ipfs/QmcYpWEHim2qbseBhhX2upXLyD9dBWw3pFW4PKGdgFgYWe"],"license":"MIT"},"src/codegen/tables/Spawned.sol":{"keccak256":"0x2d1705df77428d3bf34209aa624ce6812b49ff5701f3ded65beace10c902450c","urls":["bzz-raw://72c2f8c81b79fd4cc392b8bd7de5479a649a426b66b0073c231acb3e3d80d905","dweb:/ipfs/QmbA6xN5zS6MQ5D1gqSaucayoKjSKjSiprK1oXWmQSWUMw"],"license":"MIT"},"src/codegen/tables/StarterItems.sol":{"keccak256":"0x5ee8da401ed86fbcfe390b5dbd301e2553c278970b13e942a91b37eb930d8de3","urls":["bzz-raw://ea2e69871f31015e9080b07a0c8fa8fa01519c0827e3dcd1409a5192994205e3","dweb:/ipfs/QmV2raKphNUK5X6hds4e3c5AAk2XUP1vBNBMtsSz4VKGso"],"license":"MIT"},"src/codegen/tables/Stats.sol":{"keccak256":"0x4dbbe2a11e729ce5ed6569600e0e7237f5fa5e2476f6c049581e2b18830c93b2","urls":["bzz-raw://d056287fefd267378a9a3f20ed25e28db2fa34604729f047e22c2ab016ac2c6a","dweb:/ipfs/QmSunLJDjxsUMJaudJefjgeHHurT4KKsgrhNBSsEaU5jgm"],"license":"MIT"},"src/codegen/tables/UltimateDominionConfig.sol":{"keccak256":"0x6f439f3fef2c4db3b295718bb3e277f59500a3183f2306fe70890a30c3eeff26","urls":["bzz-raw://bde32ff627c137c1b52e6f45ff82df52eee9e6fe8fa668fc791132dba187f256","dweb:/ipfs/Qmcj4S8ysUA1Lv8xbA5i1dzn4wwKPQrCEjpUd1MW6rh21w"],"license":"MIT"},"src/codegen/world/IActionSystem.sol":{"keccak256":"0x70c9205cb55d501725621d75489338dcfedcf93379cff8c4035d29efc9059d4a","urls":["bzz-raw://8bc9da212ce3226d2a0f357d6f83ee3976659aa8008eef7c50a1cfe74a29dde2","dweb:/ipfs/QmaSJLZSfG9mqmZ5j5GGMxK7TV1FTLK3AjZXSnAFzaKRCF"],"license":"MIT"},"src/codegen/world/IAdminSystem.sol":{"keccak256":"0xc7af156c71acd0d6cdab577dd76c0a4a7c56115d7bd22069ad8ad183d1a230e6","urls":["bzz-raw://b167cfcac5a58cef4d3f018bbca81afcf7cc7a8d4f75537f4516f508a67f435b","dweb:/ipfs/QmQEcFt4N5qBRRaCYDzAx9UwDuqPycSXBqQLGyZdVHFNzQ"],"license":"MIT"},"src/codegen/world/ICharacterSystem.sol":{"keccak256":"0x49ef649aa37c2f64fa032400e803aa2d6b6d94d8de47f024cf63479c217a1373","urls":["bzz-raw://c84ead4b32146eb7088cb0f3fa45f31de057cb252693efd92982698dc87a4f78","dweb:/ipfs/QmVMhUEXVmVMZJVJLoP6vh9pB6RYq9YmrRC4jdJWujcqnd"],"license":"MIT"},"src/codegen/world/ICombatSystem.sol":{"keccak256":"0xe80830f6fc130be2ccbe4399ed89b903d73430670e90ed55d80d0418dfa35595","urls":["bzz-raw://343166211cddbbf57510588ada16e530dfad0fe1a4af36fd44cb33b485a1c40f","dweb:/ipfs/QmPnXgRL4T2kbTpsKqszeVRErdd19RiZV63o3G5Ja4kJUQ"],"license":"MIT"},"src/codegen/world/IEquipmentSystem.sol":{"keccak256":"0x22fd0489fa8b774694038a2af88ed573bad4a917dbf6bece44c428ebd5a0f1d3","urls":["bzz-raw://67cf7c8fefa5271e81b97a149422c8cf81aa391c55b8e47f919b8fe8d78720fa","dweb:/ipfs/QmdPPC8HTjB6zkdXs8siSTT4k6YFDvUxL8sDYyt9HGeStW"],"license":"MIT"},"src/codegen/world/IItemsSystem.sol":{"keccak256":"0xa53c467470bcd3a670b1d8f04a8e8b610bfe46634821110356b3ebd84810f76b","urls":["bzz-raw://6637222d8c7b4c16c6586b6ea4bf726b80e559be14d831863d574ececa149f1b","dweb:/ipfs/QmSG7tH5qZCuXVn44DxYjeHZUh3FM7JXqzmkoP5nMhDwQH"],"license":"MIT"},"src/codegen/world/ILootManagerSystem.sol":{"keccak256":"0x6a2c12f5b26af28a012c7f89b4add3f16cbe6a6a478be96e72f77ad7cbe3192f","urls":["bzz-raw://bfcb77010d8360f2a350067659d20471be49cf76242cadd7dded997089af467a","dweb:/ipfs/QmfD7HBgHz3mDEsGD9H1kYuYnnUdeY3CpDM8qpqVWVKnNe"],"license":"MIT"},"src/codegen/world/IMapSystem.sol":{"keccak256":"0x1e306d0814b36dc00a65b4d4f4dcb2812b254aadc7e79d5adfe6a8fe9c697c80","urls":["bzz-raw://018d71336b01c22f432ffcba50375fb124aa33bf7f0f96dc4b02eacd8064507e","dweb:/ipfs/QmYJubK3du3ZCG87uNsTQBVDj6A646BXqifnRSJTHB6v72"],"license":"MIT"},"src/codegen/world/IMobSystem.sol":{"keccak256":"0x7ffc480cffe4c490a65836578d8468ba420cec99f919b67ce0fec75cc1579391","urls":["bzz-raw://c0171e839a340c252b00a44e08349dc4982317f82cc393a391f4e32b1b811d9c","dweb:/ipfs/QmZTNzfeZEkT4PrrwvrPz3JFcpR2qBQ6YbXxUpmTEpyDgS"],"license":"MIT"},"src/codegen/world/IUltimateDominionConfigSystem.sol":{"keccak256":"0x7afcbb11522c4bb8fa8e86e1ca2f965eb5ba3cb7342a1229120210724ff3e828","urls":["bzz-raw://ae704bc31684551e05b29f55eddc7bd7fcd69e6bd4a54fa774d7d9a327a769b9","dweb:/ipfs/QmZvXXubvwTdDLifLoYhmQbr1M1GKzpputcMo38Au5uvJb"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0x8f0c0461ad016b4d4f502d10fe5fa2a650836a4a76c883b2e55e714158194859","urls":["bzz-raw://2254a9f2f35ede55ef418440874945422b5e5f526724deb0bd397cabdf512f6c","dweb:/ipfs/QmZrfF7SgNu2S9rgdNbKFpNsFZMJLTp9GyZpqwvVwQCNr9"],"license":"MIT"},"src/interfaces/Structs.sol":{"keccak256":"0xca8a2234420b7ba3a6353b6dc468713231b5d199c33aaec4d9f8953bcd1f5b47","urls":["bzz-raw://febe0f9511d79f681e1e84c9774cdd3d8b1554fdf53b03242fd12e97940bc0ef","dweb:/ipfs/QmWV262J6jNCJ7ZapLCoaj1Mz1vyHW99CD8RoK16cZz25G"],"license":"MIT"},"src/libraries/LibChunks.sol":{"keccak256":"0xb4314b9df31cb353ad6d4b434569294aa159fb23abea1260e638a6297781f767","urls":["bzz-raw://decf1fd82655251b50dd10f1da26f53647d4a2a454a36cd6a735d05de3f8e8f9","dweb:/ipfs/QmXZdcHrHY2tPfUVaxyoMqDxitkzH9o6UXYncihgJzqHwv"],"license":"MIT"},"src/systems/MapSystem.sol":{"keccak256":"0xec7a92f8b442213645f51565a13e940d9ed92b47cb0b2dcbd64e75848824d65d","urls":["bzz-raw://d3bad50e1e8be5276ea103900398f2c6460895eca6ed87f8a031059948d6d064","dweb:/ipfs/QmWBqLoZMkgq35rxWqRzeSWdFCm1kHJfhYnhnx12ZAzRxY"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file From 5f07438bc1632b8e31fad908a5a5557c36bf39d7 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 17:57:36 -0600 Subject: [PATCH 4/9] Store locally if equip info modal is seen --- .../client/src/components/LevelingPanel.tsx | 2 +- .../src/contexts/MapNavigationContext.tsx | 46 ++++++++++--------- packages/client/src/pages/GameBoard.tsx | 19 +++++++- 3 files changed, 42 insertions(+), 25 deletions(-) diff --git a/packages/client/src/components/LevelingPanel.tsx b/packages/client/src/components/LevelingPanel.tsx index 454337d44..1d8392455 100644 --- a/packages/client/src/components/LevelingPanel.tsx +++ b/packages/client/src/components/LevelingPanel.tsx @@ -221,7 +221,7 @@ export const LevelingPanel = ({ - HP - Hit + HP - Hit Points {character.currentHp}/{character.baseHp} diff --git a/packages/client/src/contexts/MapNavigationContext.tsx b/packages/client/src/contexts/MapNavigationContext.tsx index 1f26aa0e5..45aa2e099 100644 --- a/packages/client/src/contexts/MapNavigationContext.tsx +++ b/packages/client/src/contexts/MapNavigationContext.tsx @@ -105,6 +105,7 @@ export const MapNavigationProvider = ({ Stats, }, delegatorAddress, + isSynced, network: { publicClient, worldContract }, systemCalls: { endTurn, move, spawn }, } = useMUD(); @@ -308,44 +309,45 @@ export const MapNavigationProvider = ({ useEffect(() => { (async (): Promise => { - if ( - !( - allCharacterEntities && - allMonsterEntities && - delegatorAddress && - position - ) - ) - return; - + if (!(allCharacterEntities && allMonsterEntities && isSynced)) return; setIsFetchingEntities(true); + const _allCharacters = await getAllSpawnedCharacters(allCharacterEntities); setAllSpawnedCharacters(_allCharacters as Character[]); - const _otherPlayersOnTile = _allCharacters.filter( - c => - c.position.x === position.x && - c.position.y === position.y && - c.owner !== delegatorAddress, - ); - setOtherCharactersOnTile(_otherPlayersOnTile as Character[]); - const _monsters = await getMonsters(allMonsterEntities); setMonsters(_monsters); - - setIsFetchingEntities(false); })(); }, [ allCharacterEntities, allMonsterEntities, Characters, - delegatorAddress, getAllSpawnedCharacters, getMonsters, - position, + isSynced, ]); + useEffect(() => { + (async (): Promise => { + if (allSpawnedCharacters.length > 0 && position) { + const _otherPlayersOnTile = ( + allSpawnedCharacters as (Character & { + position: { x: number; y: number }; + })[] + ).filter( + (c: Character & { position: { x: number; y: number } }) => + c.position.x === position.x && + c.position.y === position.y && + c.owner !== delegatorAddress, + ); + setOtherCharactersOnTile(_otherPlayersOnTile as Character[]); + } + + setIsFetchingEntities(false); + })(); + }, [allSpawnedCharacters, delegatorAddress, position]); + const onSpawn = useCallback(async () => { try { setIsSpawning(true); diff --git a/packages/client/src/pages/GameBoard.tsx b/packages/client/src/pages/GameBoard.tsx index f881b34a7..1caeddef3 100644 --- a/packages/client/src/pages/GameBoard.tsx +++ b/packages/client/src/pages/GameBoard.tsx @@ -69,11 +69,26 @@ export const GameBoard = (): JSX.Element => { // Open equip info modal if character has no experience and no equipped items useEffect(() => { - if (character?.experience === '0' && equippedItems?.length === 0) { + if (!(character && equippedItems)) return; + + const equipInfoSeenKey = `equip-info-seen-${character.characterId}`; + + const hasSeenEquipInfo = localStorage.getItem(equipInfoSeenKey); + if (hasSeenEquipInfo) return; + + if (character.experience === '0' && equippedItems.length === 0) { onOpenEquipInfoModal(); } }, [character, equippedItems, onOpenEquipInfoModal]); + const onAcknowledgeEquipInfo = useCallback(() => { + if (!character) return; + + const equipInfoSeenKey = `equip-info-seen-${character.characterId}`; + localStorage.setItem(equipInfoSeenKey, 'true'); + onCloseEquipInfoModal(); + }, [character, onCloseEquipInfoModal]); + // Open Outer Realms warning modal if character is level 1 and entered Outer Realms useEffect(() => { if (!(character && position)) return; @@ -184,7 +199,7 @@ export const GameBoard = (): JSX.Element => { In order to start battling, you must have at least 1 weapon equipped. From fba9a9e2121bd111bf35e03a8e378322a534674d Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 18:09:14 -0600 Subject: [PATCH 5/9] Fix XP display issues --- packages/client/src/components/ActionsPanel.tsx | 4 ++-- packages/client/src/components/MapPanel.tsx | 2 +- packages/client/src/components/StatsPanel.tsx | 10 +++++----- packages/client/src/pages/Character.tsx | 11 ++++++----- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/client/src/components/ActionsPanel.tsx b/packages/client/src/components/ActionsPanel.tsx index 535f41ab2..044cbf797 100644 --- a/packages/client/src/components/ActionsPanel.tsx +++ b/packages/client/src/components/ActionsPanel.tsx @@ -159,12 +159,12 @@ export const ActionsPanel = (): JSX.Element => { Choose your move: {equippedItems.length === 0 && ( - + You have no equipped items. In order to attack, you must go to your{' '} diff --git a/packages/client/src/components/MapPanel.tsx b/packages/client/src/components/MapPanel.tsx index 961b2c149..91e432942 100644 --- a/packages/client/src/components/MapPanel.tsx +++ b/packages/client/src/components/MapPanel.tsx @@ -87,7 +87,7 @@ export const MapPanel = (): JSX.Element => { )} Dark Cave - {allSpawnedCharacters.length} Player - {allSpawnedCharacters.length > 1 ? 's' : ''} + {allSpawnedCharacters.length === 1 ? '' : 's'} diff --git a/packages/client/src/components/StatsPanel.tsx b/packages/client/src/components/StatsPanel.tsx index 0f572d5b8..39df9cb8e 100644 --- a/packages/client/src/components/StatsPanel.tsx +++ b/packages/client/src/components/StatsPanel.tsx @@ -54,11 +54,13 @@ export const StatsPanel = (): JSX.Element => { const levelPercent = useMemo(() => { if (!character) return 0; - const xpSinceLastLevel = + const xpEarnedSinceLastLevel = BigInt(character.experience) - currentLevelXpRequirement; + const xpNeededSinceLastLevel = + nextLevelXpRequirement - currentLevelXpRequirement; const percent = - (100 * Number(xpSinceLastLevel)) / Number(nextLevelXpRequirement); + (100 * Number(xpEarnedSinceLastLevel)) / Number(xpNeededSinceLastLevel); return percent > 100 ? 100 : percent; }, [character, currentLevelXpRequirement, nextLevelXpRequirement]); @@ -154,9 +156,7 @@ export const StatsPanel = (): JSX.Element => { BigInt(experience) >= nextLevelXpRequirement ? 'bold' : 'normal' } > - {BigInt(experience) >= nextLevelXpRequirement - ? nextLevelXpRequirement.toString() - : experience} + {experience} /{nextLevelXpRequirement.toString()} diff --git a/packages/client/src/pages/Character.tsx b/packages/client/src/pages/Character.tsx index 430723d4c..2c5844e61 100644 --- a/packages/client/src/pages/Character.tsx +++ b/packages/client/src/pages/Character.tsx @@ -331,10 +331,13 @@ export const CharacterPage = (): JSX.Element => { const levelPercent = useMemo(() => { if (!character) return 0; - const xpSinceLastLevel = + const xpEarnedSinceLastLevel = BigInt(character.experience) - currentLevelXpRequirement; + const xpNeededSinceLastLevel = + nextLevelXpRequirement - currentLevelXpRequirement; + const percent = - (100 * Number(xpSinceLastLevel)) / Number(nextLevelXpRequirement); + (100 * Number(xpEarnedSinceLastLevel)) / Number(xpNeededSinceLastLevel); return percent > 100 ? 100 : percent; }, [character, currentLevelXpRequirement, nextLevelXpRequirement]); @@ -471,9 +474,7 @@ export const CharacterPage = (): JSX.Element => { : 'normal' } > - {BigInt(character.experience) >= nextLevelXpRequirement - ? nextLevelXpRequirement.toString() - : character.experience} + {character.experience} /{nextLevelXpRequirement.toString()} From b4636bf8ec1f3bc9e6f7c54f908871fe7d64b8f4 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 18:25:37 -0600 Subject: [PATCH 6/9] Fix connection and state related issues --- .../src/components/ConnectWalletModal.tsx | 10 ++++++++-- packages/client/src/pages/Character.tsx | 11 ++++++++++- .../client/src/pages/CharacterCreation.tsx | 19 ++++++++++++------- packages/client/src/pages/GameBoard.tsx | 16 ++++++++++------ 4 files changed, 40 insertions(+), 16 deletions(-) diff --git a/packages/client/src/components/ConnectWalletModal.tsx b/packages/client/src/components/ConnectWalletModal.tsx index 6e921039d..7c218d345 100644 --- a/packages/client/src/components/ConnectWalletModal.tsx +++ b/packages/client/src/components/ConnectWalletModal.tsx @@ -8,7 +8,7 @@ import { Text, VStack, } from '@chakra-ui/react'; -import { useMemo } from 'react'; +import { useEffect, useMemo } from 'react'; import { useAccount, useWalletClient } from 'wagmi'; import { useMUD } from '../contexts/MUDContext'; @@ -26,7 +26,13 @@ export const ConnectWalletModal = ({ }): JSX.Element => { const { data: externalWalletClient } = useWalletClient(); const { isConnected, address } = useAccount(); - const { burnerAddress } = useMUD(); + const { burnerAddress, delegatorAddress } = useMUD(); + + useEffect(() => { + if (delegatorAddress && isConnected) { + onClose(); + } + }, [delegatorAddress, isConnected, onClose]); const bodyContent = useMemo(() => { if (address && externalWalletClient && isConnected) { diff --git a/packages/client/src/pages/Character.tsx b/packages/client/src/pages/Character.tsx index 2c5844e61..e5189d015 100644 --- a/packages/client/src/pages/Character.tsx +++ b/packages/client/src/pages/Character.tsx @@ -33,6 +33,7 @@ import { FaHatWizard } from 'react-icons/fa'; import { GiAxeSword, GiRogue } from 'react-icons/gi'; import { useNavigate, useParams } from 'react-router-dom'; import { formatEther, hexToString, zeroHash } from 'viem'; +import { useAccount } from 'wagmi'; import { EditCharacterModal } from '../components/EditCharacterModal'; import { ItemCard } from '../components/ItemCard'; @@ -42,7 +43,7 @@ import { LevelingPanel } from '../components/LevelingPanel'; import { useCharacter } from '../contexts/CharacterContext'; import { useMUD } from '../contexts/MUDContext'; import { useToast } from '../hooks/useToast'; -import { LEADERBOARD_PATH } from '../Routes'; +import { HOME_PATH, LEADERBOARD_PATH } from '../Routes'; import { MAX_EQUIPPED_WEAPONS } from '../utils/constants'; import { decodeCharacterId, @@ -60,6 +61,7 @@ export const CharacterPage = (): JSX.Element => { const { characterId } = useParams(); const { renderError } = useToast(); const navigate = useNavigate(); + const { isConnected } = useAccount(); const { components: { @@ -97,6 +99,13 @@ export const CharacterPage = (): JSX.Element => { const [isLoadingItems, setIsLoadingItems] = useState(true); const [selectedItem, setSelectedItem] = useState(null); + useEffect(() => { + if (!isConnected) { + navigate(HOME_PATH); + window.location.reload(); + } + }, [isConnected, navigate]); + const equippedWeapons = useComponentValue(CharacterEquipment, characterId as Entity | undefined) ?.equippedWeapons ?? []; diff --git a/packages/client/src/pages/CharacterCreation.tsx b/packages/client/src/pages/CharacterCreation.tsx index 49a36895b..ec2c05c17 100644 --- a/packages/client/src/pages/CharacterCreation.tsx +++ b/packages/client/src/pages/CharacterCreation.tsx @@ -22,7 +22,7 @@ import { encodeEntity, singletonEntity } from '@latticexyz/store-sync/recs'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { FaLock } from 'react-icons/fa'; import { useNavigate } from 'react-router-dom'; -import { useWalletClient } from 'wagmi'; +import { useAccount } from 'wagmi'; import { useCharacter } from '../contexts/CharacterContext'; import { useMUD } from '../contexts/MUDContext'; @@ -43,7 +43,7 @@ export const CharacterCreation = (): JSX.Element => { const navigate = useNavigate(); const { renderSuccess, renderError } = useToast(); const isSmallScreen = useBreakpointValue({ base: true, lg: false }); - const { data: externalWalletClient } = useWalletClient(); + const { isConnected } = useAccount(); const { components: { ItemsBaseURI, ItemsTokenURI, UltimateDominionConfig }, delegatorAddress, @@ -309,25 +309,30 @@ export const CharacterCreation = (): JSX.Element => { }, [character, isCreating, isEnteringGame, isRollingStats]); useEffect(() => { + if (!isConnected) { + navigate(HOME_PATH); + window.location.reload(); + return; + } + if (character && rolledOnce) { setCharacterClass(character.entityClass); + return; } if (character?.locked) { navigate(GAME_BOARD_PATH); - } - - if (!externalWalletClient) { - navigate(HOME_PATH); + return; } if (!delegatorAddress && isSynced) { navigate(HOME_PATH); + return; } }, [ character, delegatorAddress, - externalWalletClient, + isConnected, isSynced, navigate, rolledOnce, diff --git a/packages/client/src/pages/GameBoard.tsx b/packages/client/src/pages/GameBoard.tsx index 1caeddef3..81b27e02a 100644 --- a/packages/client/src/pages/GameBoard.tsx +++ b/packages/client/src/pages/GameBoard.tsx @@ -13,7 +13,7 @@ import { import { useCallback, useEffect } from 'react'; import { IoIosWarning } from 'react-icons/io'; import { Link, useNavigate } from 'react-router-dom'; -import { useWalletClient } from 'wagmi'; +import { useAccount } from 'wagmi'; import { ActionsPanel } from '../components/ActionsPanel'; import { BattleOutcomeModal } from '../components/BattleOutcomeModal'; @@ -44,7 +44,7 @@ export const GameBoard = (): JSX.Element => { onClose: onCloseBattleOutcomeModal, } = useDisclosure(); - const { data: externalWalletClient } = useWalletClient(); + const { isConnected } = useAccount(); const navigate = useNavigate(); const { delegatorAddress, isSynced } = useMUD(); const { character, equippedItems } = useCharacter(); @@ -52,20 +52,24 @@ export const GameBoard = (): JSX.Element => { // Redirect to home if synced, but missing other requirements useEffect(() => { - if (!isSynced) return; - - if (!externalWalletClient) { + if (!isConnected) { navigate(HOME_PATH); + window.location.reload(); + return; } + if (!isSynced) return; + if (!delegatorAddress) { navigate(HOME_PATH); + return; } if (character?.locked) { navigate(GAME_BOARD_PATH); + return; } - }, [character, delegatorAddress, externalWalletClient, isSynced, navigate]); + }, [character, delegatorAddress, isConnected, isSynced, navigate]); // Open equip info modal if character has no experience and no equipped items useEffect(() => { From 194bc10fa2ef13f1502c5951172f89a4b8b94702 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 18:31:00 -0600 Subject: [PATCH 7/9] Change missing fields error to warning --- packages/client/src/components/EditCharacterModal.tsx | 6 ++++-- packages/client/src/pages/CharacterCreation.tsx | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/client/src/components/EditCharacterModal.tsx b/packages/client/src/components/EditCharacterModal.tsx index 73d54ccd1..7bb93b615 100644 --- a/packages/client/src/components/EditCharacterModal.tsx +++ b/packages/client/src/components/EditCharacterModal.tsx @@ -41,7 +41,7 @@ export const EditCharacterModal: React.FC = ({ onClose, tokenId, }): JSX.Element => { - const { renderSuccess, renderError } = useToast(); + const { renderError, renderSuccess, renderWarning } = useToast(); const { delegatorAddress, @@ -106,7 +106,8 @@ export const EditCharacterModal: React.FC = ({ if (!((avatar || image) && newDescription && newName)) { setShowError(true); - throw new Error('Missing required fields.'); + renderWarning('Missing required fields.'); + return; } const avatarCid = await onUpload(); @@ -180,6 +181,7 @@ export const EditCharacterModal: React.FC = ({ refreshCharacter, renderError, renderSuccess, + renderWarning, tokenId, updateTokenUri, ], diff --git a/packages/client/src/pages/CharacterCreation.tsx b/packages/client/src/pages/CharacterCreation.tsx index ec2c05c17..b695885f1 100644 --- a/packages/client/src/pages/CharacterCreation.tsx +++ b/packages/client/src/pages/CharacterCreation.tsx @@ -41,7 +41,7 @@ const STARTER_WEAPON_TOKEN_IDS = [BigInt(1), BigInt(2), BigInt(3)]; export const CharacterCreation = (): JSX.Element => { const navigate = useNavigate(); - const { renderSuccess, renderError } = useToast(); + const { renderError, renderSuccess, renderWarning } = useToast(); const isSmallScreen = useBreakpointValue({ base: true, lg: false }); const { isConnected } = useAccount(); const { @@ -154,7 +154,8 @@ export const CharacterCreation = (): JSX.Element => { if (!(avatar && description && name)) { setShowError(true); - throw new Error('Missing required fields.'); + renderWarning('Missing required fields.'); + return; } const avatarCid = await onUpload(); @@ -220,6 +221,7 @@ export const CharacterCreation = (): JSX.Element => { refreshCharacter, renderError, renderSuccess, + renderWarning, ], ); @@ -620,7 +622,7 @@ export const CharacterCreation = (): JSX.Element => { {!isSmallScreen && ( - {showError && !rolledOnce && ( + {character && !rolledOnce && showError && ( You must roll stats at least once before entering the game. From 65b2bbf612209310ae155155596d021bd58a952b Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 18:58:56 -0600 Subject: [PATCH 8/9] Remove DevTools in production --- packages/client/src/index.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/client/src/index.tsx b/packages/client/src/index.tsx index 6be302c5b..e4ea6f209 100644 --- a/packages/client/src/index.tsx +++ b/packages/client/src/index.tsx @@ -33,9 +33,7 @@ setup().then(async result => { - {/* TODO: Bring back dev check before release */} - {/* {import.meta.env.DEV && } */} - + {import.meta.env.DEV && } , From 770111b8ca4e9065ad1c0caa44f5adb2f26a80f9 Mon Sep 17 00:00:00 2001 From: ECWireless Date: Thu, 1 Aug 2024 19:29:45 -0600 Subject: [PATCH 9/9] Scroll to bottom of ActionsPanel with new actions --- .../client/src/components/ActionsPanel.tsx | 96 +++---------------- packages/client/src/pages/GameBoard.tsx | 23 +++-- 2 files changed, 28 insertions(+), 91 deletions(-) diff --git a/packages/client/src/components/ActionsPanel.tsx b/packages/client/src/components/ActionsPanel.tsx index 044cbf797..489437f47 100644 --- a/packages/client/src/components/ActionsPanel.tsx +++ b/packages/client/src/components/ActionsPanel.tsx @@ -1,5 +1,5 @@ -import { Button, HStack, Stack, Text, VStack } from '@chakra-ui/react'; -import { useMemo } from 'react'; +import { Box, Button, HStack, Stack, Text, VStack } from '@chakra-ui/react'; +import { useEffect, useMemo, useRef } from 'react'; import { Link } from 'react-router-dom'; // eslint-disable-next-line import/no-named-as-default import Typist from 'react-typist'; @@ -7,48 +7,6 @@ import Typist from 'react-typist'; import { useCharacter } from '../contexts/CharacterContext'; import { useMapNavigation } from '../contexts/MapNavigationContext'; -// enum ActionEvents { -// Attack = 'attack', -// Defend = 'defend against', -// GainGold = 'gold', -// GainExperience = 'experience', -// } - -// type BattleEvent = { -// type: ActionEvents; -// monster: string; -// amount: number; -// }; - -// type ResolutionEvent = { -// type: ActionEvents; -// amount: number; -// }; - -// const BATTLE_EVENTS: BattleEvent[] = [ -// { -// type: ActionEvents.Defend, -// amount: 1, -// monster: 'Green Slime', -// }, -// { -// type: ActionEvents.Attack, -// amount: 2, -// monster: 'Green Slime', -// }, -// ]; - -// const RESOLUTION_EVENTS: ResolutionEvent[] = [ -// { -// type: ActionEvents.GainGold, -// amount: 2, -// }, -// { -// type: ActionEvents.GainExperience, -// amount: 3, -// }, -// ]; - export const ActionsPanel = (): JSX.Element => { const { isRefreshing: isRefreshingCharacter, @@ -67,6 +25,17 @@ export const ActionsPanel = (): JSX.Element => { position, } = useMapNavigation(); + const parentDivRef = useRef(null); + + useEffect(() => { + if (parentDivRef.current) { + parentDivRef.current.scrollTo({ + behavior: 'smooth', + top: parentDivRef.current.scrollHeight, + }); + } + }, [actionOutcomes]); + const actionText = useMemo(() => { if (isRefreshingCharacter || isRefreshingMap) return ''; @@ -152,7 +121,7 @@ export const ActionsPanel = (): JSX.Element => { ]); return ( - <> + {currentBattle && equippedItems && monsterOponent && ( @@ -244,41 +213,6 @@ export const ActionsPanel = (): JSX.Element => { ); })} - {/* - {BATTLE_EVENTS.map((event, i) => ( - - You {event.type}{' '} - - {event.monster} - {' '} - {event.type === ActionEvents.Attack ? 'for' : 'taking'}{' '} - - {event.amount} damage - - . - - ))} - - - {RESOLUTION_EVENTS.map((event, i) => ( - - You gain {event.amount}{' '} - - {event.type === ActionEvents.GainGold ? '$GOLD' : 'experience'} - - ! - - ))} - */} - + ); }; diff --git a/packages/client/src/pages/GameBoard.tsx b/packages/client/src/pages/GameBoard.tsx index 81b27e02a..78b0addaa 100644 --- a/packages/client/src/pages/GameBoard.tsx +++ b/packages/client/src/pages/GameBoard.tsx @@ -46,7 +46,11 @@ export const GameBoard = (): JSX.Element => { const { isConnected } = useAccount(); const navigate = useNavigate(); - const { delegatorAddress, isSynced } = useMUD(); + const { + delegatorAddress, + isSynced, + network: { worldContract }, + } = useMUD(); const { character, equippedItems } = useCharacter(); const { lastestBattleOutcome, position } = useMapNavigation(); @@ -75,7 +79,7 @@ export const GameBoard = (): JSX.Element => { useEffect(() => { if (!(character && equippedItems)) return; - const equipInfoSeenKey = `equip-info-seen-${character.characterId}`; + const equipInfoSeenKey = `equip-info-seen-${worldContract}-${character.characterId}`; const hasSeenEquipInfo = localStorage.getItem(equipInfoSeenKey); if (hasSeenEquipInfo) return; @@ -83,22 +87,22 @@ export const GameBoard = (): JSX.Element => { if (character.experience === '0' && equippedItems.length === 0) { onOpenEquipInfoModal(); } - }, [character, equippedItems, onOpenEquipInfoModal]); + }, [character, equippedItems, onOpenEquipInfoModal, worldContract]); const onAcknowledgeEquipInfo = useCallback(() => { if (!character) return; - const equipInfoSeenKey = `equip-info-seen-${character.characterId}`; + const equipInfoSeenKey = `equip-info-seen-${worldContract}-${character.characterId}`; localStorage.setItem(equipInfoSeenKey, 'true'); onCloseEquipInfoModal(); - }, [character, onCloseEquipInfoModal]); + }, [character, onCloseEquipInfoModal, worldContract]); // Open Outer Realms warning modal if character is level 1 and entered Outer Realms useEffect(() => { if (!(character && position)) return; const outerRealms = position.x === 5 || position.y === 5; - const outerRealmsSeenKey = `outer-realms-warning-seen-${character.characterId}`; + const outerRealmsSeenKey = `outer-realms-warning-seen-${worldContract}-${character.characterId}`; const hasSeenWarning = localStorage.getItem(outerRealmsSeenKey); if (hasSeenWarning) return; @@ -106,15 +110,15 @@ export const GameBoard = (): JSX.Element => { if (character.level === '1' && outerRealms) { onOpenOuterRealmsInfoModal(); } - }, [character, onOpenOuterRealmsInfoModal, position]); + }, [character, onOpenOuterRealmsInfoModal, position, worldContract]); const onAcknowledgeOuterRealmsWarning = useCallback(() => { if (!character) return; - const outerRealmsSeenKey = `outer-realms-warning-seen-${character.characterId}`; + const outerRealmsSeenKey = `outer-realms-warning-seen-${worldContract}-${character.characterId}`; localStorage.setItem(outerRealmsSeenKey, 'true'); onCloseOuterRealmsInfoModal(); - }, [character, onCloseOuterRealmsInfoModal]); + }, [character, onCloseOuterRealmsInfoModal, worldContract]); // Open battle outcome modal if there is a new battle outcome useEffect(() => { @@ -163,7 +167,6 @@ export const GameBoard = (): JSX.Element => { border="2px solid" colSpan={{ base: 1, lg: 8 }} colStart={{ base: 0, lg: 5 }} - overflowY="auto" position="relative" rowSpan={{ base: 4, lg: 6 }} rowStart={{ base: 4, lg: 7 }}