@latticexyz/world-modules 2.0.0-main-2699630c → 2.0.0-main-747d8d1b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mud.config.js +1 -1
- package/dist/mud.config.js.map +1 -1
- package/out/ERC20.t.sol/ERC20Test.json +1 -1
- package/out/ERC20Module.sol/ERC20Module.json +1 -1
- package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
- package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
- package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/ERC721Test.json +1 -1
- package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
- package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
- package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
- package/out/ERC721Module.sol/ERC721Module.json +1 -1
- package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
- package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
- package/package.json +8 -8
- package/src/modules/erc20-puppet/tables/ERC20Registry.sol +25 -25
- package/src/modules/erc721-puppet/tables/ERC721Registry.sol +25 -25
@@ -1 +1 @@
|
|
1
|
-
{"abi":[{"type":"function","name":"register","inputs":[{"name":"world","type":"address","internalType":"contract IBaseWorld"},{"name":"namespace","type":"bytes14","internalType":"bytes14"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"PackedCounter"},{"name":"dynamicData","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":"FieldLayoutLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[]},{"type":"error","name":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType","inputs":[]},{"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_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","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_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50615675806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612512565b610045565b005b61005661005182610188565b6101c0565b6100676100628261020c565b61023e565b61007861007382610282565b6102b4565b610089610084826102f8565b61032a565b61009a6100958261036c565b61039e565b6100ab6100a6826103e2565b610414565b8173ffffffffffffffffffffffffffffffffffffffff16633350b6a96100d083610456565b6040516100dc90612505565b604051809103906000f0801580156100f8573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561016c57600080fd5b505af1158015610180573d6000803e3d6000fd5b505050505050565b60006101ba613a3160f11b837f4f70657261746f72417070726f76616c0000000000000000000000000000000061049f565b92915050565b610209817e010100010000000000000000000000000000000000000000000000000000006101ec610526565b6101f46105e3565b6101fc61061d565b6102046106f5565b61076c565b50565b60006101ba613a3160f11b837f4f776e657273000000000000000000000000000000000000000000000000000061049f565b610209817e1401001400000000000000000000000000000000000000000000000000000061026a610840565b61027261087a565b61027a6108b4565b61020461092b565b60006101ba613a3160f11b837f546f6b656e417070726f76616c0000000000000000000000000000000000000061049f565b610209817e140100140000000000000000000000000000000000000000000000000000006102e0610840565b6102e861087a565b6102f06108b4565b6102046109a2565b60006101ba613a3160f11b837f546f6b656e55524900000000000000000000000000000000000000000000000061049f565b610209817c0100000000000000000000000000000000000000000000000000000000610354610840565b61035c610a19565b6103646108b4565b610204610a53565b60006101ba613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061049f565b610209817e200100200000000000000000000000000000000000000000000000000000006103ca61087a565b6103d2610840565b6103da6109a2565b610204610aca565b60006101ba613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061049f565b610209817c030000000000000000000000000000000000000000000000000000000061043e610b41565b610446610b5a565b61044e610c1f565b610204610c52565b60006101ba7f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000005b60006104ad6070601061259f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110610560576105606125b2565b602002602001019060c5811115610579576105796125c8565b908160c581111561058c5761058c6125c8565b815250506061816001815181106105a5576105a56125b2565b602002602001019060c58111156105be576105be6125c8565b908160c58111156105d1576105d16125c8565b9052506105dd81610d72565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106105a5576105a56125b2565b6040805160028082526060828101909352816020015b60608152602001906001900390816106335790505090506040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525081600081518110610693576106936125b2565b60200260200101819052506040518060400160405280600881526020017f6f70657261746f72000000000000000000000000000000000000000000000000815250816001815181106106e7576106e76125b2565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161070c5790505090506040518060400160405280600881526020017f617070726f766564000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6000610776610f36565b90503073ffffffffffffffffffffffffffffffffffffffff8216036107a8576107a3878787878787610f82565b610837565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f4990610804908a908a908a908a908a908a90600401612686565b600060405180830381600087803b15801561081e57600080fd5b505af1158015610832573d6000803e3d6000fd5b505050505b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106105a5576105a56125b2565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816108cb5790505090506040518060400160405280600781526020017f746f6b656e496400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109425790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109b95790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610a6a5790505090506040518060400160405280600881526020017f746f6b656e555249000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610ae15790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516000808252602082019092526105dd81610d72565b604080516003808252608082019092526000918291906020820160608036833701905050905060c581600081518110610b9557610b956125b2565b602002602001019060c5811115610bae57610bae6125c8565b908160c5811115610bc157610bc16125c8565b8152505060c581600181518110610bda57610bda6125b2565b602002602001019060c5811115610bf357610bf36125c8565b908160c5811115610c0657610c066125c8565b8152505060c5816002815181106105a5576105a56125b2565b60408051600080825260208201909252606091610c4c565b6060815260200190600190039081610c375790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610c6a5790505090506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600081518110610cca57610cca6125b2565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081600181518110610d1e57610d1e6125b2565b60200260200101819052506040518060400160405280600781526020017f6261736555524900000000000000000000000000000000000000000000000000815250816002815181106106e7576106e76125b2565b6000601c82511115610da5578151604051635318beb960e01b8152600401610d9c91815260200190565b60405180910390fd5b60008080805b8551811015610e80576000610de9878381518110610dcb57610dcb6125b2565b602002602001015160c5811115610de457610de46125c8565b61126f565b905080600003610dfe57600190920191610e36565b8215610e36576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610e5757610e576125b2565b602002602001015160c5811115610e7057610e706125c8565b901b949094179350600101610dab565b506005811115610ea657604051635318beb960e01b815260048101829052602401610d9c565b84518190036008610eb9600260206126d0565b610ec391906126e3565b83901b939093179260086001610edb600260206126d0565b610ee591906126d0565b610eef91906126e3565b81901b93909317926008600180610f08600260206126d0565b610f1291906126d0565b610f1c91906126d0565b610f2691906126e3565b9190911b92909217949350505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610f7d573391505090565b919050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610ffb57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561105c57613a3160f11b868760405160200161101a91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610d9c9392916004016126fa565b6110678560006112cf565b611072846001611451565b61107d836000611451565b60e084901c60e885901c0160ff168251146110dd5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1681511461113d5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146111b55760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b6111be866115f8565b156112185785866040516020016111d791815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610d9c929160040161273b565b61126486868686866040516020016112309190612754565b604051602081830303815290604052866040516020016112509190612754565b6040516020818303038152906040526116dc565b6101808660016117fc565b6000808260c5811115611284576112846125c8565b60ff169050606181101561129e57601f1660010192915050565b60618360c58111156112b2576112b26125c8565b036112c05750601492915050565b50600092915050565b50919050565b801580156112db575081155b15611315576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260006004820152602401610d9c565b6000611320836118f3565b90506005811115611360576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b600061136b84611930565b90506000611379838361259f565b9050601c8111156113b9576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b60005b828110156101805760ff601b82900360080287901c16600081900361140d576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811115611448576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016113bc565b8015801561145d575081155b1561147e57604051635318beb960e01b815260006004820152602401610d9c565b6000611489836118f3565b905060058111156114b057604051635318beb960e01b815260048101829052602401610d9c565b60006114bb84611930565b905060006114c9838361259f565b9050601c8111156114f057604051635318beb960e01b815260048101829052602401610d9c565b60008060005b838110156115b157600061151e61150d8a84611942565b60c5811115610de457610de46125c8565b11156115685784811061155d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909201916115a9565b848110156115a2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b6001016114f6565b508382146115d557604051635318beb960e01b815260048101839052602401610d9c565b84811461083757604051635318beb960e01b815260048101829052602401610d9c565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611631576116316125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526000906116c8906116a090612767565b8360007e0101000100000000000000000000000000000000000000000000000000000061196a565b90506116d48160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061171384846119a0565b9050600061172185856119bd565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061175b5761175b6125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c65730000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526117f0906117c790612767565b828686867e600302202020000000000000000000000000000000000000000000000000006119e9565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611832576118326125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526118ee9061189e90612767565b826000856040516020016118b991151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611cd8565b505050565b60006008600180611906600260206126d0565b61191091906126d0565b61191a91906126d0565b61192491906126e3565b8260ff911c1692915050565b600060086001611910600260206126d0565b6000601b8290036008028360ff911c1660c5811115611963576119636125c8565b9392505050565b60006119976119798686611cf4565b60ff858116601b0360080285901c166119928587611d4a565b611d8d565b95945050505050565b8151815160009181810160389190911b1760609190911b17611963565b606082826040516020016119d292919061278b565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611a1f94939291906127f5565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610180576000611a6087611dde565b905060005b8151811015611b43576000828281518110611a8257611a826125b2565b60200260200101519050611aae6001826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611b30576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611afd908c908c908c908c908c908c9060040161283f565b600060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b505050505b5080611b3b81612898565b915050611a65565b506000611b508888611cf4565b90506000602087019050611b68826000838a51611ec4565b6000611b73856118f3565b1115611bf7576000611b858a8a611f82565b878155905060208601915060008060005b611b9f886118f3565b8160ff161015611bf257611bb48d8d83611fd8565b9250611bcf8a8260ff166028026038011c64ffffffffff1690565b9150611bde8360008785611ec4565b611be8828661259f565b9450600101611b96565b505050505b60005b83518110156117f0576000848281518110611c1757611c176125b2565b60200260200101519050611c436002826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611cc5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611c92908e908e908e908e908e908e9060040161283f565b600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b505050505b5080611cd081612898565b915050611bfa565b611ced8585611ce78487611d4a565b85612058565b5050505050565b60008282604051602001611d099291906128b2565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611d8557611d7160ff601b83900360080287901c168361259f565b915080611d7d81612898565b915050611d4f565b509392505050565b600060208210611db357602082048401935060208281611daf57611daf6128ed565b0691505b508254600882021b602082900380841115611d85576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e1857611e186125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611e8f90611e8790612767565b8360006122b1565b90506116d4611ea182600084516122eb565b61237b565b60008160ff1682611eb78560581c90565b1660ff1614905092915050565b8215611f3e5760208310611eee57602083048401935060208381611eea57611eea6128ed565b0692505b8215611f3e5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611f2f575050611f7c565b50600194909401939182019190035b5b60208110611f605781518455600190930192602090910190601f1901611f3f565b8015611f7c5783548251600019600884021c9182169119161784555b50505050565b60008282604051602001611f979291906128b2565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fed9291906128b2565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006120648585611cf4565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161209a93929190612903565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120d65750611f7c565b60006120e186611dde565b905060005b81518110156121c0576000828281518110612103576121036125b2565b6020026020010151905061212f6004826affffffffffffffffffffff1916611ea690919063ffffffff16565b156121ad576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061217a908b908b908b908b90600401612940565b600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b505050505b50806121b881612898565b9150506120e6565b506121d4828565ffffffffffff168561238c565b60005b81518110156108375760008282815181106121f4576121f46125b2565b602002602001015190506122206008826affffffffffffffffffffff1916611ea690919063ffffffff16565b1561229e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061226b908b908b908b908b90600401612940565b600060405180830381600087803b15801561228557600080fd5b505af1158015612299573d6000803e3d6000fd5b505050505b50806122a981612898565b9150506121d7565b60606116d46122c1858585611fd8565b6122e4846122cf888861239c565b9060ff166028026038011c64ffffffffff1690565b60006123af565b60008183111580156122fe575083518211155b61233a578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610d9c93929190612979565b60208401612348848261259f565b9050600061235685856126d0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061196383601560006123d2565b6118ee8383602084018451611ec4565b60006119636123ab8484611f82565b5490565b60405160208101601f19603f8584010116604052838252611d858585858461244d565b606060006123e08560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612406576124066128ed565b04905060405193506020840160208202810160405281855260005b82811015612441578451871c825293870193602090910190600101612421565b50505050509392505050565b81156124bf576020821061247757602082048401935060208281612473576124736128ed565b0691505b81156124bf5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116124b0575050611f7c565b50600194909401939283900392015b5b602083106124e15783548152600190930192601f19909201916020016124c0565b8215611f7c576000600019600885021c198251865482169119161782525050505050565b612cca8061299f83390190565b6000806040838503121561252557600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461254957600080fd5b915060208301357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461257e57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ba576101ba612589565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b838110156125f95781810151838201526020016125e1565b50506000910152565b6000815180845261261a8160208601602086016125de565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561267957601f19868403018952612667838351612602565b9884019892509083019060010161264b565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006126b160c083018561262e565b82810360a08401526126c3818561262e565b9998505050505050505050565b818103818111156101ba576101ba612589565b80820281158282048414176101ba576101ba612589565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006119976060830184612602565b8281526040602082015260006116d46040830184612602565b602081526000611963602083018461262e565b805160208083015191908110156112c95760001960209190910360031b1b16919050565b6000835161279d8184602088016125de565b8351908301906127b18183602088016125de565b01949350505050565b600081518084526020808501945080840160005b838110156127ea578151875295820195908201906001016127ce565b509495945050505050565b60808152600061280860808301876127ba565b828103602084015261281a8187612602565b905084604084015282810360608401526128348185612602565b979650505050505050565b86815260c06020820152600061285860c08301886127ba565b828103604084015261286a8188612602565b905085606084015282810360808401526128848186612602565b9150508260a0830152979650505050505050565b600060001982036128ab576128ab612589565b5060010190565b82815260006020808301845182860160005b828110156128e0578151845292840192908401906001016128c4565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061291660608301866127ba565b65ffffffffffff8516602084015282810360408401526129368185612602565b9695505050505050565b84815260806020820152600061295960808301866127ba565b65ffffffffffff8516604084015282810360608401526128348185612602565b60608152600061298c6060830186612602565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612caa806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f36600461259c565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b6040516101909190612609565b6101c16101bc36600461261c565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e736600461264c565b6103cc565b005b6101c16103e2565b6101ec610204366004612676565b6103ec565b6101ec61021736600461264c565b61049c565b6101ec61022a366004612676565b6104ae565b6101ec61023d36600461261c565b6104ce565b36601f1901355b604051908152602001610190565b6101c161026536600461261c565b6104e2565b6102496102783660046126b2565b6104ed565b6101ec61028b366004612792565b61054b565b6101a161055e565b6101ec6102a636600461264c565b610573565b6101ec6102b93660046127e9565b610595565b6101ec6102cc366004612825565b6105a7565b6101a16102df36600461261c565b6105be565b6101c161065a565b6101846102fa36600461288d565b610664565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb421288000000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610687565b6106a5565b6106d7565b905090565b60006103c2826106f5565b5061039282610746565b6103de82826103d96103e2565b610761565b5050565b60006103b261076e565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b6107a0565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610924565b6103de828261093f565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610924565b6104df816109bd565b50565b6000610392826106f5565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610687565b610a11565b83610a43565b610553610924565b6104c9838383610ac9565b60606103b261056e6103a8610687565b610ae0565b61057b610924565b6103de828260405180602001604052806000815250610ac9565b6103de6105a06103e2565b8383610aff565b6105b28484846103ec565b61049684848484610c23565b60606105c9826106f5565b5060006105d4610d84565b905060006105f16105eb6105e6610687565b610d99565b85610dcb565b9050600081511161061c5760408051602081018690520160405160208183030381529060405261061e565b805b9050600082511161062f5780610652565b81816040516020016106429291906128c0565b6040516020818303038152906040525b949350505050565b60006103b2610e22565b6000610680610679610674610687565b610e61565b8484610e93565b9392505050565b60008061069330610f52565b905061069f8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000611046565b604080516000808252602082019092526060916106528483836110cd565b60008061070183611194565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b600061039261075b610756610687565b6111a4565b836111d6565b6104c98383836001611256565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061079d5750335b90565b6000806107ae610540610687565b905060006107bb85611194565b90506001600160a01b038416156107d7576107d78185876113e8565b6001600160a01b0381161561080b576107f4600086600080611256565b61080b828260016108058686610a43565b0361147e565b6001600160a01b03861615610831576108318287610829858a610a43565b60010161147e565b61084b61084461083f610687565b61151b565b868861154d565b61085361160a565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610892846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108e89291906001600160a01b038c16908b90602481016128ef565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b509298975050505050505050565b61093d61093030610f52565b6109386103e2565b6116e5565b565b6001600160a01b03821661096957604051633250574960e11b815260006004820152602401610412565b6000610977838360006107a0565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109cc60008360006107a0565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a8857610a88612925565b60209081029190910101526000610ac08583837e20010020000000000000000000000000000000000000000000000000000000611786565b95945050505050565b610ad3838361093f565b6104c96000848484610c23565b60408051600080825260208201909252606091610652848360016110cd565b6001600160a01b038216610b4a576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b60610b58610674610687565b848484611843565b610b6861160a565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610ba7866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bec949392919061293b565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c4a6103e2565b8685856040518563ffffffff1660e01b8152600401610c6c9493929190612960565b6020604051808303816000875af1925050508015610ca7575060408051601f3d908101601f19168201909252610ca491810190612992565b60015b610d10573d808015610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b508051600003610d0857604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d7d57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d946103a8610687565b611910565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610e0857610e08612925565b6020026020010181815250506000610ac0858360006110cd565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610e5c573391505090565b919050565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000611046565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ed857610ed8612925565b602002602001018181525050826001600160a01b031660001b81600181518110610f0457610f04612925565b60209081029190910101526000610f3c8683837e01010001000000000000000000000000000000000000000000000000000000611786565b9050610f488160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f9757610f97612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526000906106529061101e906129af565b8360007e20010020000000000000000000000000000000000000000000000000000000611786565b6000611054607060106129ec565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b606060006110d9610e22565b9050306001600160a01b038216036110fe576110f685858561192f565b915050610680565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061114790889088908890600401612a3a565b600060405180830381865afa158015611164573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110f69190810190612a66565b509392505050565b600061039261075b61083f610687565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000611046565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061121257611212612925565b6020908102919091010152600061124a8583837e14010014000000000000000000000000000000000000000000000000000000611786565b60601c95945050505050565b808061126a57506001600160a01b03821615155b156113d357600061127a846106f5565b90506001600160a01b038316158015906112a65750826001600160a01b0316816001600160a01b031614155b80156112b957506112b78184610664565b155b156112fb576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b81156113d15761130961160a565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925611348846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690915261139e9291906001600160a01b038b16908a90602481016128ef565b600060405180830381600087803b1580156113b857600080fd5b505af11580156113cc573d6000803e3d6000fd5b505050505b505b6104966113e1610756610687565b848661154d565b6113f3838383611969565b6104c9576001600160a01b03831661143a576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106114c0576114c0612925565b60200260200101818152505061049684826000856040516020016114e691815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ce565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000611046565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061158657611586612925565b60200260200101818152505061049684826000856040516020016115d5919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006119ce565b60008061161630610f52565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f5075707065745265676973747279000000000000000000000000000000000000603082015291925060009161169a9101604051602081830303815290604052611694906129af565b83611a84565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b03811661173a7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611abd565b6001600160a01b0316146103de5761175182611bb0565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612ad4565b600080611791610e22565b9050306001600160a01b038216036117b7576117af86868686611d2c565b915050610652565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611802908990899089908990600401612aff565b602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117af9190612b2e565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061188457611884612925565b602002602001018181525050826001600160a01b031660001b816001815181106118b0576118b0612925565b602002602001018181525050610d7d85826000856040516020016118db91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006119ce565b60408051600080825260208201909252606091610652848360026110cd565b606061065261193f858585611d59565b6119628461194d8888611dd9565b9060ff166028026038011c64ffffffffff1690565b6000611dec565b60006001600160a01b038316158015906106525750826001600160a01b0316846001600160a01b031614806119a357506119a38484610664565b806106525750826001600160a01b03166119bc83610746565b6001600160a01b031614949350505050565b60006119d8610e22565b9050306001600160a01b038216036119fc576119f78686868686611e0f565b611a7c565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a499089908990899089908990600401612b47565b600060405180830381600087803b158015611a6357600080fd5b505af1158015611a77573d6000803e3d6000fd5b505050505b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061121257611212612925565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611af657611af6612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201528151808203909301835281019052600090611ba590611b7d906129af565b8360007e14010014000000000000000000000000000000000000000000000000000000611786565b60601c949350505050565b606081601081901b6000611bc383611e24565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611c16577fffffffffffffffffffffffffffff0000000000000000000000000000000000008316611c38565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615611c665782611c88565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b6000610ac0611d3b8686611e3b565b60ff858116601b0360080285901c16611d548587611e91565b611ecc565b60008383604051602001611d6e929190612b8e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000610680611de88484611f1d565b5490565b60405160208101601f19603f858401011660405283825261118c85858584611f73565b610d7d8585611e1e8487611e91565b8561202b565b6000611e32607060106129ec565b9190911b919050565b60008282604051602001611e50929190612b8e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561118c57611eb860ff601b83900360080287901c16836129ec565b915080611ec481612bc9565b915050611e96565b600060208210611ef257602082048401935060208281611eee57611eee612be3565b0691505b508254600882021b60208290038084111561118c576001850154600882021c82179150509392505050565b60008282604051602001611f32929190612b8e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8115611fe55760208210611f9d57602082048401935060208281611f9957611f99612be3565b0691505b8115611fe55760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611fd6575050610496565b50600194909401939283900392015b5b602083106120075783548152600190930192601f1990920191602001611fe6565b8215610496576000600019600885021c198251865482169119161782525050505050565b60006120378585611e3b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161206d93929190612bf9565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120a95750610496565b60006120b486612284565b905060005b81518110156121935760008282815181106120d6576120d6612925565b602002602001015190506121026004826affffffffffffffffffffff191661236490919063ffffffff16565b15612180576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061214d908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561216757600080fd5b505af115801561217b573d6000803e3d6000fd5b505050505b508061218b81612bc9565b9150506120b9565b506121a7828565ffffffffffff1685612382565b60005b8151811015610c1a5760008282815181106121c7576121c7612925565b602002602001015190506121f36008826affffffffffffffffffffff191661236490919063ffffffff16565b15612271576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061223e908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561225857600080fd5b505af115801561226c573d6000803e3d6000fd5b505050505b508061227c81612bc9565b9150506121aa565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122be576122be612925565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061234d90612345906129af565b83600061192f565b905061065261235f8260008451612392565b612422565b60008160ff16826123758560581c90565b1660ff1614905092915050565b6104c98383602084018451612433565b60008183111580156123a5575083518211155b6123e1578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c65565b602084016123ef84826129ec565b905060006123fd8585612c8a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061068083601560006124f3565b82156124ad576020831061245d5760208304840193506020838161245957612459612be3565b0692505b82156124ad5760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161249e575050610496565b50600194909401939182019190035b5b602081106124cf5781518455600190930192602090910190601f19016124ae565b8015610496576000600019600883021c198554845182169119161785555050505050565b606060006125018560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161252757612527612be3565b04905060405193506020840160208202810160405281855260005b82811015612562578451871c825293870193602090910190600101612542565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b6000602082840312156125ae57600080fd5b81356106808161256e565b60005b838110156125d45781810151838201526020016125bc565b50506000910152565b600081518084526125f58160208601602086016125b9565b601f01601f19169290920160200192915050565b60208152600061068060208301846125dd565b60006020828403121561262e57600080fd5b5035919050565b80356001600160a01b0381168114610e5c57600080fd5b6000806040838503121561265f57600080fd5b61266883612635565b946020939093013593505050565b60008060006060848603121561268b57600080fd5b61269484612635565b92506126a260208501612635565b9150604084013590509250925092565b6000602082840312156126c457600080fd5b61068082612635565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561270c5761270c6126cd565b604052919050565b600067ffffffffffffffff82111561272e5761272e6126cd565b50601f01601f191660200190565b600082601f83011261274d57600080fd5b813561276061275b82612714565b6126e3565b81815284602083860101111561277557600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156127a757600080fd5b6127b084612635565b925060208401359150604084013567ffffffffffffffff8111156127d357600080fd5b6127df8682870161273c565b9150509250925092565b600080604083850312156127fc57600080fd5b61280583612635565b91506020830135801515811461281a57600080fd5b809150509250929050565b6000806000806080858703121561283b57600080fd5b61284485612635565b935061285260208601612635565b925060408501359150606085013567ffffffffffffffff81111561287557600080fd5b6128818782880161273c565b91505092959194509250565b600080604083850312156128a057600080fd5b6128a983612635565b91506128b760208401612635565b90509250929050565b600083516128d28184602088016125b9565b8351908301906128e68183602088016125b9565b01949350505050565b85815284602082015283604082015282606082015260a06080820152600061291a60a08301846125dd565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f4860808301846125dd565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f4860808301846125dd565b6000602082840312156129a457600080fd5b81516106808161256e565b805160208083015191908110156129d0576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610392576103926129d6565b600081518084526020808501945080840160005b83811015612a2f57815187529582019590820190600101612a13565b509495945050505050565b838152606060208201526000612a5360608301856129ff565b905060ff83166040830152949350505050565b600060208284031215612a7857600080fd5b815167ffffffffffffffff811115612a8f57600080fd5b8201601f81018413612aa057600080fd5b8051612aae61275b82612714565b818152856020838501011115612ac357600080fd5b610ac08260208301602086016125b9565b604081526000612ae760408301856125dd565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612b1860808301866129ff565b60ff949094166040830152506060015292915050565b600060208284031215612b4057600080fd5b5051919050565b85815260a060208201526000612b6060a08301876129ff565b60ff861660408401528281036060840152612b7b81866125dd565b9150508260808301529695505050505050565b82815260006020808301845182860160005b82811015612bbc57815184529284019290840190600101612ba0565b5091979650505050505050565b60006000198203612bdc57612bdc6129d6565b5060010190565b634e487b7160e01b600052601260045260246000fd5b606081526000612c0c60608301866129ff565b65ffffffffffff851660208401528281036040840152610f4881856125dd565b848152608060208201526000612c4560808301866129ff565b65ffffffffffff85166040840152828103606084015261291a81856125dd565b606081526000612c7860608301866125dd565b60208301949094525060400152919050565b81810381811115610392576103926129d656fea164736f6c6343000815000aa164736f6c6343000815000a","sourceMap":"3613:686:241:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612512565b610045565b005b61005661005182610188565b6101c0565b6100676100628261020c565b61023e565b61007861007382610282565b6102b4565b610089610084826102f8565b61032a565b61009a6100958261036c565b61039e565b6100ab6100a6826103e2565b610414565b8173ffffffffffffffffffffffffffffffffffffffff16633350b6a96100d083610456565b6040516100dc90612505565b604051809103906000f0801580156100f8573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561016c57600080fd5b505af1158015610180573d6000803e3d6000fd5b505050505050565b60006101ba613a3160f11b837f4f70657261746f72417070726f76616c0000000000000000000000000000000061049f565b92915050565b610209817e010100010000000000000000000000000000000000000000000000000000006101ec610526565b6101f46105e3565b6101fc61061d565b6102046106f5565b61076c565b50565b60006101ba613a3160f11b837f4f776e657273000000000000000000000000000000000000000000000000000061049f565b610209817e1401001400000000000000000000000000000000000000000000000000000061026a610840565b61027261087a565b61027a6108b4565b61020461092b565b60006101ba613a3160f11b837f546f6b656e417070726f76616c0000000000000000000000000000000000000061049f565b610209817e140100140000000000000000000000000000000000000000000000000000006102e0610840565b6102e861087a565b6102f06108b4565b6102046109a2565b60006101ba613a3160f11b837f546f6b656e55524900000000000000000000000000000000000000000000000061049f565b610209817c0100000000000000000000000000000000000000000000000000000000610354610840565b61035c610a19565b6103646108b4565b610204610a53565b60006101ba613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061049f565b610209817e200100200000000000000000000000000000000000000000000000000000006103ca61087a565b6103d2610840565b6103da6109a2565b610204610aca565b60006101ba613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061049f565b610209817c030000000000000000000000000000000000000000000000000000000061043e610b41565b610446610b5a565b61044e610c1f565b610204610c52565b60006101ba7f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000005b60006104ad6070601061259f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110610560576105606125b2565b602002602001019060c5811115610579576105796125c8565b908160c581111561058c5761058c6125c8565b815250506061816001815181106105a5576105a56125b2565b602002602001019060c58111156105be576105be6125c8565b908160c58111156105d1576105d16125c8565b9052506105dd81610d72565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106105a5576105a56125b2565b6040805160028082526060828101909352816020015b60608152602001906001900390816106335790505090506040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525081600081518110610693576106936125b2565b60200260200101819052506040518060400160405280600881526020017f6f70657261746f72000000000000000000000000000000000000000000000000815250816001815181106106e7576106e76125b2565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161070c5790505090506040518060400160405280600881526020017f617070726f766564000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6000610776610f36565b90503073ffffffffffffffffffffffffffffffffffffffff8216036107a8576107a3878787878787610f82565b610837565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f4990610804908a908a908a908a908a908a90600401612686565b600060405180830381600087803b15801561081e57600080fd5b505af1158015610832573d6000803e3d6000fd5b505050505b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106105a5576105a56125b2565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816108cb5790505090506040518060400160405280600781526020017f746f6b656e496400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109425790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109b95790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610a6a5790505090506040518060400160405280600881526020017f746f6b656e555249000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610ae15790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516000808252602082019092526105dd81610d72565b604080516003808252608082019092526000918291906020820160608036833701905050905060c581600081518110610b9557610b956125b2565b602002602001019060c5811115610bae57610bae6125c8565b908160c5811115610bc157610bc16125c8565b8152505060c581600181518110610bda57610bda6125b2565b602002602001019060c5811115610bf357610bf36125c8565b908160c5811115610c0657610c066125c8565b8152505060c5816002815181106105a5576105a56125b2565b60408051600080825260208201909252606091610c4c565b6060815260200190600190039081610c375790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610c6a5790505090506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600081518110610cca57610cca6125b2565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081600181518110610d1e57610d1e6125b2565b60200260200101819052506040518060400160405280600781526020017f6261736555524900000000000000000000000000000000000000000000000000815250816002815181106106e7576106e76125b2565b6000601c82511115610da5578151604051635318beb960e01b8152600401610d9c91815260200190565b60405180910390fd5b60008080805b8551811015610e80576000610de9878381518110610dcb57610dcb6125b2565b602002602001015160c5811115610de457610de46125c8565b61126f565b905080600003610dfe57600190920191610e36565b8215610e36576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610e5757610e576125b2565b602002602001015160c5811115610e7057610e706125c8565b901b949094179350600101610dab565b506005811115610ea657604051635318beb960e01b815260048101829052602401610d9c565b84518190036008610eb9600260206126d0565b610ec391906126e3565b83901b939093179260086001610edb600260206126d0565b610ee591906126d0565b610eef91906126e3565b81901b93909317926008600180610f08600260206126d0565b610f1291906126d0565b610f1c91906126d0565b610f2691906126e3565b9190911b92909217949350505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610f7d573391505090565b919050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610ffb57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561105c57613a3160f11b868760405160200161101a91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610d9c9392916004016126fa565b6110678560006112cf565b611072846001611451565b61107d836000611451565b60e084901c60e885901c0160ff168251146110dd5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1681511461113d5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146111b55760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b6111be866115f8565b156112185785866040516020016111d791815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610d9c929160040161273b565b61126486868686866040516020016112309190612754565b604051602081830303815290604052866040516020016112509190612754565b6040516020818303038152906040526116dc565b6101808660016117fc565b6000808260c5811115611284576112846125c8565b60ff169050606181101561129e57601f1660010192915050565b60618360c58111156112b2576112b26125c8565b036112c05750601492915050565b50600092915050565b50919050565b801580156112db575081155b15611315576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260006004820152602401610d9c565b6000611320836118f3565b90506005811115611360576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b600061136b84611930565b90506000611379838361259f565b9050601c8111156113b9576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b60005b828110156101805760ff601b82900360080287901c16600081900361140d576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811115611448576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016113bc565b8015801561145d575081155b1561147e57604051635318beb960e01b815260006004820152602401610d9c565b6000611489836118f3565b905060058111156114b057604051635318beb960e01b815260048101829052602401610d9c565b60006114bb84611930565b905060006114c9838361259f565b9050601c8111156114f057604051635318beb960e01b815260048101829052602401610d9c565b60008060005b838110156115b157600061151e61150d8a84611942565b60c5811115610de457610de46125c8565b11156115685784811061155d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909201916115a9565b848110156115a2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b6001016114f6565b508382146115d557604051635318beb960e01b815260048101839052602401610d9c565b84811461083757604051635318beb960e01b815260048101829052602401610d9c565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611631576116316125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526000906116c8906116a090612767565b8360007e0101000100000000000000000000000000000000000000000000000000000061196a565b90506116d48160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061171384846119a0565b9050600061172185856119bd565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061175b5761175b6125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c65730000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526117f0906117c790612767565b828686867e600302202020000000000000000000000000000000000000000000000000006119e9565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611832576118326125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526118ee9061189e90612767565b826000856040516020016118b991151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611cd8565b505050565b60006008600180611906600260206126d0565b61191091906126d0565b61191a91906126d0565b61192491906126e3565b8260ff911c1692915050565b600060086001611910600260206126d0565b6000601b8290036008028360ff911c1660c5811115611963576119636125c8565b9392505050565b60006119976119798686611cf4565b60ff858116601b0360080285901c166119928587611d4a565b611d8d565b95945050505050565b8151815160009181810160389190911b1760609190911b17611963565b606082826040516020016119d292919061278b565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611a1f94939291906127f5565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610180576000611a6087611dde565b905060005b8151811015611b43576000828281518110611a8257611a826125b2565b60200260200101519050611aae6001826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611b30576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611afd908c908c908c908c908c908c9060040161283f565b600060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b505050505b5080611b3b81612898565b915050611a65565b506000611b508888611cf4565b90506000602087019050611b68826000838a51611ec4565b6000611b73856118f3565b1115611bf7576000611b858a8a611f82565b878155905060208601915060008060005b611b9f886118f3565b8160ff161015611bf257611bb48d8d83611fd8565b9250611bcf8a8260ff166028026038011c64ffffffffff1690565b9150611bde8360008785611ec4565b611be8828661259f565b9450600101611b96565b505050505b60005b83518110156117f0576000848281518110611c1757611c176125b2565b60200260200101519050611c436002826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611cc5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611c92908e908e908e908e908e908e9060040161283f565b600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b505050505b5080611cd081612898565b915050611bfa565b611ced8585611ce78487611d4a565b85612058565b5050505050565b60008282604051602001611d099291906128b2565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611d8557611d7160ff601b83900360080287901c168361259f565b915080611d7d81612898565b915050611d4f565b509392505050565b600060208210611db357602082048401935060208281611daf57611daf6128ed565b0691505b508254600882021b602082900380841115611d85576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e1857611e186125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611e8f90611e8790612767565b8360006122b1565b90506116d4611ea182600084516122eb565b61237b565b60008160ff1682611eb78560581c90565b1660ff1614905092915050565b8215611f3e5760208310611eee57602083048401935060208381611eea57611eea6128ed565b0692505b8215611f3e5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611f2f575050611f7c565b50600194909401939182019190035b5b60208110611f605781518455600190930192602090910190601f1901611f3f565b8015611f7c5783548251600019600884021c9182169119161784555b50505050565b60008282604051602001611f979291906128b2565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fed9291906128b2565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006120648585611cf4565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161209a93929190612903565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120d65750611f7c565b60006120e186611dde565b905060005b81518110156121c0576000828281518110612103576121036125b2565b6020026020010151905061212f6004826affffffffffffffffffffff1916611ea690919063ffffffff16565b156121ad576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061217a908b908b908b908b90600401612940565b600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b505050505b50806121b881612898565b9150506120e6565b506121d4828565ffffffffffff168561238c565b60005b81518110156108375760008282815181106121f4576121f46125b2565b602002602001015190506122206008826affffffffffffffffffffff1916611ea690919063ffffffff16565b1561229e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061226b908b908b908b908b90600401612940565b600060405180830381600087803b15801561228557600080fd5b505af1158015612299573d6000803e3d6000fd5b505050505b50806122a981612898565b9150506121d7565b60606116d46122c1858585611fd8565b6122e4846122cf888861239c565b9060ff166028026038011c64ffffffffff1690565b60006123af565b60008183111580156122fe575083518211155b61233a578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610d9c93929190612979565b60208401612348848261259f565b9050600061235685856126d0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061196383601560006123d2565b6118ee8383602084018451611ec4565b60006119636123ab8484611f82565b5490565b60405160208101601f19603f8584010116604052838252611d858585858461244d565b606060006123e08560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612406576124066128ed565b04905060405193506020840160208202810160405281855260005b82811015612441578451871c825293870193602090910190600101612421565b50505050509392505050565b81156124bf576020821061247757602082048401935060208281612473576124736128ed565b0691505b81156124bf5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116124b0575050611f7c565b50600194909401939283900392015b5b602083106124e15783548152600190930192601f19909201916020016124c0565b8215611f7c576000600019600885021c198251865482169119161782525050505050565b612cca8061299f83390190565b6000806040838503121561252557600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461254957600080fd5b915060208301357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461257e57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ba576101ba612589565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b838110156125f95781810151838201526020016125e1565b50506000910152565b6000815180845261261a8160208601602086016125de565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561267957601f19868403018952612667838351612602565b9884019892509083019060010161264b565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006126b160c083018561262e565b82810360a08401526126c3818561262e565b9998505050505050505050565b818103818111156101ba576101ba612589565b80820281158282048414176101ba576101ba612589565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006119976060830184612602565b8281526040602082015260006116d46040830184612602565b602081526000611963602083018461262e565b805160208083015191908110156112c95760001960209190910360031b1b16919050565b6000835161279d8184602088016125de565b8351908301906127b18183602088016125de565b01949350505050565b600081518084526020808501945080840160005b838110156127ea578151875295820195908201906001016127ce565b509495945050505050565b60808152600061280860808301876127ba565b828103602084015261281a8187612602565b905084604084015282810360608401526128348185612602565b979650505050505050565b86815260c06020820152600061285860c08301886127ba565b828103604084015261286a8188612602565b905085606084015282810360808401526128848186612602565b9150508260a0830152979650505050505050565b600060001982036128ab576128ab612589565b5060010190565b82815260006020808301845182860160005b828110156128e0578151845292840192908401906001016128c4565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061291660608301866127ba565b65ffffffffffff8516602084015282810360408401526129368185612602565b9695505050505050565b84815260806020820152600061295960808301866127ba565b65ffffffffffff8516604084015282810360608401526128348185612602565b60608152600061298c6060830186612602565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612caa806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f36600461259c565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b6040516101909190612609565b6101c16101bc36600461261c565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e736600461264c565b6103cc565b005b6101c16103e2565b6101ec610204366004612676565b6103ec565b6101ec61021736600461264c565b61049c565b6101ec61022a366004612676565b6104ae565b6101ec61023d36600461261c565b6104ce565b36601f1901355b604051908152602001610190565b6101c161026536600461261c565b6104e2565b6102496102783660046126b2565b6104ed565b6101ec61028b366004612792565b61054b565b6101a161055e565b6101ec6102a636600461264c565b610573565b6101ec6102b93660046127e9565b610595565b6101ec6102cc366004612825565b6105a7565b6101a16102df36600461261c565b6105be565b6101c161065a565b6101846102fa36600461288d565b610664565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb421288000000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610687565b6106a5565b6106d7565b905090565b60006103c2826106f5565b5061039282610746565b6103de82826103d96103e2565b610761565b5050565b60006103b261076e565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b6107a0565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610924565b6103de828261093f565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610924565b6104df816109bd565b50565b6000610392826106f5565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610687565b610a11565b83610a43565b610553610924565b6104c9838383610ac9565b60606103b261056e6103a8610687565b610ae0565b61057b610924565b6103de828260405180602001604052806000815250610ac9565b6103de6105a06103e2565b8383610aff565b6105b28484846103ec565b61049684848484610c23565b60606105c9826106f5565b5060006105d4610d84565b905060006105f16105eb6105e6610687565b610d99565b85610dcb565b9050600081511161061c5760408051602081018690520160405160208183030381529060405261061e565b805b9050600082511161062f5780610652565b81816040516020016106429291906128c0565b6040516020818303038152906040525b949350505050565b60006103b2610e22565b6000610680610679610674610687565b610e61565b8484610e93565b9392505050565b60008061069330610f52565b905061069f8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000611046565b604080516000808252602082019092526060916106528483836110cd565b60008061070183611194565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b600061039261075b610756610687565b6111a4565b836111d6565b6104c98383836001611256565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061079d5750335b90565b6000806107ae610540610687565b905060006107bb85611194565b90506001600160a01b038416156107d7576107d78185876113e8565b6001600160a01b0381161561080b576107f4600086600080611256565b61080b828260016108058686610a43565b0361147e565b6001600160a01b03861615610831576108318287610829858a610a43565b60010161147e565b61084b61084461083f610687565b61151b565b868861154d565b61085361160a565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610892846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108e89291906001600160a01b038c16908b90602481016128ef565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b509298975050505050505050565b61093d61093030610f52565b6109386103e2565b6116e5565b565b6001600160a01b03821661096957604051633250574960e11b815260006004820152602401610412565b6000610977838360006107a0565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109cc60008360006107a0565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a8857610a88612925565b60209081029190910101526000610ac08583837e20010020000000000000000000000000000000000000000000000000000000611786565b95945050505050565b610ad3838361093f565b6104c96000848484610c23565b60408051600080825260208201909252606091610652848360016110cd565b6001600160a01b038216610b4a576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b60610b58610674610687565b848484611843565b610b6861160a565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610ba7866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bec949392919061293b565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c4a6103e2565b8685856040518563ffffffff1660e01b8152600401610c6c9493929190612960565b6020604051808303816000875af1925050508015610ca7575060408051601f3d908101601f19168201909252610ca491810190612992565b60015b610d10573d808015610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b508051600003610d0857604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d7d57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d946103a8610687565b611910565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610e0857610e08612925565b6020026020010181815250506000610ac0858360006110cd565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610e5c573391505090565b919050565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000611046565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ed857610ed8612925565b602002602001018181525050826001600160a01b031660001b81600181518110610f0457610f04612925565b60209081029190910101526000610f3c8683837e01010001000000000000000000000000000000000000000000000000000000611786565b9050610f488160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f9757610f97612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526000906106529061101e906129af565b8360007e20010020000000000000000000000000000000000000000000000000000000611786565b6000611054607060106129ec565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b606060006110d9610e22565b9050306001600160a01b038216036110fe576110f685858561192f565b915050610680565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061114790889088908890600401612a3a565b600060405180830381865afa158015611164573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110f69190810190612a66565b509392505050565b600061039261075b61083f610687565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000611046565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061121257611212612925565b6020908102919091010152600061124a8583837e14010014000000000000000000000000000000000000000000000000000000611786565b60601c95945050505050565b808061126a57506001600160a01b03821615155b156113d357600061127a846106f5565b90506001600160a01b038316158015906112a65750826001600160a01b0316816001600160a01b031614155b80156112b957506112b78184610664565b155b156112fb576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b81156113d15761130961160a565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925611348846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690915261139e9291906001600160a01b038b16908a90602481016128ef565b600060405180830381600087803b1580156113b857600080fd5b505af11580156113cc573d6000803e3d6000fd5b505050505b505b6104966113e1610756610687565b848661154d565b6113f3838383611969565b6104c9576001600160a01b03831661143a576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106114c0576114c0612925565b60200260200101818152505061049684826000856040516020016114e691815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ce565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000611046565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061158657611586612925565b60200260200101818152505061049684826000856040516020016115d5919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006119ce565b60008061161630610f52565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f5075707065745265676973747279000000000000000000000000000000000000603082015291925060009161169a9101604051602081830303815290604052611694906129af565b83611a84565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b03811661173a7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611abd565b6001600160a01b0316146103de5761175182611bb0565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612ad4565b600080611791610e22565b9050306001600160a01b038216036117b7576117af86868686611d2c565b915050610652565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611802908990899089908990600401612aff565b602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117af9190612b2e565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061188457611884612925565b602002602001018181525050826001600160a01b031660001b816001815181106118b0576118b0612925565b602002602001018181525050610d7d85826000856040516020016118db91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006119ce565b60408051600080825260208201909252606091610652848360026110cd565b606061065261193f858585611d59565b6119628461194d8888611dd9565b9060ff166028026038011c64ffffffffff1690565b6000611dec565b60006001600160a01b038316158015906106525750826001600160a01b0316846001600160a01b031614806119a357506119a38484610664565b806106525750826001600160a01b03166119bc83610746565b6001600160a01b031614949350505050565b60006119d8610e22565b9050306001600160a01b038216036119fc576119f78686868686611e0f565b611a7c565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a499089908990899089908990600401612b47565b600060405180830381600087803b158015611a6357600080fd5b505af1158015611a77573d6000803e3d6000fd5b505050505b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061121257611212612925565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611af657611af6612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201528151808203909301835281019052600090611ba590611b7d906129af565b8360007e14010014000000000000000000000000000000000000000000000000000000611786565b60601c949350505050565b606081601081901b6000611bc383611e24565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611c16577fffffffffffffffffffffffffffff0000000000000000000000000000000000008316611c38565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615611c665782611c88565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b6000610ac0611d3b8686611e3b565b60ff858116601b0360080285901c16611d548587611e91565b611ecc565b60008383604051602001611d6e929190612b8e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000610680611de88484611f1d565b5490565b60405160208101601f19603f858401011660405283825261118c85858584611f73565b610d7d8585611e1e8487611e91565b8561202b565b6000611e32607060106129ec565b9190911b919050565b60008282604051602001611e50929190612b8e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561118c57611eb860ff601b83900360080287901c16836129ec565b915080611ec481612bc9565b915050611e96565b600060208210611ef257602082048401935060208281611eee57611eee612be3565b0691505b508254600882021b60208290038084111561118c576001850154600882021c82179150509392505050565b60008282604051602001611f32929190612b8e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8115611fe55760208210611f9d57602082048401935060208281611f9957611f99612be3565b0691505b8115611fe55760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611fd6575050610496565b50600194909401939283900392015b5b602083106120075783548152600190930192601f1990920191602001611fe6565b8215610496576000600019600885021c198251865482169119161782525050505050565b60006120378585611e3b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161206d93929190612bf9565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120a95750610496565b60006120b486612284565b905060005b81518110156121935760008282815181106120d6576120d6612925565b602002602001015190506121026004826affffffffffffffffffffff191661236490919063ffffffff16565b15612180576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061214d908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561216757600080fd5b505af115801561217b573d6000803e3d6000fd5b505050505b508061218b81612bc9565b9150506120b9565b506121a7828565ffffffffffff1685612382565b60005b8151811015610c1a5760008282815181106121c7576121c7612925565b602002602001015190506121f36008826affffffffffffffffffffff191661236490919063ffffffff16565b15612271576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061223e908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561225857600080fd5b505af115801561226c573d6000803e3d6000fd5b505050505b508061227c81612bc9565b9150506121aa565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122be576122be612925565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061234d90612345906129af565b83600061192f565b905061065261235f8260008451612392565b612422565b60008160ff16826123758560581c90565b1660ff1614905092915050565b6104c98383602084018451612433565b60008183111580156123a5575083518211155b6123e1578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c65565b602084016123ef84826129ec565b905060006123fd8585612c8a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061068083601560006124f3565b82156124ad576020831061245d5760208304840193506020838161245957612459612be3565b0692505b82156124ad5760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161249e575050610496565b50600194909401939182019190035b5b602081106124cf5781518455600190930192602090910190601f19016124ae565b8015610496576000600019600883021c198554845182169119161785555050505050565b606060006125018560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161252757612527612be3565b04905060405193506020840160208202810160405281855260005b82811015612562578451871c825293870193602090910190600101612542565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b6000602082840312156125ae57600080fd5b81356106808161256e565b60005b838110156125d45781810151838201526020016125bc565b50506000910152565b600081518084526125f58160208601602086016125b9565b601f01601f19169290920160200192915050565b60208152600061068060208301846125dd565b60006020828403121561262e57600080fd5b5035919050565b80356001600160a01b0381168114610e5c57600080fd5b6000806040838503121561265f57600080fd5b61266883612635565b946020939093013593505050565b60008060006060848603121561268b57600080fd5b61269484612635565b92506126a260208501612635565b9150604084013590509250925092565b6000602082840312156126c457600080fd5b61068082612635565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561270c5761270c6126cd565b604052919050565b600067ffffffffffffffff82111561272e5761272e6126cd565b50601f01601f191660200190565b600082601f83011261274d57600080fd5b813561276061275b82612714565b6126e3565b81815284602083860101111561277557600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156127a757600080fd5b6127b084612635565b925060208401359150604084013567ffffffffffffffff8111156127d357600080fd5b6127df8682870161273c565b9150509250925092565b600080604083850312156127fc57600080fd5b61280583612635565b91506020830135801515811461281a57600080fd5b809150509250929050565b6000806000806080858703121561283b57600080fd5b61284485612635565b935061285260208601612635565b925060408501359150606085013567ffffffffffffffff81111561287557600080fd5b6128818782880161273c565b91505092959194509250565b600080604083850312156128a057600080fd5b6128a983612635565b91506128b760208401612635565b90509250929050565b600083516128d28184602088016125b9565b8351908301906128e68183602088016125b9565b01949350505050565b85815284602082015283604082015282606082015260a06080820152600061291a60a08301846125dd565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f4860808301846125dd565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f4860808301846125dd565b6000602082840312156129a457600080fd5b81516106808161256e565b805160208083015191908110156129d0576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610392576103926129d6565b600081518084526020808501945080840160005b83811015612a2f57815187529582019590820190600101612a13565b509495945050505050565b838152606060208201526000612a5360608301856129ff565b905060ff83166040830152949350505050565b600060208284031215612a7857600080fd5b815167ffffffffffffffff811115612a8f57600080fd5b8201601f81018413612aa057600080fd5b8051612aae61275b82612714565b818152856020838501011115612ac357600080fd5b610ac08260208301602086016125b9565b604081526000612ae760408301856125dd565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612b1860808301866129ff565b60ff949094166040830152506060015292915050565b600060208284031215612b4057600080fd5b5051919050565b85815260a060208201526000612b6060a08301876129ff565b60ff861660408401528281036060840152612b7b81866125dd565b9150508260808301529695505050505050565b82815260006020808301845182860160005b82811015612bbc57815184529284019290840190600101612ba0565b5091979650505050505050565b60006000198203612bdc57612bdc6129d6565b5060010190565b634e487b7160e01b600052601260045260246000fd5b606081526000612c0c60608301866129ff565b65ffffffffffff851660208401528281036040840152610f4881856125dd565b848152608060208201526000612c4560808301866129ff565b65ffffffffffff85166040840152828103606084015261291a81856125dd565b606081526000612c7860608301866125dd565b60208301949094525060400152919050565b81810381811115610392576103926129d656fea164736f6c6343000815000aa164736f6c6343000815000a","sourceMap":"3613:686:241:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:550;;;;;;:::i;:::-;;:::i;:::-;;;3843:62;3869:35;3894:9;3869:24;:35::i;:::-;3843:25;:62::i;:::-;3911:42;3927:25;3942:9;3927:14;:25::i;:::-;3911:15;:42::i;:::-;3959:56;3982:32;4004:9;3982:21;:32::i;:::-;3959:22;:56::i;:::-;4021:46;4039:27;4056:9;4039:16;:27::i;:::-;4021:17;:46::i;:::-;4073;4091:27;4108:9;4091:16;:27::i;:::-;4073:17;:46::i;:::-;4125:52;4149:27;4166:9;4149:16;:27::i;:::-;4125:23;:52::i;:::-;4218:5;:20;;;4239:26;4255:9;4239:15;:26::i;:::-;4267:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4218:74:241;;;;;;;;;;;;;828:25:307;;;;901:42;889:55;869:18;;;862:83;4287:4:241;961:18:307;;;954:50;801:18;;4218:74:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:550;;:::o;892:198:257:-;959:10;982:105;-1:-1:-1;;;1045:9:257;1062:22;982:25;:105::i;:::-;975:112;892:198;-1:-1:-1;;892:198:257:o;2798:174:253:-;2852:115;2878:8;1162:66;2902:14;:12;:14::i;:::-;2918:16;:14;:16::i;:::-;2936:13;:11;:13::i;:::-;2951:15;:13;:15::i;:::-;2852:25;:115::i;:::-;2798:174;:::o;1092:177:257:-;1149:10;1172:94;-1:-1:-1;;;1235:9:257;1252:11;1172:25;:94::i;2720:174:254:-;2774:115;2800:8;1162:66;2824:14;:12;:14::i;:::-;2840:16;:14;:16::i;:::-;2858:13;:11;:13::i;:::-;2873:15;:13;:15::i;1271:192:257:-;1335:10;1358:102;-1:-1:-1;;;1421:9:257;1438:19;1358:25;:102::i;2729:174:255:-;2783:115;2809:8;1162:66;2833:14;:12;:14::i;:::-;2849:16;:14;:16::i;:::-;2867:13;:11;:13::i;:::-;2882:15;:13;:15::i;1465:182:257:-;1524:10;1547:97;-1:-1:-1;;;1610:9:257;1627:14;1547:25;:97::i;2724:174:256:-;2778:115;2804:8;1162:66;2828:14;:12;:14::i;:::-;2844:16;:14;:16::i;:::-;2862:13;:11;:13::i;:::-;2877:15;:13;:15::i;526:181:257:-;585:10;608:96;-1:-1:-1;;;671:9:257;688:13;608:25;:96::i;2722:174:289:-;2776:115;2802:8;1162:66;2826:14;:12;:14::i;:::-;2842:16;:14;:16::i;:::-;2860:13;:11;:13::i;:::-;2875:15;:13;:15::i;709:181:257:-;768:10;791:96;-1:-1:-1;;;854:9:257;871:13;791:25;:96::i;2881:174:251:-;2935:115;2961:8;1162:66;2985:14;:12;:14::i;:::-;3001:16;:14;:16::i;:::-;3019:13;:11;:13::i;:::-;3034:15;:13;:15::i;1649:186:257:-;1707:10;1730:102;1766:15;1794:9;1811:18;1008:257:164;1095:10;1224:26;399:6;336:5:122;1224:26:164;:::i;:::-;1151:15;;;1170:31;336:5:122;1170:31:164;;;;1151:51;1206:13;;;:45;;;1151:101;;-1:-1:-1;1008:257:164;;;;;:::o;1584:240:253:-;1678:19;;;1695:1;1678:19;;;;;;;;1631:6;;;;1678:19;1695:1;1678:19;;;;;;;;;;-1:-1:-1;1678:19:253;1645:52;;1719:18;1703:10;1714:1;1703:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;1759:18;1743:10;1754:1;1743:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1791:28:253;1808:10;1791:16;:28::i;:::-;1784:35;;;1584:240;:::o;1941:205::-;2039:19;;;2056:1;2039:19;;;;;;;;;1990:6;;;;2039:19;;;;;;;;;;;;-1:-1:-1;2039:19:253;2004:54;;2082:15;2064:12;2077:1;2064:15;;;;;;;;:::i;2280:166::-;2369:15;;;2382:1;2369:15;;;2326:24;2369:15;;;;;;;;;;;;;;;;;;;;;;;;;;2358:26;;2390:21;;;;;;;;;;;;;;;;;:8;2399:1;2390:11;;;;;;;;:::i;:::-;;;;;;:21;;;;2417:24;;;;;;;;;;;;;;;;;:8;2426:1;2417:11;;;;;;;;:::i;:::-;;;;;;:24;;;;2280:166;:::o;2586:147::-;2681:15;;;2694:1;2681:15;;;;;;;;;2634:26;;2681:15;;;;;;;;;;;;;;;;;;;;2668:28;;2702:26;;;;;;;;;;;;;;;;;:10;2713:1;2702:13;;;;;;;;:::i;5574:520:130:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:130;5828:30;;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;:35;;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;1574:200:254:-;1668:19;;;1685:1;1668:19;;;;;;;;;1621:6;;;;1668:19;;;;;;;;;;;;-1:-1:-1;1668:19:254;1635:52;;1709:18;1693:10;1704:1;1693:13;;;;;;;;:::i;1891:208::-;1989:19;;;2006:1;1989:19;;;;;;;;;1940:6;;;;1989:19;;;;;;;;;;;;-1:-1:-1;1989:19:254;1954:54;;2032:18;2014:12;2027:1;2014:15;;;;;;;;:::i;2233:138::-;2322:15;;;2335:1;2322:15;;;;;;;;;2279:24;;2322:15;;;;;;;;;;;;;;;;;;;;2311:26;;2343:23;;;;;;;;;;;;;;;;;:8;2352:1;2343:11;;;;;;;;:::i;2511:144::-;2606:15;;;2619:1;2606:15;;;;;;;;;2559:26;;2606:15;;;;;;;;;;;;;;;;;;;;2593:28;;2627:23;;;;;;;;;;;;;;;;;:10;2638:1;2627:13;;;;;;;;:::i;2518:146:255:-;2613:15;;;2626:1;2613:15;;;;;;;;;2566:26;;2613:15;;;;;;;;;;;;;;;;;;;;2600:28;;2634:25;;;;;;;;;;;;;;;;;:10;2645:1;2634:13;;;;;;;;:::i;1893:207:256:-;1991:19;;;2008:1;1991:19;;;;;;;;;1942:6;;;;1991:19;;;;;;;;;;;;-1:-1:-1;1991:19:256;1956:54;;2034:17;2016:12;2029:1;2016:15;;;;;;;;:::i;2512:147::-;2607:15;;;2620:1;2607:15;;;;;;;;;2560:26;;2607:15;;;;;;;;;;;;;;;;;;;;2594:28;;2628:26;;;;;;;;;;;;;;;;;:10;2639:1;2628:13;;;;;;;;:::i;2513:144:289:-;2608:15;;;2621:1;2608:15;;;;;;;;;2561:26;;2608:15;;;;;;;;;;;;;;;;;;;;2595:28;;2629:23;;;;;;;;;;;;;;;;;:10;2640:1;2629:13;;;;;;;;:::i;1663:160:251:-;1757:19;;;1710:6;1757:19;;;;;;;;;1790:28;1807:10;1790:16;:28::i;1940:289::-;2038:19;;;2055:1;2038:19;;;;;;;;;1989:6;;;;2038:19;;;;;;;;;;;-1:-1:-1;2038:19:251;2003:54;;2081:17;2063:12;2076:1;2063:15;;;;;;;;:::i;:::-;;;;;;:35;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2122:17;2104:12;2117:1;2104:15;;;;;;;;:::i;:::-;;;;;;:35;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2163:17;2145:12;2158:1;2145:15;;;;;;;;:::i;2363:109::-;2452:15;;;2465:1;2452:15;;;;;;;;;2409:24;;2452:15;;;;;;;;;;;;;;;;;;;;2441:26;;2363:109;:::o;2612:204::-;2707:15;;;2720:1;2707:15;;;;;;;;;2660:26;;2707:15;;;;;;;;;;;;;;;;;;;;2694:28;;2728:22;;;;;;;;;;;;;;;;;:10;2739:1;2728:13;;;;;;;;:::i;:::-;;;;;;:22;;;;2756:24;;;;;;;;;;;;;;;;;:10;2767:1;2756:13;;;;;;;;:::i;:::-;;;;;;:24;;;;2786:25;;;;;;;;;;;;;;;;;:10;2797:1;2786:13;;;;;;;;:::i;1247:2059:123:-;1315:6;647:2:136;1333:7:123;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:123;;;;;;4210:25:307;;4198:2;4183:18;;4064:177;1375:39:123;;;;;;;;1329:85;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:136;2531::123;2527;437:2:136;2509:19:123;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:123;;1621:956;;;;902:1:136;2621:13:123;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:123;;;;;4210:25:307;;;4183:18;;2664:38:123;4064:177:307;2617:85:123;2802:14;;:30;;;537:1:136;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:123;;;3080:51;;;;;537:1:136;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:123;;;3137:57;;;;;537:1:136;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:123;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:123:o;1766:227:130:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:130:o;7479:1764:126:-;-1:-1:-1;;;7739:7:126;:35;;;;;;:83;;-1:-1:-1;7799:23:126;7778:7;:44;;;;7739:83;7735:209;;;-1:-1:-1;;;7894:7:126;7927;7910:25;;;;;;4713:19:307;;4757:2;4748:12;;4552:214;7910:25:126;;;;-1:-1:-1;;7910:25:126;;;;;;;;;;7839:98;;;;;;;;;;:::i;7735:209::-;7990:43;:11;8025:5;7990:20;:43::i;:::-;8074:40;:9;8107:4;8074:18;:40::i;:::-;8120:43;:11;8155:5;8120:20;:43::i;:::-;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8251:8:126;:15;:40;8247:148;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8372:15:126;;8308:80;;;;;;;;5415:25:307;;;;5456:18;;;5449:34;5388:18;;8308:80:126;5241:248:307;8247:148:126;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8445:10:126;:17;:44;8441:158;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8574:17:126;;8506:86;;;;;;;;5415:25:307;;;;5456:18;;;5449:34;5388:18;;8506:86:126;5241:248:307;8441:158:126;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8656:50:126;8652:171;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8723:93:126;;;;;;;;5415:25:307;;;;5456:18;;;5449:34;5388:18;;8723:93:126;5241:248:307;8652:171:126;8885:31;8908:7;8885:22;:31::i;:::-;8881:140;;;8971:7;9004;8987:25;;;;;;4713:19:307;;4757:2;4748:12;;4552:214;8987:25:126;;;;-1:-1:-1;;8987:25:126;;;;;;;;;;8933:81;;;;;;;;;:::i;8881:140::-;9062:103;9074:7;9083:11;9096:9;9107:11;9131:8;9120:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9153:10;9142:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9062:11;:103::i;:::-;9201:37;9224:7;9233:4;9201:22;:37::i;3195:520:107:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:107:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:107;;3195:520;-1:-1:-1;;3195:520:107:o;3592:121::-;-1:-1:-1;3707:1:107;;3195:520;-1:-1:-1;;3195:520:107:o;3592:121::-;3270:445;3195:520;;;:::o;6418:1197:109:-;6540:10;6539:11;:36;;;;-1:-1:-1;6022:45:109;;6554:21;6535:95;;;6584:46;;;;;6628:1;6584:46;;;4210:25:307;4183:18;;6584:46:109;4064:177:307;6535:95:109;6698:25;6726:30;:11;:28;:30::i;:::-;6698:58;;902:1:136;6766:17:109;:38;6762:113;;;6813:62;;;;;;;;4210:25:307;;;4183:18;;6813:62:109;4064:177:307;6762:113:109;6882:24;6909:29;:11;:27;:29::i;:::-;6882:56;-1:-1:-1;7013:23:109;7039:36;7058:17;6882:56;7039:36;:::i;:::-;7013:62;;647:2:136;7085:15:109;:34;7081:107;;;7128:60;;;;;;;;4210:25:307;;;4183:18;;7128:60:109;4064:177:307;7081:107:109;7236:9;7231:380;7251:16;7247:1;:20;7231:380;;;3996:93;4044:19;:27;;;537:1:136;4043:44:109;4009:79;;;3996:93;7279:24;7340:21;;;7336:230;;7380:50;;;;;;;;;;;;;;7336:230;334:2:136;7449:16:109;:28;7445:121;;;7496:61;;;;;;;;;;;;;;7445:121;-1:-1:-1;7593:3:109;;7231:380;;5689:1683:123;5796:10;5795:11;:31;;;;-1:-1:-1;6022:45:109;;5810:16:123;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:123;;5869:1;5835:36;;;4210:25:307;4183:18;;5835:36:123;4064:177:307;5791:80:123;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:136;5997:17:123;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:123;;;;;4210:25:307;;;4183:18;;6044:52:123;4064:177:307;5993:103:123;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:123;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:136;6296:15:123;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:123;;;;;4210:25:307;;;4183:18;;6339:50:123;4064:177:307;6292:97:123;6448:25;6479:26;6516:9;6511:551;6531:15;6527:1;:19;6511:551;;;6604:1;6562:39;:17;:6;6577:1;6562:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;:43;6558:459;;;6666:16;6661:1;:21;6657:82;;6691:48;;;;;;;;;;;;;;6657:82;6771:19;;;;;6558:459;;;6873:16;6869:1;:20;6865:81;;;6898:48;;;;;;;;;;;;;;6865:81;6978:20;;;;;6558:459;7044:3;;6511:551;;;;7135:16;7114:17;:37;7110:102;;7160:52;;-1:-1:-1;;;7160:52:123;;;;;4210:25:307;;;4183:18;;7160:52:123;4064:177:307;7110:102:123;7288:17;7266:18;:39;7262:105;;7314:53;;-1:-1:-1;;;7314:53:123;;;;;4210:25:307;;;4183:18;;7314:53:123;4064:177:307;3569:314:133;3683:16;;;3697:1;3683:16;;;;;;;;;3635:11;;;;3683:16;;;;;;;;;;;;-1:-1:-1;3683:16:133;3654:45;;3738:10;3705:9;3715:1;3705:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:133;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1098:22:133;6697:12:307;;;6690:101;1047:74:133;;;;;;;;;;6807:12:307;;1047:74:133;;-1:-1:-1;;3772:62:133;;1039:83;;;:::i;:::-;3807:9;3818:1;1234:66;3772:24;:62::i;:::-;3756:78;;3848:29;3869:5;3856:20;;1596:10:122;1487:126;3848:29:133;3840:38;3569:314;-1:-1:-1;;;;3569:314:133:o;20632:676:135:-;25186:53;;;;;;7672:19:307;;;7707:12;;;7700:28;;;25159:12:135;7744::307;;;7737:28;;;25186:53:135;;;;;;;;;;7781:12:307;;;;25186:53:135;;;20923:29;20955:55;20969:18;20989:20;20955:13;:55::i;:::-;20923:87;;21016:25;21044:55;21058:18;21078:20;21044:13;:55::i;:::-;21135:16;;;21149:1;21135:16;;;;;;;;;21016:83;;-1:-1:-1;21106:26:135;;21135:16;;;;;;;;;;;;-1:-1:-1;21135:16:135;21106:45;;21190:7;21157:9;21167:1;21157:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:135;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1198:17:135;6697:12:307;;;6690:101;1147:69:135;;;;;;;;;;6807:12:307;;1147:69:135;;21205:98;;1139:78;;;:::i;:::-;21235:9;21246:11;21259:15;21276:12;1324:66;21205:19;:98::i;:::-;20834:474;;;;20632:676;;;;;;:::o;4933:268:133:-;5033:16;;;5047:1;5033:16;;;;;;;;;5004:26;;5033:16;;;;;;;;;;;-1:-1:-1;5033:16:133;5004:45;;5088:10;5055:9;5065:1;5055:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:133;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1098:22:133;6697:12:307;;;6690:101;1047:74:133;;;;;;;;;;6807:12:307;;1047:74:133;;5106:90;;1039:83;;;:::i;:::-;5141:9;5152:1;5173:6;5155:26;;;;;;7343:14:307;7336:22;7331:3;7327:32;7315:45;;7385:1;7376:11;;7192:201;5155:26:133;;;;-1:-1:-1;;5155:26:133;;;;;;;;;1234:66;5106:24;:90::i;:::-;4998:203;4933:268;;:::o;5098:173:109:-;5172:7;537:1:136;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5208:11:109;5187:79;5200:65;;5187:79;;5098:173;-1:-1:-1;;5098:173:109:o;4700:171::-;4773:7;537:1:136;1425;1409:13;1421:1;334:2;1409:13;:::i;3948:206:123:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;:::-;4054:89;3948:206;-1:-1:-1;;;3948:206:123:o;35212:541:126:-;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:109;:27;537:1:136;4043:44:109;4009:79;;;3996:93;35676:63:126;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:126:o;25435:388:135:-;25743:32;;25777:34;;25561:29;;2377:5:121;;;785;2408:39;;;;2390:58;2489:23;2474:39;;;;2456:58;25721:91:135;2236:344:121;25988:234:135;26114:12;26165:18;26194:20;26141:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26134:83;;25988:234;;;;:::o;12721:3002:126:-;12994:7;12978:75;13003:8;13013:10;13025:14;13041:11;12978:75;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;13118:7:126;:35;;;13163:7;13114:62;13314:22;13339:24;13355:7;13339:15;:24::i;:::-;13314:49;;13374:9;13369:340;13389:5;:12;13385:1;:16;13369:340;;;13416:9;13438:5;13444:1;13438:8;;;;;;;;:::i;:::-;;;;;;;13416:31;;13459:33;343:6:138;13459:4:126;:14;;;;;:33;;;;:::i;:::-;13455:248;;;13504:190;;;;;3392:35:110;;;;;13504:47:126;;:190;;13563:7;;13582:8;;13602:10;;13624:14;;13650:11;;13673;;13504:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13455:248;-1:-1:-1;13403:3:126;;;;:::i;:::-;;;;13369:340;;;;13772:26;13801:59;13842:7;13851:8;13801:40;:59::i;:::-;13772:88;-1:-1:-1;13866:21:126;826:4:120;816:15;;13866:54:126;;13926:149;13964:18;13998:1;14022:13;14051:10;:17;13926:13;:149::i;:::-;14175:1;14142:30;:11;:28;:30::i;:::-;:34;14138:1174;;;14261:33;14297:66;14345:7;14354:8;14297:47;:66::i;:::-;579:28:125;;;14261:102:126;-1:-1:-1;826:4:120;816:15;;14537:47:126;;14693:27;14728:25;14766:7;14761:545;14779:30;:11;:28;:30::i;:::-;14775:1;:34;;;14761:545;;;14845:63;14887:7;14896:8;14906:1;14845:41;:63::i;:::-;14823:85;-1:-1:-1;14938:25:126;:14;14961:1;6743:16:121;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;14938:25:126;14918:45;;14973:170;15015:19;15054:1;15082:13;15115:17;14973:13;:170::i;:::-;15153:34;15170:17;15153:34;;:::i;:::-;;-1:-1:-1;15284:3:126;;14761:545;;;;14178:1134;;;14138:1174;15386:9;15381:338;15401:5;:12;15397:1;:16;15381:338;;;15428:9;15450:5;15456:1;15450:8;;;;;;;;:::i;:::-;;;;;;;15428:31;;15471:32;437:6:138;15471:4:126;:14;;;;;:32;;;;:::i;:::-;15467:246;;;15515:189;;;;;3392:35:110;;;;;15515:46:126;;:189;;15573:7;;15592:8;;15612:10;;15634:14;;15660:11;;15683;;15515:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15467:246;-1:-1:-1;15415:3:126;;;;:::i;:::-;;;;15381:338;;22277:355;22449:178;22483:7;22508:8;22538:63;22577:11;22590:10;22538:38;:63::i;:::-;22616:4;22449:16;:178::i;:::-;22277:355;;;;;:::o;49619:191::-;49721:7;49785;49794:8;49768:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49768:35:126;;;;;;;;;49758:46;;49768:35;49758:46;;;;41226:22;49751:53;;49619:191;-1:-1:-1;;;49619:191:126:o;50636:242::-;50732:7;;;50771:84;50791:10;50787:14;;:1;:14;50771:84;;;50816:32;3996:93:109;4044:19;:27;;;537:1:136;4043:44:109;4009:79;;;3996:93;50816:32:126;;:::i;:::-;;-1:-1:-1;50803:3:126;;;;:::i;:::-;;;;50771:84;;;-1:-1:-1;50867:6:126;50636:242;-1:-1:-1;;;50636:242:126:o;8680:790:125:-;8778:14;8814:2;8804:6;:12;8800:112;;8873:2;8864:6;:11;8846:29;;;;8895:2;8885:12;;;;;;:::i;:::-;;;;8800:112;-1:-1:-1;9092:21:125;;9088:1;9076:14;;9072:42;9240:2;:11;;;9322:22;;;9318:148;;;9447:1;9431:14;9427:22;9421:29;9417:1;9402:13;9398:21;9394:57;9386:6;9383:69;9373:79;;8794:676;8680:790;;;;;:::o;4372:342:134:-;4488:16;;;4502:1;4488:16;;;;;;;;;4429:22;;4459:26;;4488:16;;;;;;;;;;;;-1:-1:-1;4488:16:134;4459:45;;4543:7;4510:9;4520:1;4510:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1047:73;;;-1:-1:-1;;;1047:73:134;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1098:21:134;6697:12:307;;;6690:101;1047:73:134;;;;;;;;;;6807:12:307;;1047:73:134;;-1:-1:-1;;4579:49:134;;1039:82;;;:::i;:::-;4615:9;4626:1;4579:25;:49::i;:::-;4558:70;;4642:66;:44;4663:5;4670:1;4673:5;:12;4642:20;:44::i;:::-;:64;:66::i;2891:136:110:-;2961:4;3013:9;2980:42;;2999:9;2981:15;2991:4;3790:26;;;3660:162;2981:15;:27;2980:42;;;2973:49;;2891:136;;;;:::o;1373:2326:125:-;1486:10;;1482:1491;;1639:2;1629:6;:12;1625:122;;1702:2;1693:6;:11;1675:29;;;;1726:2;1716:12;;;;;;:::i;:::-;;;;1625:122;1837:10;;1833:1134;;2045:2;:11;;;1919:21;-1:-1:-1;;1080:1:137;1067:14;;1045:37;1043:40;2077:31:125;;2277:1;2269:6;2265:14;2313:4;2302:9;2298:20;2290:28;;2368:13;2362:20;2351:9;2347:36;2329:54;;2616:4;2612:9;2595:14;2589:21;2585:37;2516:4;2504:10;2500:21;2443:193;2415:14;2395:253;;2707:13;2697:6;:23;2693:36;;2722:7;;;;2693:36;-1:-1:-1;2870:1:125;2852:19;;;;;2883:30;;;;2925:23;;1833:1134;3003:253;3020:2;3010:6;:12;3003:253;;3115:20;;3092:44;;3189:1;3171:19;;;;3217:2;3200:19;;;;-1:-1:-1;;3229:12:125;3003:253;;;3324:10;;3320:375;;3626:21;;3542:20;;-1:-1:-1;;1080:1:137;1067:14;;1045:37;3622::125;;;1043:40:137;;3538:31:125;3487:184;3443:238;;3320:375;1373:2326;;;;:::o;52184:230:126:-;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:126;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:126:o;51555:274::-;51699:7;51804;51813:8;51787:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51777:46;;;;;;51756:17;51749:25;;51729:45;;;41298:34;51729:45;:94;51721:103;;51714:110;;51555:274;;;;;:::o;16359:1506::-;16480:16;16499:59;16540:7;16549:8;16499:40;:59::i;:::-;16480:78;;16660:7;16616:100;16679:8;16696:5;16709:4;16616:100;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;16781:7:126;:35;;;16777:62;;16826:7;;;16777:62;16984:22;17009:24;17025:7;17009:15;:24::i;:::-;16984:49;;17044:9;17039:328;17059:5;:12;17055:1;:16;17039:328;;;17086:9;17108:5;17114:1;17108:8;;;;;;;;:::i;:::-;;;;;;;17086:31;;17129:41;548:6:138;17129:4:126;:14;;;;;:41;;;;:::i;:::-;17125:236;;;17182:170;;;;;3392:35:110;;;;;17182:54:126;;:170;;17258:7;;17287:8;;17314:5;;17337:4;;17182:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17125:236;-1:-1:-1;17073:3:126;;;;:::i;:::-;;;;17039:328;;;;17416:70;17448:8;17466:5;17416:70;;17479:4;17416:13;:70::i;:::-;17540:9;17535:326;17555:5;:12;17551:1;:16;17535:326;;;17582:9;17604:5;17610:1;17604:8;;;;;;;;:::i;:::-;;;;;;;17582:31;;17625:40;657:6:138;17625:4:126;:14;;;;;:40;;;;:::i;:::-;17621:234;;;17677:169;;;;;3392:35:110;;;;;17677:53:126;;:169;;17752:7;;17781:8;;17808:5;;17831:4;;17677:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17621:234;-1:-1:-1;17569:3:126;;;;:::i;:::-;;;;17535:326;;36221:522;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:121;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:126;36728:1;36481:12;:257::i;2022:570:124:-;2113:5;2211:3;2202:5;:12;;:34;;;;;2225:4;:11;2218:3;:18;;2202:34;2196:85;;2264:4;2270:5;2277:3;2246:35;;;;;;;;;;;;;:::i;2196:85::-;2349:4;2339:15;;2396:17;2408:5;2339:15;2396:17;:::i;:::-;;-1:-1:-1;2419:12:124;2434:11;2440:5;2434:3;:11;:::i;:::-;643:17;2570:15;2562:3;2550:15;;;;2549:37;;;;;;-1:-1:-1;;;;;2022:570:124:o;40037:220:140:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;850:162:125:-;939:68;945:14;961:6;826:4:120;816:15;;995:4:125;:11;939:5;:68::i;52752:301:126:-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:125;;4466:137;4903:665;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;5234:14:125;5403:26;;;5234:14;5230:28;5375:4;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;2631:1127:142:-;2751:22;2781:21;2805;:11;2946:3:124;2924:25;;2850:104;2805:21:142;2781:45;-1:-1:-1;643:17:124;3187:38;;2832:20:142;2994:11;3187:38:124;2994:11:142;2979:26;;;;:::i;:::-;;2965:40;;3114:4;3108:11;3099:20;;3157:4;3150:5;3146:16;3217:2;3204:11;3200:20;3186:12;3182:39;3176:4;3169:53;3265:11;3258:5;3251:26;3308:1;3285:463;3324:11;3321:1;3318:18;3285:463;;;3718:20;;3697:42;;3676:64;;3590:31;;;;3503:4;3485:23;;;;3411:1;3404:9;3285:463;;;3289:28;;3066:688;;;2631:1127;;;;;:::o;5933:2258:125:-;6050:10;;6046:1421;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1064;;6609:2;:11;;;6483:21;-1:-1:-1;;1080:1:137;1067:14;;1045:37;1043:40;6641:38:125;;6863:14;6857:21;6853:1;6845:6;6841:14;6837:42;7110:4;7106:9;7090:13;7084:20;7080:36;7011:4;6999:10;6995:21;6938:192;6911:13;6891:251;;7201:13;7191:6;:23;7187:36;;7216:7;;;;7187:36;-1:-1:-1;7364:1:125;7346:19;;;;;7419:23;;;;;7377:30;6397:1064;7496:253;7513:2;7503:6;:12;7496:253;;7607:21;;7585:44;;7682:1;7664:19;;;;-1:-1:-1;;7722:12:125;;;;7710:2;7693:19;7496:253;;;7817:10;;7813:374;;7837:12;-1:-1:-1;;1080:1:137;1067:14;;1045:37;1043:40;8119:20:125;;8034:21;;8030:32;;8141:9;;8115:36;7979:184;7936:237;;-1:-1:-1;5933:2258:125;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;14:558:307:-;102:6;110;163:2;151:9;142:7;138:23;134:32;131:52;;;179:1;176;169:12;131:52;218:9;205:23;268:42;261:5;257:54;250:5;247:65;237:93;;326:1;323;316:12;237:93;349:5;-1:-1:-1;406:2:307;391:18;;378:32;454:66;441:80;;429:93;;419:121;;536:1;533;526:12;419:121;559:7;549:17;;;14:558;;;;;:::o;1015:184::-;-1:-1:-1;;;1064:1:307;1057:88;1164:4;1161:1;1154:15;1188:4;1185:1;1178:15;1204:125;1269:9;;;1290:10;;;1287:36;;;1303:18;;:::i;1523:184::-;-1:-1:-1;;;1572:1:307;1565:88;1672:4;1669:1;1662:15;1696:4;1693:1;1686:15;1712:184;-1:-1:-1;;;1761:1:307;1754:88;1861:4;1858:1;1851:15;1885:4;1882:1;1875:15;1901:250;1986:1;1996:113;2010:6;2007:1;2004:13;1996:113;;;2086:11;;;2080:18;2067:11;;;2060:39;2032:2;2025:10;1996:113;;;-1:-1:-1;;2143:1:307;2125:16;;2118:27;1901:250::o;2156:330::-;2198:3;2236:5;2230:12;2263:6;2258:3;2251:19;2279:76;2348:6;2341:4;2336:3;2332:14;2325:4;2318:5;2314:16;2279:76;:::i;:::-;2400:2;2388:15;-1:-1:-1;;2384:88:307;2375:98;;;;2475:4;2371:109;;2156:330;-1:-1:-1;;2156:330:307:o;2491:651::-;2543:3;2574;2606:5;2600:12;2633:6;2628:3;2621:19;2659:4;2688:2;2683:3;2679:12;2672:19;;2744:2;2734:6;2731:1;2727:14;2720:5;2716:26;2712:35;2781:2;2774:5;2770:14;2802:1;2812:304;2826:6;2823:1;2820:13;2812:304;;;-1:-1:-1;;2901:5:307;2895:4;2891:16;2887:89;2882:3;2875:102;2998:38;3031:4;3022:6;3016:13;2998:38;:::i;:::-;3094:12;;;;2990:46;-1:-1:-1;3059:15:307;;;;2848:1;2841:9;2812:304;;;-1:-1:-1;3132:4:307;;2491:651;-1:-1:-1;;;;;;;2491:651:307:o;3147:912::-;3677:6;3666:9;3659:25;3720:6;3715:2;3704:9;3700:18;3693:34;3763:6;3758:2;3747:9;3743:18;3736:34;3806:6;3801:2;3790:9;3786:18;3779:34;3850:3;3844;3833:9;3829:19;3822:32;3640:4;3877:56;3928:3;3917:9;3913:19;3905:6;3877:56;:::i;:::-;3982:9;3974:6;3970:22;3964:3;3953:9;3949:19;3942:51;4010:43;4046:6;4038;4010:43;:::i;:::-;4002:51;3147:912;-1:-1:-1;;;;;;;;;3147:912:307:o;4246:128::-;4313:9;;;4334:11;;;4331:37;;;4348:18;;:::i;4379:168::-;4452:9;;;4483;;4500:15;;;4494:22;;4480:37;4470:71;;4521:18;;:::i;4771:465::-;5018:66;5010:6;5006:79;4995:9;4988:98;5122:6;5117:2;5106:9;5102:18;5095:34;5165:2;5160;5149:9;5145:18;5138:30;4969:4;5185:45;5226:2;5215:9;5211:18;5203:6;5185:45;:::i;5494:323::-;5703:6;5692:9;5685:25;5746:2;5741;5730:9;5726:18;5719:30;5666:4;5766:45;5807:2;5796:9;5792:18;5784:6;5766:45;:::i;5822:280::-;6021:2;6010:9;6003:21;5984:4;6041:55;6092:2;6081:9;6077:18;6069:6;6041:55;:::i;6830:357::-;6948:12;;6995:4;6984:16;;;6978:23;;6948:12;7013:16;;7010:171;;;-1:-1:-1;;7087:4:307;7083:17;;;;7080:1;7076:25;7072:98;7061:110;;6830:357;-1:-1:-1;6830:357:307:o;7804:492::-;7979:3;8017:6;8011:13;8033:66;8092:6;8087:3;8080:4;8072:6;8068:17;8033:66;:::i;:::-;8162:13;;8121:16;;;;8184:70;8162:13;8121:16;8231:4;8219:17;;8184:70;:::i;:::-;8270:20;;7804:492;-1:-1:-1;;;;7804:492:307:o;8301:435::-;8354:3;8392:5;8386:12;8419:6;8414:3;8407:19;8445:4;8474:2;8469:3;8465:12;8458:19;;8511:2;8504:5;8500:14;8532:1;8542:169;8556:6;8553:1;8550:13;8542:169;;;8617:13;;8605:26;;8651:12;;;;8686:15;;;;8578:1;8571:9;8542:169;;;-1:-1:-1;8727:3:307;;8301:435;-1:-1:-1;;;;;8301:435:307:o;8741:691::-;9075:3;9064:9;9057:22;9038:4;9102:57;9154:3;9143:9;9139:19;9131:6;9102:57;:::i;:::-;9207:9;9199:6;9195:22;9190:2;9179:9;9175:18;9168:50;9241:33;9267:6;9259;9241:33;:::i;:::-;9227:47;;9310:6;9305:2;9294:9;9290:18;9283:34;9365:9;9357:6;9353:22;9348:2;9337:9;9333:18;9326:50;9393:33;9419:6;9411;9393:33;:::i;:::-;9385:41;8741:691;-1:-1:-1;;;;;;;8741:691:307:o;9437:900::-;9892:6;9881:9;9874:25;9935:3;9930:2;9919:9;9915:18;9908:31;9855:4;9962:57;10014:3;10003:9;9999:19;9991:6;9962:57;:::i;:::-;10067:9;10059:6;10055:22;10050:2;10039:9;10035:18;10028:50;10101:33;10127:6;10119;10101:33;:::i;:::-;10087:47;;10170:6;10165:2;10154:9;10150:18;10143:34;10226:9;10218:6;10214:22;10208:3;10197:9;10193:19;10186:51;10254:33;10280:6;10272;10254:33;:::i;:::-;10246:41;;;10324:6;10318:3;10307:9;10303:19;10296:35;9437:900;;;;;;;;;:::o;10342:195::-;10381:3;-1:-1:-1;;10405:5:307;10402:77;10399:103;;10482:18;;:::i;:::-;-1:-1:-1;10529:1:307;10518:13;;10342:195::o;10542:640::-;10793:6;10788:3;10781:19;10763:3;10819:2;10852;10847:3;10843:12;10884:6;10878:13;10949:2;10941:6;10937:15;10970:1;10980:175;10994:6;10991:1;10988:13;10980:175;;;11057:13;;11043:28;;11093:14;;;;11130:15;;;;11016:1;11009:9;10980:175;;;-1:-1:-1;11171:5:307;;10542:640;-1:-1:-1;;;;;;;10542:640:307:o;11187:184::-;-1:-1:-1;;;11236:1:307;11229:88;11336:4;11333:1;11326:15;11360:4;11357:1;11350:15;11376:512;11627:2;11616:9;11609:21;11590:4;11653:56;11705:2;11694:9;11690:18;11682:6;11653:56;:::i;:::-;11757:14;11749:6;11745:27;11740:2;11729:9;11725:18;11718:55;11821:9;11813:6;11809:22;11804:2;11793:9;11789:18;11782:50;11849:33;11875:6;11867;11849:33;:::i;:::-;11841:41;11376:512;-1:-1:-1;;;;;;11376:512:307:o;11893:617::-;12204:6;12193:9;12186:25;12247:3;12242:2;12231:9;12227:18;12220:31;12167:4;12274:57;12326:3;12315:9;12311:19;12303:6;12274:57;:::i;:::-;12379:14;12371:6;12367:27;12362:2;12351:9;12347:18;12340:55;12443:9;12435:6;12431:22;12426:2;12415:9;12411:18;12404:50;12471:33;12497:6;12489;12471:33;:::i;12515:360::-;12718:2;12707:9;12700:21;12681:4;12738:45;12779:2;12768:9;12764:18;12756:6;12738:45;:::i;:::-;12814:2;12799:18;;12792:34;;;;-1:-1:-1;12857:2:307;12842:18;12835:34;12730:53;12515:360;-1:-1:-1;12515:360:307:o","linkReferences":{}},"methodIdentifiers":{"register(address,bytes14)":"472466c2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"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\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"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\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":\"PackedCounter\",\"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\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract IBaseWorld\",\"name\":\"world\",\"type\":\"address\"},{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"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_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\":{},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"register(address,bytes14)\":{\"notice\":\"Register systems and tables for a new ERC721 token in a given namespace\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc721-puppet/ERC721Module.sol\":\"ERC721ModuleRegistrationLibrary\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648\",\"dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0xebe8f1d4a86bcd052afe19773cc5b48da49a7742033c2cc6f06c17a20be907b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20dd17dc78d0aff086ae0b80823cdc8544cdef4b545ec58303a1a8ef19c5372c\",\"dweb:/ipfs/QmdTBo4xSMEQAQoae5o2L2DB7yGBv9TmzZwR3LmUjynEY9\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883\",\"dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5\",\"dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198\",\"dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac\",\"dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93\",\"dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae\",\"dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1\",\"dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/erc721-puppet/ERC721Module.sol\":{\"keccak256\":\"0x0a60a350f120f2ee8387410ab890362e09de4dc629f04f542c0f029e93ebedcf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2f278946b0005962727cebc99f992ac0cba1ae52a47c9832178cb5d7a10211d\",\"dweb:/ipfs/Qme3uYvHqGLdepDziSiaL4SCCWsEeZggV9d2qwHR3YuFDe\"]},\"src/modules/erc721-puppet/ERC721System.sol\":{\"keccak256\":\"0x39cd970252dc3c59df2290b22a8b9f7b335f51bb15f9e24d810bf5e634f50235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a357ea36bab59200ccb5dfc9f484e1794c213bede5c220c18250c34de1d4ecf\",\"dweb:/ipfs/Qmf7SLaw7NEtNSAWRPhqTBxR1mKi7MhzxKTtGq73RPS4dh\"]},\"src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0xece8034b2f4d2fea1adf2fc3bed59fb3db574250f0454f87706a2de3cdc297c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://628276baff68bbcc9bc8ae577e10399401274e3ab12b8923f8f2aa96089a6250\",\"dweb:/ipfs/QmVdujDhoWHFHYuxZ4btB6nzTBvakpKgkoadBJN3iBkyyJ\"]},\"src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0x10aa9dfd2bb131b1a7a24eaff4fcac3676b06564b2002fd7fe02f70338d776b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://726bff91b12f6bfc02a636feee5965ec04bb6eac838ec2d9287e8c2a6a6cd276\",\"dweb:/ipfs/QmX3w6VmRhMRSUrYZCDAqmEkoC4WtNnCeshCBdV2A5jYx6\"]},\"src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0xa7d69b40c86ba641f56d01ed63a633363c74e90c1919781ad67afc93c5d3e8e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21e8bf89857c4fa44d4aafb491b5269f76043669b34e63cbb2fe103d3e5df5bb\",\"dweb:/ipfs/QmT55QTWBwM3V7gF2zCx4HVdkY7Tbm9JvsMgP9Zny9Lra5\"]},\"src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0x8017469d5a084c996946085ec7d6cf2341be04bc97833df1fab0e6960b8f9d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://485836c34d4e2d600709546f3c4542d04b5fed27d975834666e7434f954ab03c\",\"dweb:/ipfs/QmPQ8Mydi7qZarueKkeQ8kt9bcCQcEPTgiRCGzkhwsQiru\"]},\"src/modules/erc721-puppet/IERC721Receiver.sol\":{\"keccak256\":\"0xd9278f007d3408f834303b317a5a54b01f6d5d4c70891953b94b012c2f9b2973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfcf8fedd56229600ce0b522734c41146c5f1e73e92069404d70b2929d8dc74\",\"dweb:/ipfs/QmcutxkWBafrikCorV8avuWTJHFQPZ3N3j4ojN8aLZBCB1\"]},\"src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xd6a6ca3b2446fbcde45f5c3608067bfc4c663b0eb529d39eb8bc61c5087297fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68b98113bc18bfce66df4f7c26576dadd950f2c76b1c91de169909d502a0275b\",\"dweb:/ipfs/QmWaxgDwJTSaVjYMSDhLvX2boHg6T3XxiysvoRZwxVhqbg\"]},\"src/modules/erc721-puppet/tables/ERC721Metadata.sol\":{\"keccak256\":\"0xec2e7a95c1f4f0da01dc8b5d48e68a8af19709f5d11b647b6ddcf86ccd9d2bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a09475a7bd0948a7425bd0d58196a6a5e348c7400f05faa77ddef68d9965508c\",\"dweb:/ipfs/QmeRzT8ZR2wvvHDFup4a8ikgR6roWWfEsk4zqiPxATLMCE\"]},\"src/modules/erc721-puppet/tables/ERC721Registry.sol\":{\"keccak256\":\"0x58bb7eaebcb7707fd6e8cdcd554b4bbab87cdcac7832f93b9a93f12a0745d511\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66748f7bd23ad77b43fa3f89117e5edcd3fcd0dd544d02b2f7c18194b5ab13e5\",\"dweb:/ipfs/QmU99wDHRNBAYue7ECg6Q7TNxpTzKyQTA1i8SwQuAfxhXP\"]},\"src/modules/erc721-puppet/tables/OperatorApproval.sol\":{\"keccak256\":\"0xc319e035373d2d0cc0abb10a4afc81f079904fb95bafac106c902b5f872b2b7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3c13884520ac0a06fd0e9b6f50dc270f1e5f533d27c96dc80654349fce5be9\",\"dweb:/ipfs/QmV8H5VESLcAhqz8kD4sUJPt8aoe8hn2HSostQaKX9S3hi\"]},\"src/modules/erc721-puppet/tables/Owners.sol\":{\"keccak256\":\"0x19e5ff2c5dd25fccc4cb99428f8e72841b4356ea1714689ad70ba0a0a6fe91ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://757970e385af7799bcbf522ad687212061b9294074dc0d7c46cf155195cf8695\",\"dweb:/ipfs/QmPjTdozvgRQuH7kLWPMnhCP6HVy27BbuDwDoYa6mDEjqV\"]},\"src/modules/erc721-puppet/tables/TokenApproval.sol\":{\"keccak256\":\"0x3bdfa8047556e6acf57cb6b5498698734d48f698166d97de55914cfd46a7addd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b28f1ada7a1aae3445cf3cede5bbc4849e66042f6fedff1579c713e3c7ea15b\",\"dweb:/ipfs/QmXBaBfQ82gsD3sRtwQEY6oXxznLGH7tfgf2ukjKjbs4qf\"]},\"src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x6749197d53e7c8e24287e3986feb29edf258d0c94303f6c48a5fe34f0ad3393c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9cf7dce9cac2b303f086efd42f564e53c38174f85cb691699ec38b3bd45be17\",\"dweb:/ipfs/QmWJYzEMvXyi6fP6CUW24zErobXAwqhtaXhTg4JMR6maAe\"]},\"src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0x98362b9233e8199e9b7219a63076cb515ee361a65950c2aad9967e6ae0eb9b63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4bd453dc5f5ccd41cfb4f3950c0693d1c5092c2881f7f6dae3df57cb77e696\",\"dweb:/ipfs/QmNU7GRhvYeibv7UbMMJ9tUKbFwR8H98jKYuKVX8SiXQDm\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x8933512836ec527a90f1fd44cf01870b302cd5f080d1dc9f64ea11c41e46d2ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://854b7887821c26da985de13e8fb476bd8bd52c411284793789d19d34d9112f3b\",\"dweb:/ipfs/QmcHweSL5z6Mwro4dm4sLnzy7WmzdZud5yW7KQ36mnZTYD\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0x8ba3488fee9e5503fa77b39609cfa2eed78be87636ada50e99094b0edc5a79e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08214be4e0315011bb8c675c955f560865687d9129be342ab420bbb5d123f37b\",\"dweb:/ipfs/QmXFbsptKuD6fxKhhb7FatDBRE4seDnmefNB2WG6MEHHmW\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0x47fc8ab186eba9b965c8cde4ff814eb9973302cbe1de6ee96f4539b62278fd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04eb1f7b3d964cefef88285546dbcbdc4f1c4e03d2364d37cdda5c79f9d9bb5a\",\"dweb:/ipfs/QmddEmBYqWtnd63FCZgnHz2ukk1ZFTwLv2bMkVYwsXTG5t\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0x7f94270573d344a1aea188e3920acab0f6c3befe9e7f27a1759df091f73db9e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc35076fb222a6e77a6968ef62856db69c4bb757f83f9849fe6abd8bb983002f\",\"dweb:/ipfs/QmVKRXYS1Xj1ckMZg6i9XPp8LbE4BXR8GL2XBfiFvnPnk9\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0xb5379ef41cc6ab6a27bc8bee21f73094ecccd7af0b54e61bf7180b04dd828207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7edb00d3c48110499790cc93573b3d4e7626a7d56c7243a57d0cbe2b1b86d449\",\"dweb:/ipfs/QmU9c1n3vftuRM4WjSmBhodZvSKwfovvzakdre2AYQTrur\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x3ec80fa8b953772490089a2ec073109f4e06bdcb12ddc4f6501384340f64232e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ecfe683e78efc41c21ed5be647cb4654ccdbf38f8ef4358067f87b39dc997c\",\"dweb:/ipfs/QmTrt6U6BnykBBJqVmHQkgAxEcqZ6X5LHDQZgWVGVPR1X3\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0xe746e9170bee8f229554971e2ebdeda0ac4b4d342f92c711a9c22882c0ebe4f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e8ba2b16545929f480da8b5d6980fe5f92bb87b7b09178b5236aeede72a7436\",\"dweb:/ipfs/QmUT9HGrXJB1jiyFW14kqGGGb8v86w2UscWuzWWfcmPTuE\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x725bf79655d814b0b04e2f64a8eb3a01dbd87cebf6c9674fb656363cc72c6e66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6efcc323f7cdf8e0d284dafe714f9dd922d63c747e9a34d6e71473943b50805c\",\"dweb:/ipfs/QmcxA7uqyhAV7m3svQstVhsjvLYbcgUq1nQCk7vqACAsQf\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x1a5efec938f8f444e25499f55c11782e2f8425ecb4bb7642b3e4d89ef5c94283\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8cc1696ae88061b5b469111ee6bd4c25919756d3c85e2830a92dd7a344bda8d\",\"dweb:/ipfs/QmNZKrU7NkRHmvvm98kaLYFusEmH3e7sJdCwciuUWzCCxe\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xb31878bda3f249c941719f6aa743bc739701418ed3effd2b5e6b4f28219e3f88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a56bea3221f0663c35375beea4803b0d4ebc7e004828b89ef72c0cfec8e009e0\",\"dweb:/ipfs/QmPNZig8c2ou4uZFMjotG1CGT3ZcTU2aCt3C2RTSLkx3w8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType"},{"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":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"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":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":"PackedCounter","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":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"contract IBaseWorld","name":"world","type":"address"},{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"stateMutability":"nonpayable","type":"function","name":"register"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"register(address,bytes14)":{"notice":"Register systems and tables for a new ERC721 token in a given namespace"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc721-puppet/ERC721Module.sol":"ERC721ModuleRegistrationLibrary"},"libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558","urls":["bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4","dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0","urls":["bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba","dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd","urls":["bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18","dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e","urls":["bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e","dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb","urls":["bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0","dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed","urls":["bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d","dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32","urls":["bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c","dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5","urls":["bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648","dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180","urls":["bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534","dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0xebe8f1d4a86bcd052afe19773cc5b48da49a7742033c2cc6f06c17a20be907b9","urls":["bzz-raw://20dd17dc78d0aff086ae0b80823cdc8544cdef4b545ec58303a1a8ef19c5372c","dweb:/ipfs/QmdTBo4xSMEQAQoae5o2L2DB7yGBv9TmzZwR3LmUjynEY9"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581","urls":["bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883","dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db","urls":["bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510","dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500","urls":["bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d","dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719","urls":["bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5","dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc","urls":["bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8","dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol":{"keccak256":"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57","urls":["bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b","dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c","urls":["bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198","dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d","urls":["bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac","dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60","urls":["bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93","dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d","urls":["bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae","dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9","urls":["bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1","dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"},"src/modules/erc721-puppet/ERC721Module.sol":{"keccak256":"0x0a60a350f120f2ee8387410ab890362e09de4dc629f04f542c0f029e93ebedcf","urls":["bzz-raw://c2f278946b0005962727cebc99f992ac0cba1ae52a47c9832178cb5d7a10211d","dweb:/ipfs/Qme3uYvHqGLdepDziSiaL4SCCWsEeZggV9d2qwHR3YuFDe"],"license":"MIT"},"src/modules/erc721-puppet/ERC721System.sol":{"keccak256":"0x39cd970252dc3c59df2290b22a8b9f7b335f51bb15f9e24d810bf5e634f50235","urls":["bzz-raw://4a357ea36bab59200ccb5dfc9f484e1794c213bede5c220c18250c34de1d4ecf","dweb:/ipfs/Qmf7SLaw7NEtNSAWRPhqTBxR1mKi7MhzxKTtGq73RPS4dh"],"license":"MIT"},"src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0xece8034b2f4d2fea1adf2fc3bed59fb3db574250f0454f87706a2de3cdc297c5","urls":["bzz-raw://628276baff68bbcc9bc8ae577e10399401274e3ab12b8923f8f2aa96089a6250","dweb:/ipfs/QmVdujDhoWHFHYuxZ4btB6nzTBvakpKgkoadBJN3iBkyyJ"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0x10aa9dfd2bb131b1a7a24eaff4fcac3676b06564b2002fd7fe02f70338d776b2","urls":["bzz-raw://726bff91b12f6bfc02a636feee5965ec04bb6eac838ec2d9287e8c2a6a6cd276","dweb:/ipfs/QmX3w6VmRhMRSUrYZCDAqmEkoC4WtNnCeshCBdV2A5jYx6"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0xa7d69b40c86ba641f56d01ed63a633363c74e90c1919781ad67afc93c5d3e8e7","urls":["bzz-raw://21e8bf89857c4fa44d4aafb491b5269f76043669b34e63cbb2fe103d3e5df5bb","dweb:/ipfs/QmT55QTWBwM3V7gF2zCx4HVdkY7Tbm9JvsMgP9Zny9Lra5"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0x8017469d5a084c996946085ec7d6cf2341be04bc97833df1fab0e6960b8f9d83","urls":["bzz-raw://485836c34d4e2d600709546f3c4542d04b5fed27d975834666e7434f954ab03c","dweb:/ipfs/QmPQ8Mydi7qZarueKkeQ8kt9bcCQcEPTgiRCGzkhwsQiru"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Receiver.sol":{"keccak256":"0xd9278f007d3408f834303b317a5a54b01f6d5d4c70891953b94b012c2f9b2973","urls":["bzz-raw://acfcf8fedd56229600ce0b522734c41146c5f1e73e92069404d70b2929d8dc74","dweb:/ipfs/QmcutxkWBafrikCorV8avuWTJHFQPZ3N3j4ojN8aLZBCB1"],"license":"MIT"},"src/modules/erc721-puppet/constants.sol":{"keccak256":"0xd6a6ca3b2446fbcde45f5c3608067bfc4c663b0eb529d39eb8bc61c5087297fc","urls":["bzz-raw://68b98113bc18bfce66df4f7c26576dadd950f2c76b1c91de169909d502a0275b","dweb:/ipfs/QmWaxgDwJTSaVjYMSDhLvX2boHg6T3XxiysvoRZwxVhqbg"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Metadata.sol":{"keccak256":"0xec2e7a95c1f4f0da01dc8b5d48e68a8af19709f5d11b647b6ddcf86ccd9d2bdb","urls":["bzz-raw://a09475a7bd0948a7425bd0d58196a6a5e348c7400f05faa77ddef68d9965508c","dweb:/ipfs/QmeRzT8ZR2wvvHDFup4a8ikgR6roWWfEsk4zqiPxATLMCE"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Registry.sol":{"keccak256":"0x58bb7eaebcb7707fd6e8cdcd554b4bbab87cdcac7832f93b9a93f12a0745d511","urls":["bzz-raw://66748f7bd23ad77b43fa3f89117e5edcd3fcd0dd544d02b2f7c18194b5ab13e5","dweb:/ipfs/QmU99wDHRNBAYue7ECg6Q7TNxpTzKyQTA1i8SwQuAfxhXP"],"license":"MIT"},"src/modules/erc721-puppet/tables/OperatorApproval.sol":{"keccak256":"0xc319e035373d2d0cc0abb10a4afc81f079904fb95bafac106c902b5f872b2b7d","urls":["bzz-raw://7e3c13884520ac0a06fd0e9b6f50dc270f1e5f533d27c96dc80654349fce5be9","dweb:/ipfs/QmV8H5VESLcAhqz8kD4sUJPt8aoe8hn2HSostQaKX9S3hi"],"license":"MIT"},"src/modules/erc721-puppet/tables/Owners.sol":{"keccak256":"0x19e5ff2c5dd25fccc4cb99428f8e72841b4356ea1714689ad70ba0a0a6fe91ca","urls":["bzz-raw://757970e385af7799bcbf522ad687212061b9294074dc0d7c46cf155195cf8695","dweb:/ipfs/QmPjTdozvgRQuH7kLWPMnhCP6HVy27BbuDwDoYa6mDEjqV"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenApproval.sol":{"keccak256":"0x3bdfa8047556e6acf57cb6b5498698734d48f698166d97de55914cfd46a7addd","urls":["bzz-raw://7b28f1ada7a1aae3445cf3cede5bbc4849e66042f6fedff1579c713e3c7ea15b","dweb:/ipfs/QmXBaBfQ82gsD3sRtwQEY6oXxznLGH7tfgf2ukjKjbs4qf"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x6749197d53e7c8e24287e3986feb29edf258d0c94303f6c48a5fe34f0ad3393c","urls":["bzz-raw://f9cf7dce9cac2b303f086efd42f564e53c38174f85cb691699ec38b3bd45be17","dweb:/ipfs/QmWJYzEMvXyi6fP6CUW24zErobXAwqhtaXhTg4JMR6maAe"],"license":"MIT"},"src/modules/erc721-puppet/utils.sol":{"keccak256":"0x98362b9233e8199e9b7219a63076cb515ee361a65950c2aad9967e6ae0eb9b63","urls":["bzz-raw://fb4bd453dc5f5ccd41cfb4f3950c0693d1c5092c2881f7f6dae3df57cb77e696","dweb:/ipfs/QmNU7GRhvYeibv7UbMMJ9tUKbFwR8H98jKYuKVX8SiXQDm"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x8933512836ec527a90f1fd44cf01870b302cd5f080d1dc9f64ea11c41e46d2ab","urls":["bzz-raw://854b7887821c26da985de13e8fb476bd8bd52c411284793789d19d34d9112f3b","dweb:/ipfs/QmcHweSL5z6Mwro4dm4sLnzy7WmzdZud5yW7KQ36mnZTYD"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0x8ba3488fee9e5503fa77b39609cfa2eed78be87636ada50e99094b0edc5a79e0","urls":["bzz-raw://08214be4e0315011bb8c675c955f560865687d9129be342ab420bbb5d123f37b","dweb:/ipfs/QmXFbsptKuD6fxKhhb7FatDBRE4seDnmefNB2WG6MEHHmW"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0x47fc8ab186eba9b965c8cde4ff814eb9973302cbe1de6ee96f4539b62278fd85","urls":["bzz-raw://04eb1f7b3d964cefef88285546dbcbdc4f1c4e03d2364d37cdda5c79f9d9bb5a","dweb:/ipfs/QmddEmBYqWtnd63FCZgnHz2ukk1ZFTwLv2bMkVYwsXTG5t"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0x7f94270573d344a1aea188e3920acab0f6c3befe9e7f27a1759df091f73db9e5","urls":["bzz-raw://fc35076fb222a6e77a6968ef62856db69c4bb757f83f9849fe6abd8bb983002f","dweb:/ipfs/QmVKRXYS1Xj1ckMZg6i9XPp8LbE4BXR8GL2XBfiFvnPnk9"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0xb5379ef41cc6ab6a27bc8bee21f73094ecccd7af0b54e61bf7180b04dd828207","urls":["bzz-raw://7edb00d3c48110499790cc93573b3d4e7626a7d56c7243a57d0cbe2b1b86d449","dweb:/ipfs/QmU9c1n3vftuRM4WjSmBhodZvSKwfovvzakdre2AYQTrur"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x3ec80fa8b953772490089a2ec073109f4e06bdcb12ddc4f6501384340f64232e","urls":["bzz-raw://93ecfe683e78efc41c21ed5be647cb4654ccdbf38f8ef4358067f87b39dc997c","dweb:/ipfs/QmTrt6U6BnykBBJqVmHQkgAxEcqZ6X5LHDQZgWVGVPR1X3"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0xe746e9170bee8f229554971e2ebdeda0ac4b4d342f92c711a9c22882c0ebe4f4","urls":["bzz-raw://8e8ba2b16545929f480da8b5d6980fe5f92bb87b7b09178b5236aeede72a7436","dweb:/ipfs/QmUT9HGrXJB1jiyFW14kqGGGb8v86w2UscWuzWWfcmPTuE"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x725bf79655d814b0b04e2f64a8eb3a01dbd87cebf6c9674fb656363cc72c6e66","urls":["bzz-raw://6efcc323f7cdf8e0d284dafe714f9dd922d63c747e9a34d6e71473943b50805c","dweb:/ipfs/QmcxA7uqyhAV7m3svQstVhsjvLYbcgUq1nQCk7vqACAsQf"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0x1a5efec938f8f444e25499f55c11782e2f8425ecb4bb7642b3e4d89ef5c94283","urls":["bzz-raw://b8cc1696ae88061b5b469111ee6bd4c25919756d3c85e2830a92dd7a344bda8d","dweb:/ipfs/QmNZKrU7NkRHmvvm98kaLYFusEmH3e7sJdCwciuUWzCCxe"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xb31878bda3f249c941719f6aa743bc739701418ed3effd2b5e6b4f28219e3f88","urls":["bzz-raw://a56bea3221f0663c35375beea4803b0d4ebc7e004828b89ef72c0cfec8e009e0","dweb:/ipfs/QmPNZig8c2ou4uZFMjotG1CGT3ZcTU2aCt3C2RTSLkx3w8"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/modules/erc721-puppet/ERC721Module.sol","id":127692,"exportedSymbols":{"Balances":[156591],"ERC721Metadata":[131783],"ERC721MetadataData":[129378],"ERC721Module":[127619],"ERC721ModuleRegistrationLibrary":[127691],"ERC721Registry":[132541],"ERC721System":[128914],"ERC721_REGISTRY_TABLE_ID":[129243],"IBaseWorld":[96356],"InstalledModules":[98969],"MODULE_NAME":[129187],"MODULE_NAMESPACE":[129190],"MODULE_NAMESPACE_ID":[129204],"Module":[94903],"OperatorApproval":[133560],"Owners":[134348],"PUPPET_MODULE_NAME":[150956],"Puppet":[150648],"ResourceId":[82352],"ResourceIds":[87847],"TokenApproval":[135126],"TokenURI":[136981],"WorldResourceIdLib":[96164],"_balancesTableId":[137015],"_erc721SystemId":[137111],"_metadataTableId":[137031],"_operatorApprovalTableId":[137047],"_ownersTableId":[137063],"_tokenApprovalTableId":[137079],"_tokenUriTableId":[137095],"createPuppet":[151083]},"nodeType":"SourceUnit","src":"32:4268:241","nodes":[{"id":127375,"nodeType":"PragmaDirective","src":"32:25:241","nodes":[],"literals":["solidity",">=","0.8",".21"]},{"id":127377,"nodeType":"ImportDirective","src":"59:83:241","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol","file":"@latticexyz/store/src/codegen/tables/ResourceIds.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":87858,"symbolAliases":[{"foreign":{"id":127376,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87847,"src":"68:11:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127379,"nodeType":"ImportDirective","src":"143:66:241","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":82424,"symbolAliases":[{"foreign":{"id":127378,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82352,"src":"152:10:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127381,"nodeType":"ImportDirective","src":"210:58:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/Module.sol","file":"@latticexyz/world/src/Module.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":94904,"symbolAliases":[{"foreign":{"id":127380,"name":"Module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94903,"src":"219:6:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127383,"nodeType":"ImportDirective","src":"269:79:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":96286,"symbolAliases":[{"foreign":{"id":127382,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96164,"src":"278:18:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127385,"nodeType":"ImportDirective","src":"349:85:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","file":"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":96357,"symbolAliases":[{"foreign":{"id":127384,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96356,"src":"358:10:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127387,"nodeType":"ImportDirective","src":"435:93:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol","file":"@latticexyz/world/src/codegen/tables/InstalledModules.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":98970,"symbolAliases":[{"foreign":{"id":127386,"name":"InstalledModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98969,"src":"444:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127389,"nodeType":"ImportDirective","src":"530:46:241","nodes":[],"absolutePath":"src/modules/puppet/Puppet.sol","file":"../puppet/Puppet.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":150649,"symbolAliases":[{"foreign":{"id":127388,"name":"Puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150648,"src":"539:6:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127391,"nodeType":"ImportDirective","src":"577:58:241","nodes":[],"absolutePath":"src/modules/puppet/createPuppet.sol","file":"../puppet/createPuppet.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":151084,"symbolAliases":[{"foreign":{"id":127390,"name":"createPuppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":151083,"src":"586:12:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127393,"nodeType":"ImportDirective","src":"636:76:241","nodes":[],"absolutePath":"src/modules/puppet/constants.sol","file":"../puppet/constants.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":151017,"symbolAliases":[{"foreign":{"id":127392,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150956,"src":"645:11:241","typeDescriptions":{}},"local":"PUPPET_MODULE_NAME","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127395,"nodeType":"ImportDirective","src":"713:57:241","nodes":[],"absolutePath":"src/modules/tokens/tables/Balances.sol","file":"../tokens/tables/Balances.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":156592,"symbolAliases":[{"foreign":{"id":127394,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156591,"src":"722:8:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127400,"nodeType":"ImportDirective","src":"772:111:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/constants.sol","file":"./constants.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":129244,"symbolAliases":[{"foreign":{"id":127396,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129187,"src":"781:11:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127397,"name":"MODULE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129190,"src":"794:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127398,"name":"MODULE_NAMESPACE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129204,"src":"812:19:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127399,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"833:24:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127408,"nodeType":"ImportDirective","src":"884:165:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/utils.sol","file":"./utils.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":137112,"symbolAliases":[{"foreign":{"id":127401,"name":"_erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137111,"src":"893:15:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127402,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137015,"src":"910:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127403,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137031,"src":"928:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127404,"name":"_tokenUriTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137095,"src":"946:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127405,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137047,"src":"964:24:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127406,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137063,"src":"990:14:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127407,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137079,"src":"1006:21:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127410,"nodeType":"ImportDirective","src":"1050:50:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/ERC721System.sol","file":"./ERC721System.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":128915,"symbolAliases":[{"foreign":{"id":127409,"name":"ERC721System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128914,"src":"1059:12:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127412,"nodeType":"ImportDirective","src":"1102:65:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/OperatorApproval.sol","file":"./tables/OperatorApproval.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":133571,"symbolAliases":[{"foreign":{"id":127411,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133560,"src":"1111:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127414,"nodeType":"ImportDirective","src":"1168:45:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/Owners.sol","file":"./tables/Owners.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":134349,"symbolAliases":[{"foreign":{"id":127413,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134348,"src":"1177:6:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127416,"nodeType":"ImportDirective","src":"1214:59:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/TokenApproval.sol","file":"./tables/TokenApproval.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":135127,"symbolAliases":[{"foreign":{"id":127415,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135126,"src":"1223:13:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127418,"nodeType":"ImportDirective","src":"1274:49:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/TokenURI.sol","file":"./tables/TokenURI.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":136982,"symbolAliases":[{"foreign":{"id":127417,"name":"TokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136981,"src":"1283:8:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127420,"nodeType":"ImportDirective","src":"1324:61:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/ERC721Registry.sol","file":"./tables/ERC721Registry.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":132542,"symbolAliases":[{"foreign":{"id":127419,"name":"ERC721Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132541,"src":"1333:14:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127423,"nodeType":"ImportDirective","src":"1386:81:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/ERC721Metadata.sol","file":"./tables/ERC721Metadata.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":131784,"symbolAliases":[{"foreign":{"id":127421,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131783,"src":"1395:14:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127422,"name":"ERC721MetadataData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129378,"src":"1411:18:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127619,"nodeType":"ContractDefinition","src":"1469:2142:241","nodes":[{"id":127429,"nodeType":"ErrorDefinition","src":"1505:55:241","nodes":[],"errorSelector":"2ca07d84","name":"ERC721Module_InvalidNamespace","nameLocation":"1511:29:241","parameters":{"id":127428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127427,"mutability":"mutable","name":"namespace","nameLocation":"1549:9:241","nodeType":"VariableDeclaration","scope":127429,"src":"1541:17:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":127426,"name":"bytes14","nodeType":"ElementaryTypeName","src":"1541:7:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"1540:19:241"}},{"id":127438,"nodeType":"VariableDeclaration","src":"1564:86:241","nodes":[],"constant":false,"mutability":"immutable","name":"registrationLibrary","nameLocation":"1582:19:241","scope":127619,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127430,"name":"address","nodeType":"ElementaryTypeName","src":"1564:7:241","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":127435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1612:35:241","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC721ModuleRegistrationLibrary_$127691_$","typeString":"function () returns (contract ERC721ModuleRegistrationLibrary)"},"typeName":{"id":127434,"nodeType":"UserDefinedTypeName","pathNode":{"id":127433,"name":"ERC721ModuleRegistrationLibrary","nameLocations":["1616:31:241"],"nodeType":"IdentifierPath","referencedDeclaration":127691,"src":"1616:31:241"},"referencedDeclaration":127691,"src":"1616:31:241","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721ModuleRegistrationLibrary_$127691","typeString":"contract ERC721ModuleRegistrationLibrary"}}},"id":127436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:37:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721ModuleRegistrationLibrary_$127691","typeString":"contract ERC721ModuleRegistrationLibrary"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC721ModuleRegistrationLibrary_$127691","typeString":"contract ERC721ModuleRegistrationLibrary"}],"id":127432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1604:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":127431,"name":"address","nodeType":"ElementaryTypeName","src":"1604:7:241","typeDescriptions":{}}},"id":127437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1604:46:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":127447,"nodeType":"FunctionDefinition","src":"1655:87:241","nodes":[],"body":{"id":127446,"nodeType":"Block","src":"1713:29:241","nodes":[],"statements":[{"expression":{"id":127444,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129187,"src":"1726:11:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"functionReturnParameters":127443,"id":127445,"nodeType":"Return","src":"1719:18:241"}]},"baseFunctions":[94638],"functionSelector":"17d7de7c","implemented":true,"kind":"function","modifiers":[],"name":"getName","nameLocation":"1664:7:241","overrides":{"id":127440,"nodeType":"OverrideSpecifier","overrides":[],"src":"1686:8:241"},"parameters":{"id":127439,"nodeType":"ParameterList","parameters":[],"src":"1671:2:241"},"returnParameters":{"id":127443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":127447,"src":"1704:7:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":127441,"name":"bytes16","nodeType":"ElementaryTypeName","src":"1704:7:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"1703:9:241"},"scope":127619,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":127479,"nodeType":"FunctionDefinition","src":"1746:268:241","nodes":[],"body":{"id":127478,"nodeType":"Block","src":"1787:227:241","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":127464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":127452,"name":"PUPPET_MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150956,"src":"1862:18:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},{"arguments":[{"arguments":[{"hexValue":"30","id":127456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1902:1:241","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":127455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1892:9:241","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":127454,"name":"bytes","nodeType":"ElementaryTypeName","src":"1896:5:241","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":127457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:12:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":127453,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1882:9:241","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":127458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1882:23:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":127450,"name":"InstalledModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98969,"src":"1841:16:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_InstalledModules_$98969_$","typeString":"type(library InstalledModules)"}},"id":127451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1858:3:241","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":98537,"src":"1841:20:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes16_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes16,bytes32) view returns (address)"}},"id":127459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1841:65:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":127462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1918:1:241","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":127461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1910:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":127460,"name":"address","nodeType":"ElementaryTypeName","src":"1910:7:241","typeDescriptions":{}}},"id":127463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1910:10:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1841:79:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127477,"nodeType":"IfStatement","src":"1837:173:241","trueBody":{"id":127476,"nodeType":"Block","src":"1922:88:241","statements":[{"errorCall":{"arguments":[{"arguments":[{"arguments":[{"id":127471,"name":"PUPPET_MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150956,"src":"1982:18:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":127469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1969:5:241","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":127468,"name":"bytes","nodeType":"ElementaryTypeName","src":"1969:5:241","typeDescriptions":{}}},"id":127470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1975:6:241","memberName":"concat","nodeType":"MemberAccess","src":"1969:12:241","typeDescriptions":{"typeIdentifier":"t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":127472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1969:32:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":127467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1962:6:241","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":127466,"name":"string","nodeType":"ElementaryTypeName","src":"1962:6:241","typeDescriptions":{}}},"id":127473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1962:40:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":127465,"name":"Module_MissingDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94632,"src":"1937:24:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":127474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1937:66:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127475,"nodeType":"RevertStatement","src":"1930:73:241"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_requireDependencies","nameLocation":"1755:20:241","parameters":{"id":127448,"nodeType":"ParameterList","parameters":[],"src":"1775:2:241"},"returnParameters":{"id":127449,"nodeType":"ParameterList","parameters":[],"src":"1787:0:241"},"scope":127619,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":127609,"nodeType":"FunctionDefinition","src":"2018:1490:241","nodes":[],"body":{"id":127608,"nodeType":"Block","src":"2061:1447:241","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":127495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":127486,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129187,"src":"2158:11:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},{"arguments":[{"id":127488,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127481,"src":"2181:4:241","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":127487,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2171:9:241","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":127489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2171:15:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":127484,"name":"InstalledModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98969,"src":"2137:16:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_InstalledModules_$98969_$","typeString":"type(library InstalledModules)"}},"id":127485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2154:3:241","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":98537,"src":"2137:20:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes16_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes16,bytes32) view returns (address)"}},"id":127490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:50:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":127493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2199:1:241","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":127492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2191:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":127491,"name":"address","nodeType":"ElementaryTypeName","src":"2191:7:241","typeDescriptions":{}}},"id":127494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2191:10:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2137:64:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127500,"nodeType":"IfStatement","src":"2133:117:241","trueBody":{"id":127499,"nodeType":"Block","src":"2203:47:241","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":127496,"name":"Module_AlreadyInstalled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94628,"src":"2218:23:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":127497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2218:25:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127498,"nodeType":"RevertStatement","src":"2211:32:241"}]}},{"assignments":[127502,127505],"declarations":[{"constant":false,"id":127502,"mutability":"mutable","name":"namespace","nameLocation":"2285:9:241","nodeType":"VariableDeclaration","scope":127608,"src":"2277:17:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":127501,"name":"bytes14","nodeType":"ElementaryTypeName","src":"2277:7:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"},{"constant":false,"id":127505,"mutability":"mutable","name":"metadata","nameLocation":"2322:8:241","nodeType":"VariableDeclaration","scope":127608,"src":"2296:34:241","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_memory_ptr","typeString":"struct ERC721MetadataData"},"typeName":{"id":127504,"nodeType":"UserDefinedTypeName","pathNode":{"id":127503,"name":"ERC721MetadataData","nameLocations":["2296:18:241"],"nodeType":"IdentifierPath","referencedDeclaration":129378,"src":"2296:18:241"},"referencedDeclaration":129378,"src":"2296:18:241","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_storage_ptr","typeString":"struct ERC721MetadataData"}},"visibility":"internal"}],"id":127514,"initialValue":{"arguments":[{"id":127508,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127481,"src":"2345:4:241","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":127510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2352:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes14_$","typeString":"type(bytes14)"},"typeName":{"id":127509,"name":"bytes14","nodeType":"ElementaryTypeName","src":"2352:7:241","typeDescriptions":{}}},{"id":127511,"name":"ERC721MetadataData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129378,"src":"2361:18:241","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ERC721MetadataData_$129378_storage_ptr_$","typeString":"type(struct ERC721MetadataData storage pointer)"}}],"id":127512,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2351:29:241","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_bytes14_$_$_t_type$_t_struct$_ERC721MetadataData_$129378_storage_ptr_$_$","typeString":"tuple(type(bytes14),type(struct ERC721MetadataData storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_bytes14_$_$_t_type$_t_struct$_ERC721MetadataData_$129378_storage_ptr_$_$","typeString":"tuple(type(bytes14),type(struct ERC721MetadataData storage pointer))"}],"expression":{"id":127506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2334:3:241","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":127507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2338:6:241","memberName":"decode","nodeType":"MemberAccess","src":"2334:10:241","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":127513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2334:47:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes14_$_t_struct$_ERC721MetadataData_$129378_memory_ptr_$","typeString":"tuple(bytes14,struct ERC721MetadataData memory)"}},"nodeType":"VariableDeclarationStatement","src":"2276:105:241"},{"condition":{"commonType":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"id":127517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":127515,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2454:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":127516,"name":"MODULE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129190,"src":"2467:16:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"src":"2454:29:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127523,"nodeType":"IfStatement","src":"2450:97:241","trueBody":{"id":127522,"nodeType":"Block","src":"2485:62:241","statements":[{"errorCall":{"arguments":[{"id":127519,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2530:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127518,"name":"ERC721Module_InvalidNamespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127429,"src":"2500:29:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes14_$returns$__$","typeString":"function (bytes14) pure"}},"id":127520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2500:40:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127521,"nodeType":"RevertStatement","src":"2493:47:241"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":127524,"name":"_requireDependencies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127479,"src":"2581:20:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":127525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2581:22:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127526,"nodeType":"ExpressionStatement","src":"2581:22:241"},{"assignments":[127529],"declarations":[{"constant":false,"id":127529,"mutability":"mutable","name":"world","nameLocation":"2666:5:241","nodeType":"VariableDeclaration","scope":127608,"src":"2655:16:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"},"typeName":{"id":127528,"nodeType":"UserDefinedTypeName","pathNode":{"id":127527,"name":"IBaseWorld","nameLocations":["2655:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":96356,"src":"2655:10:241"},"referencedDeclaration":96356,"src":"2655:10:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"visibility":"internal"}],"id":127534,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":127531,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95789,"src":"2685:6:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":127532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2685:8:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":127530,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96356,"src":"2674:10:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBaseWorld_$96356_$","typeString":"type(contract IBaseWorld)"}},"id":127533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:20:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"nodeType":"VariableDeclarationStatement","src":"2655:39:241"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":127540,"name":"ERC721ModuleRegistrationLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127691,"src":"2748:31:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721ModuleRegistrationLibrary_$127691_$","typeString":"type(contract ERC721ModuleRegistrationLibrary)"}},"id":127541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2780:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":127690,"src":"2748:40:241","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$returns$__$","typeString":"function ERC721ModuleRegistrationLibrary.register(contract IBaseWorld,bytes14)"}},{"components":[{"id":127542,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127529,"src":"2791:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},{"id":127543,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2798:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"id":127544,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2790:18:241","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$","typeString":"tuple(contract IBaseWorld,bytes14)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$returns$__$","typeString":"function ERC721ModuleRegistrationLibrary.register(contract IBaseWorld,bytes14)"},{"typeIdentifier":"t_tuple$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$","typeString":"tuple(contract IBaseWorld,bytes14)"}],"expression":{"id":127538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2733:3:241","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":127539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2737:10:241","memberName":"encodeCall","nodeType":"MemberAccess","src":"2733:14:241","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":127545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2733:76:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":127535,"name":"registrationLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127438,"src":"2700:19:241","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":127537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2720:12:241","memberName":"delegatecall","nodeType":"MemberAccess","src":"2700:32:241","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":127546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2700:110:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"id":127547,"nodeType":"ExpressionStatement","src":"2700:110:241"},{"expression":{"arguments":[{"arguments":[{"id":127552,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2884:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127551,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137031,"src":"2867:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2867:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"id":127554,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127505,"src":"2896:8:241","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_memory_ptr","typeString":"struct ERC721MetadataData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_memory_ptr","typeString":"struct ERC721MetadataData memory"}],"expression":{"id":127548,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131783,"src":"2848:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$131783_$","typeString":"type(library ERC721Metadata)"}},"id":127550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2863:3:241","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":131410,"src":"2848:18:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_struct$_ERC721MetadataData_$129378_memory_ptr_$returns$__$","typeString":"function (ResourceId,struct ERC721MetadataData memory)"}},"id":127555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2848:57:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127556,"nodeType":"ExpressionStatement","src":"2848:57:241"},{"assignments":[127559],"declarations":[{"constant":false,"id":127559,"mutability":"mutable","name":"erc721SystemId","nameLocation":"2969:14:241","nodeType":"VariableDeclaration","scope":127608,"src":"2958:25:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},"typeName":{"id":127558,"nodeType":"UserDefinedTypeName","pathNode":{"id":127557,"name":"ResourceId","nameLocations":["2958:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":82352,"src":"2958:10:241"},"referencedDeclaration":82352,"src":"2958:10:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"visibility":"internal"}],"id":127563,"initialValue":{"arguments":[{"id":127561,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"3002:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127560,"name":"_erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137111,"src":"2986:15:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2986:26:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"2958:54:241"},{"assignments":[127565],"declarations":[{"constant":false,"id":127565,"mutability":"mutable","name":"puppet","nameLocation":"3026:6:241","nodeType":"VariableDeclaration","scope":127608,"src":"3018:14:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127564,"name":"address","nodeType":"ElementaryTypeName","src":"3018:7:241","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":127570,"initialValue":{"arguments":[{"id":127567,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127529,"src":"3048:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},{"id":127568,"name":"erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127559,"src":"3055:14:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"id":127566,"name":"createPuppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":151083,"src":"3035:12:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IBaseWorld_$96356_$_t_userDefinedValueType$_ResourceId_$82352_$returns$_t_address_$","typeString":"function (contract IBaseWorld,ResourceId) returns (address)"}},"id":127569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3035:35:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3018:52:241"},{"assignments":[127573],"declarations":[{"constant":false,"id":127573,"mutability":"mutable","name":"namespaceId","nameLocation":"3145:11:241","nodeType":"VariableDeclaration","scope":127608,"src":"3134:22:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},"typeName":{"id":127572,"nodeType":"UserDefinedTypeName","pathNode":{"id":127571,"name":"ResourceId","nameLocations":["3134:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":82352,"src":"3134:10:241"},"referencedDeclaration":82352,"src":"3134:10:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"visibility":"internal"}],"id":127578,"initialValue":{"arguments":[{"id":127576,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"3194:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":127574,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96164,"src":"3159:18:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$96164_$","typeString":"type(library WorldResourceIdLib)"}},"id":127575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3178:15:241","memberName":"encodeNamespace","nodeType":"MemberAccess","referencedDeclaration":96119,"src":"3159:34:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3159:45:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"3134:70:241"},{"expression":{"arguments":[{"id":127582,"name":"namespaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127573,"src":"3234:11:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"arguments":[],"expression":{"argumentTypes":[],"id":127583,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95767,"src":"3247:10:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":127584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3247:12:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":127579,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127529,"src":"3210:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"id":127581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3216:17:241","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":180199,"src":"3210:23:241","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_address_$returns$__$","typeString":"function (ResourceId,address) external"}},"id":127585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3210:50:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127586,"nodeType":"ExpressionStatement","src":"3210:50:241"},{"condition":{"id":127591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3319:48:241","subExpression":{"arguments":[{"id":127589,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"3342:24:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127587,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87847,"src":"3320:11:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$87847_$","typeString":"type(library ResourceIds)"}},"id":127588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3332:9:241","memberName":"getExists","nodeType":"MemberAccess","referencedDeclaration":87367,"src":"3320:21:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$82352_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":127590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:47:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127599,"nodeType":"IfStatement","src":"3315:118:241","trueBody":{"id":127598,"nodeType":"Block","src":"3369:64:241","statements":[{"expression":{"arguments":[{"id":127595,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"3401:24:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127592,"name":"ERC721Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132541,"src":"3377:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Registry_$132541_$","typeString":"type(library ERC721Registry)"}},"id":127594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3392:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":131965,"src":"3377:23:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:49:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127597,"nodeType":"ExpressionStatement","src":"3377:49:241"}]}},{"expression":{"arguments":[{"id":127603,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"3457:24:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"id":127604,"name":"namespaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127573,"src":"3483:11:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"id":127605,"name":"puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127565,"src":"3496:6:241","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":127600,"name":"ERC721Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132541,"src":"3438:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Registry_$132541_$","typeString":"type(library ERC721Registry)"}},"id":127602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3453:3:241","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":132337,"src":"3438:18:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_userDefinedValueType$_ResourceId_$82352_$_t_address_$returns$__$","typeString":"function (ResourceId,ResourceId,address)"}},"id":127606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3438:65:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127607,"nodeType":"ExpressionStatement","src":"3438:65:241"}]},"baseFunctions":[94650],"functionSelector":"13861fb5","implemented":true,"kind":"function","modifiers":[],"name":"install","nameLocation":"2027:7:241","parameters":{"id":127482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127481,"mutability":"mutable","name":"args","nameLocation":"2048:4:241","nodeType":"VariableDeclaration","scope":127609,"src":"2035:17:241","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":127480,"name":"bytes","nodeType":"ElementaryTypeName","src":"2035:5:241","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2034:19:241"},"returnParameters":{"id":127483,"nodeType":"ParameterList","parameters":[],"src":"2061:0:241"},"scope":127619,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":127618,"nodeType":"FunctionDefinition","src":"3512:97:241","nodes":[],"body":{"id":127617,"nodeType":"Block","src":"3559:50:241","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":127614,"name":"Module_RootInstallNotSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94624,"src":"3572:30:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":127615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3572:32:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127616,"nodeType":"RevertStatement","src":"3565:39:241"}]},"baseFunctions":[94644],"functionSelector":"7c5b0335","implemented":true,"kind":"function","modifiers":[],"name":"installRoot","nameLocation":"3521:11:241","parameters":{"id":127612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":127618,"src":"3533:12:241","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":127610,"name":"bytes","nodeType":"ElementaryTypeName","src":"3533:5:241","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3532:14:241"},"returnParameters":{"id":127613,"nodeType":"ParameterList","parameters":[],"src":"3559:0:241"},"scope":127619,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":127424,"name":"Module","nameLocations":["1494:6:241"],"nodeType":"IdentifierPath","referencedDeclaration":94903,"src":"1494:6:241"},"id":127425,"nodeType":"InheritanceSpecifier","src":"1494:6:241"}],"canonicalName":"ERC721Module","contractDependencies":[127691],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[127619,94903,95807,177303,94651,177260],"name":"ERC721Module","nameLocation":"1478:12:241","scope":127692,"usedErrors":[80787,80789,80791,81420,81436,81454,81460,81466,82445,82448,82928,94624,94626,94628,94632,127429],"usedEvents":[83227,83240]},{"id":127691,"nodeType":"ContractDefinition","src":"3613:686:241","nodes":[{"id":127690,"nodeType":"FunctionDefinition","src":"3747:550:241","nodes":[],"body":{"id":127689,"nodeType":"Block","src":"3809:488:241","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":127632,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"3894:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127631,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137047,"src":"3869:24:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:35:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127628,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133560,"src":"3843:16:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorApproval_$133560_$","typeString":"type(library OperatorApproval)"}},"id":127630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3860:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":132734,"src":"3843:25:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:62:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127635,"nodeType":"ExpressionStatement","src":"3843:62:241"},{"expression":{"arguments":[{"arguments":[{"id":127640,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"3942:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127639,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137063,"src":"3927:14:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3927:25:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127636,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134348,"src":"3911:6:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Owners_$134348_$","typeString":"type(library Owners)"}},"id":127638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3918:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":133750,"src":"3911:15:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3911:42:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127643,"nodeType":"ExpressionStatement","src":"3911:42:241"},{"expression":{"arguments":[{"arguments":[{"id":127648,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4004:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127647,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137079,"src":"3982:21:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3982:32:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127644,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135126,"src":"3959:13:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenApproval_$135126_$","typeString":"type(library TokenApproval)"}},"id":127646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3973:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":134528,"src":"3959:22:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3959:56:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127651,"nodeType":"ExpressionStatement","src":"3959:56:241"},{"expression":{"arguments":[{"arguments":[{"id":127656,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4056:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127655,"name":"_tokenUriTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137095,"src":"4039:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127652,"name":"TokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136981,"src":"4021:8:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenURI_$136981_$","typeString":"type(library TokenURI)"}},"id":127654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4030:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":135306,"src":"4021:17:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4021:46:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127659,"nodeType":"ExpressionStatement","src":"4021:46:241"},{"expression":{"arguments":[{"arguments":[{"id":127664,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4108:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127663,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137015,"src":"4091:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4091:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127660,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156591,"src":"4073:8:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$156591_$","typeString":"type(library Balances)"}},"id":127662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4082:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":155960,"src":"4073:17:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4073:46:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127667,"nodeType":"ExpressionStatement","src":"4073:46:241"},{"expression":{"arguments":[{"arguments":[{"id":127672,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4166:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127671,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137031,"src":"4149:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4149:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127668,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131783,"src":"4125:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$131783_$","typeString":"type(library ERC721Metadata)"}},"id":127670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4140:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":129532,"src":"4125:23:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4125:52:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127675,"nodeType":"ExpressionStatement","src":"4125:52:241"},{"expression":{"arguments":[{"arguments":[{"id":127680,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4255:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127679,"name":"_erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137111,"src":"4239:15:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4239:26:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"arguments":[],"expression":{"argumentTypes":[],"id":127684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4267:16:241","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC721System_$128914_$","typeString":"function () returns (contract ERC721System)"},"typeName":{"id":127683,"nodeType":"UserDefinedTypeName","pathNode":{"id":127682,"name":"ERC721System","nameLocations":["4271:12:241"],"nodeType":"IdentifierPath","referencedDeclaration":128914,"src":"4271:12:241"},"referencedDeclaration":128914,"src":"4271:12:241","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721System_$128914","typeString":"contract ERC721System"}}},"id":127685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:18:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721System_$128914","typeString":"contract ERC721System"}},{"hexValue":"74727565","id":127686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4287:4:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_ERC721System_$128914","typeString":"contract ERC721System"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":127676,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127623,"src":"4218:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"id":127678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4224:14:241","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":180318,"src":"4218:20:241","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_contract$_WorldContextConsumer_$95807_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":127687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4218:74:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127688,"nodeType":"ExpressionStatement","src":"4218:74:241"}]},"documentation":{"id":127620,"nodeType":"StructuredDocumentation","src":"3658:86:241","text":" Register systems and tables for a new ERC721 token in a given namespace"},"functionSelector":"472466c2","implemented":true,"kind":"function","modifiers":[],"name":"register","nameLocation":"3756:8:241","parameters":{"id":127626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127623,"mutability":"mutable","name":"world","nameLocation":"3776:5:241","nodeType":"VariableDeclaration","scope":127690,"src":"3765:16:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"},"typeName":{"id":127622,"nodeType":"UserDefinedTypeName","pathNode":{"id":127621,"name":"IBaseWorld","nameLocations":["3765:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":96356,"src":"3765:10:241"},"referencedDeclaration":96356,"src":"3765:10:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"visibility":"internal"},{"constant":false,"id":127625,"mutability":"mutable","name":"namespace","nameLocation":"3791:9:241","nodeType":"VariableDeclaration","scope":127690,"src":"3783:17:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":127624,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3783:7:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3764:37:241"},"returnParameters":{"id":127627,"nodeType":"ParameterList","parameters":[],"src":"3809:0:241"},"scope":127691,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"ERC721ModuleRegistrationLibrary","contractDependencies":[128914],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[127691],"name":"ERC721ModuleRegistrationLibrary","nameLocation":"3622:31:241","scope":127692,"usedErrors":[80787,80789,80791,81420,81436,81454,81460,81466,82445,82448,82928],"usedEvents":[83227,83240]}],"license":"MIT"},"id":241}
|
1
|
+
{"abi":[{"type":"function","name":"register","inputs":[{"name":"world","type":"address","internalType":"contract IBaseWorld"},{"name":"namespace","type":"bytes14","internalType":"bytes14"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"PackedCounter"},{"name":"dynamicData","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":"FieldLayoutLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord","inputs":[]},{"type":"error","name":"FieldLayoutLib_StaticLengthIsZero","inputs":[]},{"type":"error","name":"SchemaLib_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType","inputs":[]},{"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_InvalidFieldNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidKeyNamesLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","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_InvalidValueSchemaLength","inputs":[{"name":"expected","type":"uint256","internalType":"uint256"},{"name":"received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_TableAlreadyExists","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50615675806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612512565b610045565b005b61005661005182610188565b6101c0565b6100676100628261020c565b61023e565b61007861007382610282565b6102b4565b610089610084826102f8565b61032a565b61009a6100958261036c565b61039e565b6100ab6100a6826103e2565b610414565b8173ffffffffffffffffffffffffffffffffffffffff16633350b6a96100d083610456565b6040516100dc90612505565b604051809103906000f0801580156100f8573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561016c57600080fd5b505af1158015610180573d6000803e3d6000fd5b505050505050565b60006101ba613a3160f11b837f4f70657261746f72417070726f76616c0000000000000000000000000000000061049f565b92915050565b610209817e010100010000000000000000000000000000000000000000000000000000006101ec610526565b6101f46105e3565b6101fc61061d565b6102046106f5565b61076c565b50565b60006101ba613a3160f11b837f4f776e657273000000000000000000000000000000000000000000000000000061049f565b610209817e1401001400000000000000000000000000000000000000000000000000000061026a610840565b61027261087a565b61027a6108b4565b61020461092b565b60006101ba613a3160f11b837f546f6b656e417070726f76616c0000000000000000000000000000000000000061049f565b610209817e140100140000000000000000000000000000000000000000000000000000006102e0610840565b6102e861087a565b6102f06108b4565b6102046109a2565b60006101ba613a3160f11b837f546f6b656e55524900000000000000000000000000000000000000000000000061049f565b610209817c0100000000000000000000000000000000000000000000000000000000610354610840565b61035c610a19565b6103646108b4565b610204610a53565b60006101ba613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061049f565b610209817e200100200000000000000000000000000000000000000000000000000000006103ca61087a565b6103d2610840565b6103da6109a2565b610204610aca565b60006101ba613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061049f565b610209817c030000000000000000000000000000000000000000000000000000000061043e610b41565b610446610b5a565b61044e610c1f565b610204610c52565b60006101ba7f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000005b60006104ad6070601061259f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110610560576105606125b2565b602002602001019060c5811115610579576105796125c8565b908160c581111561058c5761058c6125c8565b815250506061816001815181106105a5576105a56125b2565b602002602001019060c58111156105be576105be6125c8565b908160c58111156105d1576105d16125c8565b9052506105dd81610d72565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106105a5576105a56125b2565b6040805160028082526060828101909352816020015b60608152602001906001900390816106335790505090506040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525081600081518110610693576106936125b2565b60200260200101819052506040518060400160405280600881526020017f6f70657261746f72000000000000000000000000000000000000000000000000815250816001815181106106e7576106e76125b2565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161070c5790505090506040518060400160405280600881526020017f617070726f766564000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6000610776610f36565b90503073ffffffffffffffffffffffffffffffffffffffff8216036107a8576107a3878787878787610f82565b610837565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f4990610804908a908a908a908a908a908a90600401612686565b600060405180830381600087803b15801561081e57600080fd5b505af1158015610832573d6000803e3d6000fd5b505050505b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106105a5576105a56125b2565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816108cb5790505090506040518060400160405280600781526020017f746f6b656e496400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109425790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109b95790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610a6a5790505090506040518060400160405280600881526020017f746f6b656e555249000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610ae15790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516000808252602082019092526105dd81610d72565b604080516003808252608082019092526000918291906020820160608036833701905050905060c581600081518110610b9557610b956125b2565b602002602001019060c5811115610bae57610bae6125c8565b908160c5811115610bc157610bc16125c8565b8152505060c581600181518110610bda57610bda6125b2565b602002602001019060c5811115610bf357610bf36125c8565b908160c5811115610c0657610c066125c8565b8152505060c5816002815181106105a5576105a56125b2565b60408051600080825260208201909252606091610c4c565b6060815260200190600190039081610c375790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610c6a5790505090506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600081518110610cca57610cca6125b2565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081600181518110610d1e57610d1e6125b2565b60200260200101819052506040518060400160405280600781526020017f6261736555524900000000000000000000000000000000000000000000000000815250816002815181106106e7576106e76125b2565b6000601c82511115610da5578151604051635318beb960e01b8152600401610d9c91815260200190565b60405180910390fd5b60008080805b8551811015610e80576000610de9878381518110610dcb57610dcb6125b2565b602002602001015160c5811115610de457610de46125c8565b61126f565b905080600003610dfe57600190920191610e36565b8215610e36576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610e5757610e576125b2565b602002602001015160c5811115610e7057610e706125c8565b901b949094179350600101610dab565b506005811115610ea657604051635318beb960e01b815260048101829052602401610d9c565b84518190036008610eb9600260206126d0565b610ec391906126e3565b83901b939093179260086001610edb600260206126d0565b610ee591906126d0565b610eef91906126e3565b81901b93909317926008600180610f08600260206126d0565b610f1291906126d0565b610f1c91906126d0565b610f2691906126e3565b9190911b92909217949350505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610f7d573391505090565b919050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610ffb57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561105c57613a3160f11b868760405160200161101a91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610d9c9392916004016126fa565b6110678560006112cf565b611072846001611451565b61107d836000611451565b60e084901c60e885901c0160ff168251146110dd5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1681511461113d5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146111b55760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b6111be866115f8565b156112185785866040516020016111d791815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610d9c929160040161273b565b61126486868686866040516020016112309190612754565b604051602081830303815290604052866040516020016112509190612754565b6040516020818303038152906040526116dc565b6101808660016117fc565b6000808260c5811115611284576112846125c8565b60ff169050606181101561129e57601f1660010192915050565b60618360c58111156112b2576112b26125c8565b036112c05750601492915050565b50600092915050565b50919050565b801580156112db575081155b15611315576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260006004820152602401610d9c565b6000611320836118f3565b90506005811115611360576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b600061136b84611930565b90506000611379838361259f565b9050601c8111156113b9576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b60005b828110156101805760ff601b82900360080287901c16600081900361140d576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811115611448576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016113bc565b8015801561145d575081155b1561147e57604051635318beb960e01b815260006004820152602401610d9c565b6000611489836118f3565b905060058111156114b057604051635318beb960e01b815260048101829052602401610d9c565b60006114bb84611930565b905060006114c9838361259f565b9050601c8111156114f057604051635318beb960e01b815260048101829052602401610d9c565b60008060005b838110156115b157600061151e61150d8a84611942565b60c5811115610de457610de46125c8565b11156115685784811061155d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909201916115a9565b848110156115a2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b6001016114f6565b508382146115d557604051635318beb960e01b815260048101839052602401610d9c565b84811461083757604051635318beb960e01b815260048101829052602401610d9c565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611631576116316125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526000906116c8906116a090612767565b8360007e0101000100000000000000000000000000000000000000000000000000000061196a565b90506116d48160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061171384846119a0565b9050600061172185856119bd565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061175b5761175b6125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c65730000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526117f0906117c790612767565b828686867e600302202020000000000000000000000000000000000000000000000000006119e9565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611832576118326125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526118ee9061189e90612767565b826000856040516020016118b991151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611cd8565b505050565b60006008600180611906600260206126d0565b61191091906126d0565b61191a91906126d0565b61192491906126e3565b8260ff911c1692915050565b600060086001611910600260206126d0565b6000601b8290036008028360ff911c1660c5811115611963576119636125c8565b9392505050565b60006119976119798686611cf4565b60ff858116601b0360080285901c166119928587611d4a565b611d8d565b95945050505050565b8151815160009181810160389190911b1760609190911b17611963565b606082826040516020016119d292919061278b565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611a1f94939291906127f5565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610180576000611a6087611dde565b905060005b8151811015611b43576000828281518110611a8257611a826125b2565b60200260200101519050611aae6001826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611b30576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611afd908c908c908c908c908c908c9060040161283f565b600060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b505050505b5080611b3b81612898565b915050611a65565b506000611b508888611cf4565b90506000602087019050611b68826000838a51611ec4565b6000611b73856118f3565b1115611bf7576000611b858a8a611f82565b878155905060208601915060008060005b611b9f886118f3565b8160ff161015611bf257611bb48d8d83611fd8565b9250611bcf8a8260ff166028026038011c64ffffffffff1690565b9150611bde8360008785611ec4565b611be8828661259f565b9450600101611b96565b505050505b60005b83518110156117f0576000848281518110611c1757611c176125b2565b60200260200101519050611c436002826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611cc5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611c92908e908e908e908e908e908e9060040161283f565b600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b505050505b5080611cd081612898565b915050611bfa565b611ced8585611ce78487611d4a565b85612058565b5050505050565b60008282604051602001611d099291906128b2565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611d8557611d7160ff601b83900360080287901c168361259f565b915080611d7d81612898565b915050611d4f565b509392505050565b600060208210611db357602082048401935060208281611daf57611daf6128ed565b0691505b508254600882021b602082900380841115611d85576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e1857611e186125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611e8f90611e8790612767565b8360006122b1565b90506116d4611ea182600084516122eb565b61237b565b60008160ff1682611eb78560581c90565b1660ff1614905092915050565b8215611f3e5760208310611eee57602083048401935060208381611eea57611eea6128ed565b0692505b8215611f3e5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611f2f575050611f7c565b50600194909401939182019190035b5b60208110611f605781518455600190930192602090910190601f1901611f3f565b8015611f7c5783548251600019600884021c9182169119161784555b50505050565b60008282604051602001611f979291906128b2565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fed9291906128b2565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006120648585611cf4565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161209a93929190612903565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120d65750611f7c565b60006120e186611dde565b905060005b81518110156121c0576000828281518110612103576121036125b2565b6020026020010151905061212f6004826affffffffffffffffffffff1916611ea690919063ffffffff16565b156121ad576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061217a908b908b908b908b90600401612940565b600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b505050505b50806121b881612898565b9150506120e6565b506121d4828565ffffffffffff168561238c565b60005b81518110156108375760008282815181106121f4576121f46125b2565b602002602001015190506122206008826affffffffffffffffffffff1916611ea690919063ffffffff16565b1561229e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061226b908b908b908b908b90600401612940565b600060405180830381600087803b15801561228557600080fd5b505af1158015612299573d6000803e3d6000fd5b505050505b50806122a981612898565b9150506121d7565b60606116d46122c1858585611fd8565b6122e4846122cf888861239c565b9060ff166028026038011c64ffffffffff1690565b60006123af565b60008183111580156122fe575083518211155b61233a578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610d9c93929190612979565b60208401612348848261259f565b9050600061235685856126d0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061196383601560006123d2565b6118ee8383602084018451611ec4565b60006119636123ab8484611f82565b5490565b60405160208101601f19603f8584010116604052838252611d858585858461244d565b606060006123e08560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612406576124066128ed565b04905060405193506020840160208202810160405281855260005b82811015612441578451871c825293870193602090910190600101612421565b50505050509392505050565b81156124bf576020821061247757602082048401935060208281612473576124736128ed565b0691505b81156124bf5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116124b0575050611f7c565b50600194909401939283900392015b5b602083106124e15783548152600190930192601f19909201916020016124c0565b8215611f7c576000600019600885021c198251865482169119161782525050505050565b612cca8061299f83390190565b6000806040838503121561252557600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461254957600080fd5b915060208301357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461257e57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ba576101ba612589565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b838110156125f95781810151838201526020016125e1565b50506000910152565b6000815180845261261a8160208601602086016125de565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561267957601f19868403018952612667838351612602565b9884019892509083019060010161264b565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006126b160c083018561262e565b82810360a08401526126c3818561262e565b9998505050505050505050565b818103818111156101ba576101ba612589565b80820281158282048414176101ba576101ba612589565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006119976060830184612602565b8281526040602082015260006116d46040830184612602565b602081526000611963602083018461262e565b805160208083015191908110156112c95760001960209190910360031b1b16919050565b6000835161279d8184602088016125de565b8351908301906127b18183602088016125de565b01949350505050565b600081518084526020808501945080840160005b838110156127ea578151875295820195908201906001016127ce565b509495945050505050565b60808152600061280860808301876127ba565b828103602084015261281a8187612602565b905084604084015282810360608401526128348185612602565b979650505050505050565b86815260c06020820152600061285860c08301886127ba565b828103604084015261286a8188612602565b905085606084015282810360808401526128848186612602565b9150508260a0830152979650505050505050565b600060001982036128ab576128ab612589565b5060010190565b82815260006020808301845182860160005b828110156128e0578151845292840192908401906001016128c4565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061291660608301866127ba565b65ffffffffffff8516602084015282810360408401526129368185612602565b9695505050505050565b84815260806020820152600061295960808301866127ba565b65ffffffffffff8516604084015282810360608401526128348185612602565b60608152600061298c6060830186612602565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612caa806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f36600461259c565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b6040516101909190612609565b6101c16101bc36600461261c565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e736600461264c565b6103cc565b005b6101c16103e2565b6101ec610204366004612676565b6103ec565b6101ec61021736600461264c565b61049c565b6101ec61022a366004612676565b6104ae565b6101ec61023d36600461261c565b6104ce565b36601f1901355b604051908152602001610190565b6101c161026536600461261c565b6104e2565b6102496102783660046126b2565b6104ed565b6101ec61028b366004612792565b61054b565b6101a161055e565b6101ec6102a636600461264c565b610573565b6101ec6102b93660046127e9565b610595565b6101ec6102cc366004612825565b6105a7565b6101a16102df36600461261c565b6105be565b6101c161065a565b6101846102fa36600461288d565b610664565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb421288000000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610687565b6106a5565b6106d7565b905090565b60006103c2826106f5565b5061039282610746565b6103de82826103d96103e2565b610761565b5050565b60006103b261076e565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b6107a0565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610924565b6103de828261093f565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610924565b6104df816109bd565b50565b6000610392826106f5565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610687565b610a11565b83610a43565b610553610924565b6104c9838383610ac9565b60606103b261056e6103a8610687565b610ae0565b61057b610924565b6103de828260405180602001604052806000815250610ac9565b6103de6105a06103e2565b8383610aff565b6105b28484846103ec565b61049684848484610c23565b60606105c9826106f5565b5060006105d4610d84565b905060006105f16105eb6105e6610687565b610d99565b85610dcb565b9050600081511161061c5760408051602081018690520160405160208183030381529060405261061e565b805b9050600082511161062f5780610652565b81816040516020016106429291906128c0565b6040516020818303038152906040525b949350505050565b60006103b2610e22565b6000610680610679610674610687565b610e61565b8484610e93565b9392505050565b60008061069330610f52565b905061069f8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000611046565b604080516000808252602082019092526060916106528483836110cd565b60008061070183611194565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b600061039261075b610756610687565b6111a4565b836111d6565b6104c98383836001611256565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061079d5750335b90565b6000806107ae610540610687565b905060006107bb85611194565b90506001600160a01b038416156107d7576107d78185876113e8565b6001600160a01b0381161561080b576107f4600086600080611256565b61080b828260016108058686610a43565b0361147e565b6001600160a01b03861615610831576108318287610829858a610a43565b60010161147e565b61084b61084461083f610687565b61151b565b868861154d565b61085361160a565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610892846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108e89291906001600160a01b038c16908b90602481016128ef565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b509298975050505050505050565b61093d61093030610f52565b6109386103e2565b6116e5565b565b6001600160a01b03821661096957604051633250574960e11b815260006004820152602401610412565b6000610977838360006107a0565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109cc60008360006107a0565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a8857610a88612925565b60209081029190910101526000610ac08583837e20010020000000000000000000000000000000000000000000000000000000611786565b95945050505050565b610ad3838361093f565b6104c96000848484610c23565b60408051600080825260208201909252606091610652848360016110cd565b6001600160a01b038216610b4a576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b60610b58610674610687565b848484611843565b610b6861160a565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610ba7866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bec949392919061293b565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c4a6103e2565b8685856040518563ffffffff1660e01b8152600401610c6c9493929190612960565b6020604051808303816000875af1925050508015610ca7575060408051601f3d908101601f19168201909252610ca491810190612992565b60015b610d10573d808015610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b508051600003610d0857604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d7d57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d946103a8610687565b611910565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610e0857610e08612925565b6020026020010181815250506000610ac0858360006110cd565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610e5c573391505090565b919050565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000611046565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ed857610ed8612925565b602002602001018181525050826001600160a01b031660001b81600181518110610f0457610f04612925565b60209081029190910101526000610f3c8683837e01010001000000000000000000000000000000000000000000000000000000611786565b9050610f488160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f9757610f97612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526000906106529061101e906129af565b8360007e20010020000000000000000000000000000000000000000000000000000000611786565b6000611054607060106129ec565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b606060006110d9610e22565b9050306001600160a01b038216036110fe576110f685858561192f565b915050610680565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061114790889088908890600401612a3a565b600060405180830381865afa158015611164573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110f69190810190612a66565b509392505050565b600061039261075b61083f610687565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000611046565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061121257611212612925565b6020908102919091010152600061124a8583837e14010014000000000000000000000000000000000000000000000000000000611786565b60601c95945050505050565b808061126a57506001600160a01b03821615155b156113d357600061127a846106f5565b90506001600160a01b038316158015906112a65750826001600160a01b0316816001600160a01b031614155b80156112b957506112b78184610664565b155b156112fb576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b81156113d15761130961160a565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925611348846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690915261139e9291906001600160a01b038b16908a90602481016128ef565b600060405180830381600087803b1580156113b857600080fd5b505af11580156113cc573d6000803e3d6000fd5b505050505b505b6104966113e1610756610687565b848661154d565b6113f3838383611969565b6104c9576001600160a01b03831661143a576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106114c0576114c0612925565b60200260200101818152505061049684826000856040516020016114e691815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ce565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000611046565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061158657611586612925565b60200260200101818152505061049684826000856040516020016115d5919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006119ce565b60008061161630610f52565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f5075707065745265676973747279000000000000000000000000000000000000603082015291925060009161169a9101604051602081830303815290604052611694906129af565b83611a84565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b03811661173a7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611abd565b6001600160a01b0316146103de5761175182611bb0565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612ad4565b600080611791610e22565b9050306001600160a01b038216036117b7576117af86868686611d2c565b915050610652565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611802908990899089908990600401612aff565b602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117af9190612b2e565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061188457611884612925565b602002602001018181525050826001600160a01b031660001b816001815181106118b0576118b0612925565b602002602001018181525050610d7d85826000856040516020016118db91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006119ce565b60408051600080825260208201909252606091610652848360026110cd565b606061065261193f858585611d59565b6119628461194d8888611dd9565b9060ff166028026038011c64ffffffffff1690565b6000611dec565b60006001600160a01b038316158015906106525750826001600160a01b0316846001600160a01b031614806119a357506119a38484610664565b806106525750826001600160a01b03166119bc83610746565b6001600160a01b031614949350505050565b60006119d8610e22565b9050306001600160a01b038216036119fc576119f78686868686611e0f565b611a7c565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a499089908990899089908990600401612b47565b600060405180830381600087803b158015611a6357600080fd5b505af1158015611a77573d6000803e3d6000fd5b505050505b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061121257611212612925565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611af657611af6612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201528151808203909301835281019052600090611ba590611b7d906129af565b8360007e14010014000000000000000000000000000000000000000000000000000000611786565b60601c949350505050565b606081601081901b6000611bc383611e24565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611c16577fffffffffffffffffffffffffffff0000000000000000000000000000000000008316611c38565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615611c665782611c88565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b6000610ac0611d3b8686611e3b565b60ff858116601b0360080285901c16611d548587611e91565b611ecc565b60008383604051602001611d6e929190612b8e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000610680611de88484611f1d565b5490565b60405160208101601f19603f858401011660405283825261118c85858584611f73565b610d7d8585611e1e8487611e91565b8561202b565b6000611e32607060106129ec565b9190911b919050565b60008282604051602001611e50929190612b8e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561118c57611eb860ff601b83900360080287901c16836129ec565b915080611ec481612bc9565b915050611e96565b600060208210611ef257602082048401935060208281611eee57611eee612be3565b0691505b508254600882021b60208290038084111561118c576001850154600882021c82179150509392505050565b60008282604051602001611f32929190612b8e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8115611fe55760208210611f9d57602082048401935060208281611f9957611f99612be3565b0691505b8115611fe55760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611fd6575050610496565b50600194909401939283900392015b5b602083106120075783548152600190930192601f1990920191602001611fe6565b8215610496576000600019600885021c198251865482169119161782525050505050565b60006120378585611e3b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161206d93929190612bf9565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120a95750610496565b60006120b486612284565b905060005b81518110156121935760008282815181106120d6576120d6612925565b602002602001015190506121026004826affffffffffffffffffffff191661236490919063ffffffff16565b15612180576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061214d908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561216757600080fd5b505af115801561217b573d6000803e3d6000fd5b505050505b508061218b81612bc9565b9150506120b9565b506121a7828565ffffffffffff1685612382565b60005b8151811015610c1a5760008282815181106121c7576121c7612925565b602002602001015190506121f36008826affffffffffffffffffffff191661236490919063ffffffff16565b15612271576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061223e908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561225857600080fd5b505af115801561226c573d6000803e3d6000fd5b505050505b508061227c81612bc9565b9150506121aa565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122be576122be612925565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061234d90612345906129af565b83600061192f565b905061065261235f8260008451612392565b612422565b60008160ff16826123758560581c90565b1660ff1614905092915050565b6104c98383602084018451612433565b60008183111580156123a5575083518211155b6123e1578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c65565b602084016123ef84826129ec565b905060006123fd8585612c8a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061068083601560006124f3565b82156124ad576020831061245d5760208304840193506020838161245957612459612be3565b0692505b82156124ad5760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161249e575050610496565b50600194909401939182019190035b5b602081106124cf5781518455600190930192602090910190601f19016124ae565b8015610496576000600019600883021c198554845182169119161785555050505050565b606060006125018560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161252757612527612be3565b04905060405193506020840160208202810160405281855260005b82811015612562578451871c825293870193602090910190600101612542565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b6000602082840312156125ae57600080fd5b81356106808161256e565b60005b838110156125d45781810151838201526020016125bc565b50506000910152565b600081518084526125f58160208601602086016125b9565b601f01601f19169290920160200192915050565b60208152600061068060208301846125dd565b60006020828403121561262e57600080fd5b5035919050565b80356001600160a01b0381168114610e5c57600080fd5b6000806040838503121561265f57600080fd5b61266883612635565b946020939093013593505050565b60008060006060848603121561268b57600080fd5b61269484612635565b92506126a260208501612635565b9150604084013590509250925092565b6000602082840312156126c457600080fd5b61068082612635565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561270c5761270c6126cd565b604052919050565b600067ffffffffffffffff82111561272e5761272e6126cd565b50601f01601f191660200190565b600082601f83011261274d57600080fd5b813561276061275b82612714565b6126e3565b81815284602083860101111561277557600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156127a757600080fd5b6127b084612635565b925060208401359150604084013567ffffffffffffffff8111156127d357600080fd5b6127df8682870161273c565b9150509250925092565b600080604083850312156127fc57600080fd5b61280583612635565b91506020830135801515811461281a57600080fd5b809150509250929050565b6000806000806080858703121561283b57600080fd5b61284485612635565b935061285260208601612635565b925060408501359150606085013567ffffffffffffffff81111561287557600080fd5b6128818782880161273c565b91505092959194509250565b600080604083850312156128a057600080fd5b6128a983612635565b91506128b760208401612635565b90509250929050565b600083516128d28184602088016125b9565b8351908301906128e68183602088016125b9565b01949350505050565b85815284602082015283604082015282606082015260a06080820152600061291a60a08301846125dd565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f4860808301846125dd565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f4860808301846125dd565b6000602082840312156129a457600080fd5b81516106808161256e565b805160208083015191908110156129d0576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610392576103926129d6565b600081518084526020808501945080840160005b83811015612a2f57815187529582019590820190600101612a13565b509495945050505050565b838152606060208201526000612a5360608301856129ff565b905060ff83166040830152949350505050565b600060208284031215612a7857600080fd5b815167ffffffffffffffff811115612a8f57600080fd5b8201601f81018413612aa057600080fd5b8051612aae61275b82612714565b818152856020838501011115612ac357600080fd5b610ac08260208301602086016125b9565b604081526000612ae760408301856125dd565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612b1860808301866129ff565b60ff949094166040830152506060015292915050565b600060208284031215612b4057600080fd5b5051919050565b85815260a060208201526000612b6060a08301876129ff565b60ff861660408401528281036060840152612b7b81866125dd565b9150508260808301529695505050505050565b82815260006020808301845182860160005b82811015612bbc57815184529284019290840190600101612ba0565b5091979650505050505050565b60006000198203612bdc57612bdc6129d6565b5060010190565b634e487b7160e01b600052601260045260246000fd5b606081526000612c0c60608301866129ff565b65ffffffffffff851660208401528281036040840152610f4881856125dd565b848152608060208201526000612c4560808301866129ff565b65ffffffffffff85166040840152828103606084015261291a81856125dd565b606081526000612c7860608301866125dd565b60208301949094525060400152919050565b81810381811115610392576103926129d656fea164736f6c6343000815000aa164736f6c6343000815000a","sourceMap":"3613:686:241:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063472466c214610030575b600080fd5b61004361003e366004612512565b610045565b005b61005661005182610188565b6101c0565b6100676100628261020c565b61023e565b61007861007382610282565b6102b4565b610089610084826102f8565b61032a565b61009a6100958261036c565b61039e565b6100ab6100a6826103e2565b610414565b8173ffffffffffffffffffffffffffffffffffffffff16633350b6a96100d083610456565b6040516100dc90612505565b604051809103906000f0801580156100f8573d6000803e3d6000fd5b506040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925273ffffffffffffffffffffffffffffffffffffffff16602482015260016044820152606401600060405180830381600087803b15801561016c57600080fd5b505af1158015610180573d6000803e3d6000fd5b505050505050565b60006101ba613a3160f11b837f4f70657261746f72417070726f76616c0000000000000000000000000000000061049f565b92915050565b610209817e010100010000000000000000000000000000000000000000000000000000006101ec610526565b6101f46105e3565b6101fc61061d565b6102046106f5565b61076c565b50565b60006101ba613a3160f11b837f4f776e657273000000000000000000000000000000000000000000000000000061049f565b610209817e1401001400000000000000000000000000000000000000000000000000000061026a610840565b61027261087a565b61027a6108b4565b61020461092b565b60006101ba613a3160f11b837f546f6b656e417070726f76616c0000000000000000000000000000000000000061049f565b610209817e140100140000000000000000000000000000000000000000000000000000006102e0610840565b6102e861087a565b6102f06108b4565b6102046109a2565b60006101ba613a3160f11b837f546f6b656e55524900000000000000000000000000000000000000000000000061049f565b610209817c0100000000000000000000000000000000000000000000000000000000610354610840565b61035c610a19565b6103646108b4565b610204610a53565b60006101ba613a3160f11b837f42616c616e63657300000000000000000000000000000000000000000000000061049f565b610209817e200100200000000000000000000000000000000000000000000000000000006103ca61087a565b6103d2610840565b6103da6109a2565b610204610aca565b60006101ba613a3160f11b837f4d6574616461746100000000000000000000000000000000000000000000000061049f565b610209817c030000000000000000000000000000000000000000000000000000000061043e610b41565b610446610b5a565b61044e610c1f565b610204610c52565b60006101ba7f7379000000000000000000000000000000000000000000000000000000000000837f45524337323153797374656d00000000000000000000000000000000000000005b60006104ad6070601061259f565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b60408051600280825260608201835260009283929190602083019080368337019050509050606181600081518110610560576105606125b2565b602002602001019060c5811115610579576105796125c8565b908160c581111561058c5761058c6125c8565b815250506061816001815181106105a5576105a56125b2565b602002602001019060c58111156105be576105be6125c8565b908160c58111156105d1576105d16125c8565b9052506105dd81610d72565b91505090565b604080516001808252818301909252600091829190602080830190803683370190505090506060816000815181106105a5576105a56125b2565b6040805160028082526060828101909352816020015b60608152602001906001900390816106335790505090506040518060400160405280600581526020017f6f776e657200000000000000000000000000000000000000000000000000000081525081600081518110610693576106936125b2565b60200260200101819052506040518060400160405280600881526020017f6f70657261746f72000000000000000000000000000000000000000000000000815250816001815181106106e7576106e76125b2565b602002602001018190525090565b604080516001808252818301909252606091816020015b606081526020019060019003908161070c5790505090506040518060400160405280600881526020017f617070726f766564000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6000610776610f36565b90503073ffffffffffffffffffffffffffffffffffffffff8216036107a8576107a3878787878787610f82565b610837565b6040517f0ba51f4900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821690630ba51f4990610804908a908a908a908a908a908a90600401612686565b600060405180830381600087803b15801561081e57600080fd5b505af1158015610832573d6000803e3d6000fd5b505050505b50505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050601f816000815181106105a5576105a56125b2565b604080516001808252818301909252600091829190602080830190803683370190505090506061816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816108cb5790505090506040518060400160405280600781526020017f746f6b656e496400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109425790505090506040518060400160405280600581526020017f6f776e6572000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b60608152602001906001900390816109b95790505090506040518060400160405280600781526020017f6163636f756e7400000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b6040805160018082528183019092526000918291906020808301908036833701905050905060c5816000815181106105a5576105a56125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610a6a5790505090506040518060400160405280600881526020017f746f6b656e555249000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516001808252818301909252606091816020015b6060815260200190600190039081610ae15790505090506040518060400160405280600581526020017f76616c7565000000000000000000000000000000000000000000000000000000815250816000815181106106e7576106e76125b2565b604080516000808252602082019092526105dd81610d72565b604080516003808252608082019092526000918291906020820160608036833701905050905060c581600081518110610b9557610b956125b2565b602002602001019060c5811115610bae57610bae6125c8565b908160c5811115610bc157610bc16125c8565b8152505060c581600181518110610bda57610bda6125b2565b602002602001019060c5811115610bf357610bf36125c8565b908160c5811115610c0657610c066125c8565b8152505060c5816002815181106105a5576105a56125b2565b60408051600080825260208201909252606091610c4c565b6060815260200190600190039081610c375790505b50905090565b60408051600380825260808201909252606091816020015b6060815260200190600190039081610c6a5790505090506040518060400160405280600481526020017f6e616d650000000000000000000000000000000000000000000000000000000081525081600081518110610cca57610cca6125b2565b60200260200101819052506040518060400160405280600681526020017f73796d626f6c000000000000000000000000000000000000000000000000000081525081600181518110610d1e57610d1e6125b2565b60200260200101819052506040518060400160405280600781526020017f6261736555524900000000000000000000000000000000000000000000000000815250816002815181106106e7576106e76125b2565b6000601c82511115610da5578151604051635318beb960e01b8152600401610d9c91815260200190565b60405180910390fd5b60008080805b8551811015610e80576000610de9878381518110610dcb57610dcb6125b2565b602002602001015160c5811115610de457610de46125c8565b61126f565b905080600003610dfe57600190920191610e36565b8215610e36576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80840193506008826004601f030302878381518110610e5757610e576125b2565b602002602001015160c5811115610e7057610e706125c8565b901b949094179350600101610dab565b506005811115610ea657604051635318beb960e01b815260048101829052602401610d9c565b84518190036008610eb9600260206126d0565b610ec391906126e3565b83901b939093179260086001610edb600260206126d0565b610ee591906126d0565b610eef91906126e3565b81901b93909317926008600180610f08600260206126d0565b610f1291906126d0565b610f1c91906126d0565b610f2691906126e3565b9190911b92909217949350505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1755460009073ffffffffffffffffffffffffffffffffffffffff1680610f7d573391505090565b919050565b613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001614801590610ffb57507f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001614155b1561105c57613a3160f11b868760405160200161101a91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610d9c9392916004016126fa565b6110678560006112cf565b611072846001611451565b61107d836000611451565b60e084901c60e885901c0160ff168251146110dd5760e084901c60e885901c0160ff1682516040517f0f72cb9800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1681511461113d5760e085901c60e886901c0160ff1681516040517f7dec4c0000000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b60e085901c60e886901c0160ff1660e084901c60e885901c0160ff16146111b55760e085901c60e886901c0160ff1660e084901c60e885901c0160ff166040517ff29d4d8800000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610d9c565b6111be866115f8565b156112185785866040516020016111d791815260200190565b60408051601f19818403018152908290527fdfaaf9cf000000000000000000000000000000000000000000000000000000008252610d9c929160040161273b565b61126486868686866040516020016112309190612754565b604051602081830303815290604052866040516020016112509190612754565b6040516020818303038152906040526116dc565b6101808660016117fc565b6000808260c5811115611284576112846125c8565b60ff169050606181101561129e57601f1660010192915050565b60618360c58111156112b2576112b26125c8565b036112c05750601492915050565b50600092915050565b50919050565b801580156112db575081155b15611315576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260006004820152602401610d9c565b6000611320836118f3565b90506005811115611360576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b600061136b84611930565b90506000611379838361259f565b9050601c8111156113b9576040517f97e36a0a00000000000000000000000000000000000000000000000000000000815260048101829052602401610d9c565b60005b828110156101805760ff601b82900360080287901c16600081900361140d576040517fbf1ac38300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6020811115611448576040517f2392baa400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001016113bc565b8015801561145d575081155b1561147e57604051635318beb960e01b815260006004820152602401610d9c565b6000611489836118f3565b905060058111156114b057604051635318beb960e01b815260048101829052602401610d9c565b60006114bb84611930565b905060006114c9838361259f565b9050601c8111156114f057604051635318beb960e01b815260048101829052602401610d9c565b60008060005b838110156115b157600061151e61150d8a84611942565b60c5811115610de457610de46125c8565b11156115685784811061155d576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909201916115a9565b848110156115a2576040517ff1e56be400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001909101905b6001016114f6565b508382146115d557604051635318beb960e01b815260048101839052602401610d9c565b84811461083757604051635318beb960e01b815260048101829052602401610d9c565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611631576116316125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526000906116c8906116a090612767565b8360007e0101000100000000000000000000000000000000000000000000000000000061196a565b90506116d48160f81c90565b949350505050565b60408051602081018790528082018690526060808201869052825180830390910181526080909101909152600061171384846119a0565b9050600061172185856119bd565b6040805160018082528183019092529192506000919060208083019080368337019050509050898160008151811061175b5761175b6125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5461626c65730000000000000000000000000000000000000000000000000000603082015281518082039093018352810190526117f0906117c790612767565b828686867e600302202020000000000000000000000000000000000000000000000000006119e9565b50505050505050505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611832576118326125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f5265736f75726365496473000000000000000000000000000000000000000000603082015281518082039093018352810190526118ee9061189e90612767565b826000856040516020016118b991151560f81b815260010190565b60408051601f198184030181529190527e01010001000000000000000000000000000000000000000000000000000000611cd8565b505050565b60006008600180611906600260206126d0565b61191091906126d0565b61191a91906126d0565b61192491906126e3565b8260ff911c1692915050565b600060086001611910600260206126d0565b6000601b8290036008028360ff911c1660c5811115611963576119636125c8565b9392505050565b60006119976119798686611cf4565b60ff858116601b0360080285901c166119928587611d4a565b611d8d565b95945050505050565b8151815160009181810160389190911b1760609190911b17611963565b606082826040516020016119d292919061278b565b604051602081830303815290604052905092915050565b857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051611a1f94939291906127f5565b60405180910390a2613a3160f11b867fffff0000000000000000000000000000000000000000000000000000000000001603610180576000611a6087611dde565b905060005b8151811015611b43576000828281518110611a8257611a826125b2565b60200260200101519050611aae6001826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611b30576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90611afd908c908c908c908c908c908c9060040161283f565b600060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b505050505b5080611b3b81612898565b915050611a65565b506000611b508888611cf4565b90506000602087019050611b68826000838a51611ec4565b6000611b73856118f3565b1115611bf7576000611b858a8a611f82565b878155905060208601915060008060005b611b9f886118f3565b8160ff161015611bf257611bb48d8d83611fd8565b9250611bcf8a8260ff166028026038011c64ffffffffff1690565b9150611bde8360008785611ec4565b611be8828661259f565b9450600101611b96565b505050505b60005b83518110156117f0576000848281518110611c1757611c176125b2565b60200260200101519050611c436002826affffffffffffffffffffff1916611ea690919063ffffffff16565b15611cc5576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90611c92908e908e908e908e908e908e9060040161283f565b600060405180830381600087803b158015611cac57600080fd5b505af1158015611cc0573d6000803e3d6000fd5b505050505b5080611cd081612898565b915050611bfa565b611ced8585611ce78487611d4a565b85612058565b5050505050565b60008282604051602001611d099291906128b2565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015611d8557611d7160ff601b83900360080287901c168361259f565b915080611d7d81612898565b915050611d4f565b509392505050565b600060208210611db357602082048401935060208281611daf57611daf6128ed565b0691505b508254600882021b602082900380841115611d85576001850154600882021c82179150509392505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611e1857611e186125b2565b60209081029190910181019190915260408051613a3160f11b818401526473746f726560d81b60228201527f53746f7265486f6f6b730000000000000000000000000000000000000000000060308201528151808203909301835281019052600090611e8f90611e8790612767565b8360006122b1565b90506116d4611ea182600084516122eb565b61237b565b60008160ff1682611eb78560581c90565b1660ff1614905092915050565b8215611f3e5760208310611eee57602083048401935060208381611eea57611eea6128ed565b0692505b8215611f3e5760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311611f2f575050611f7c565b50600194909401939182019190035b5b60208110611f605781518455600190930192602090910190601f1901611f3f565b8015611f7c5783548251600019600884021c9182169119161784555b50505050565b60008282604051602001611f979291906128b2565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b60008383604051602001611fed9291906128b2565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006120648585611cf4565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161209a93929190612903565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120d65750611f7c565b60006120e186611dde565b905060005b81518110156121c0576000828281518110612103576121036125b2565b6020026020010151905061212f6004826affffffffffffffffffffff1916611ea690919063ffffffff16565b156121ad576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061217a908b908b908b908b90600401612940565b600060405180830381600087803b15801561219457600080fd5b505af11580156121a8573d6000803e3d6000fd5b505050505b50806121b881612898565b9150506120e6565b506121d4828565ffffffffffff168561238c565b60005b81518110156108375760008282815181106121f4576121f46125b2565b602002602001015190506122206008826affffffffffffffffffffff1916611ea690919063ffffffff16565b1561229e576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061226b908b908b908b908b90600401612940565b600060405180830381600087803b15801561228557600080fd5b505af1158015612299573d6000803e3d6000fd5b505050505b50806122a981612898565b9150506121d7565b60606116d46122c1858585611fd8565b6122e4846122cf888861239c565b9060ff166028026038011c64ffffffffff1690565b60006123af565b60008183111580156122fe575083518211155b61233a578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610d9c93929190612979565b60208401612348848261259f565b9050600061235685856126d0565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061196383601560006123d2565b6118ee8383602084018451611ec4565b60006119636123ab8484611f82565b5490565b60405160208101601f19603f8584010116604052838252611d858585858461244d565b606060006123e08560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281612406576124066128ed565b04905060405193506020840160208202810160405281855260005b82811015612441578451871c825293870193602090910190600101612421565b50505050509392505050565b81156124bf576020821061247757602082048401935060208281612473576124736128ed565b0691505b81156124bf5760208290036000600019600883021c1990508554600885021b8119845116828216178452508185116124b0575050611f7c565b50600194909401939283900392015b5b602083106124e15783548152600190930192601f19909201916020016124c0565b8215611f7c576000600019600885021c198251865482169119161782525050505050565b612cca8061299f83390190565b6000806040838503121561252557600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461254957600080fd5b915060208301357fffffffffffffffffffffffffffff0000000000000000000000000000000000008116811461257e57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156101ba576101ba612589565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b60005b838110156125f95781810151838201526020016125e1565b50506000910152565b6000815180845261261a8160208601602086016125de565b601f01601f19169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b8481101561267957601f19868403018952612667838351612602565b9884019892509083019060010161264b565b5090979650505050505050565b86815285602082015284604082015283606082015260c0608082015260006126b160c083018561262e565b82810360a08401526126c3818561262e565b9998505050505050505050565b818103818111156101ba576101ba612589565b80820281158282048414176101ba576101ba612589565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006119976060830184612602565b8281526040602082015260006116d46040830184612602565b602081526000611963602083018461262e565b805160208083015191908110156112c95760001960209190910360031b1b16919050565b6000835161279d8184602088016125de565b8351908301906127b18183602088016125de565b01949350505050565b600081518084526020808501945080840160005b838110156127ea578151875295820195908201906001016127ce565b509495945050505050565b60808152600061280860808301876127ba565b828103602084015261281a8187612602565b905084604084015282810360608401526128348185612602565b979650505050505050565b86815260c06020820152600061285860c08301886127ba565b828103604084015261286a8188612602565b905085606084015282810360808401526128848186612602565b9150508260a0830152979650505050505050565b600060001982036128ab576128ab612589565b5060010190565b82815260006020808301845182860160005b828110156128e0578151845292840192908401906001016128c4565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b60608152600061291660608301866127ba565b65ffffffffffff8516602084015282810360408401526129368185612602565b9695505050505050565b84815260806020820152600061295960808301866127ba565b65ffffffffffff8516604084015282810360608401526128348185612602565b60608152600061298c6060830186612602565b6020830194909452506040015291905056fe608060405234801561001057600080fd5b50612caa806100206000396000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c80636352211e116100cd578063a22cb46511610081578063c87b56dd11610066578063c87b56dd146102d1578063e1af802c146102e4578063e985e9c5146102ec57600080fd5b8063a22cb465146102ab578063b88d4fde146102be57600080fd5b80638832e6e3116100b25780638832e6e31461027d57806395d89b4114610290578063a14481941461029857600080fd5b80636352211e1461025757806370a082311461026a57600080fd5b806323b872dd1161012457806342842e0e1161010957806342842e0e1461021c57806342966c681461022f57806345ec93541461024257600080fd5b806323b872dd146101f657806340c10f191461020957600080fd5b8063081812fc11610155578063081812fc146101ae578063095ea7b3146101d9578063119df25f146101ee57600080fd5b806301ffc9a71461017157806306fdde0314610199575b600080fd5b61018461017f36600461259c565b6102ff565b60405190151581526020015b60405180910390f35b6101a1610398565b6040516101909190612609565b6101c16101bc36600461261c565b6103b7565b6040516001600160a01b039091168152602001610190565b6101ec6101e736600461264c565b6103cc565b005b6101c16103e2565b6101ec610204366004612676565b6103ec565b6101ec61021736600461264c565b61049c565b6101ec61022a366004612676565b6104ae565b6101ec61023d36600461261c565b6104ce565b36601f1901355b604051908152602001610190565b6101c161026536600461261c565b6104e2565b6102496102783660046126b2565b6104ed565b6101ec61028b366004612792565b61054b565b6101a161055e565b6101ec6102a636600461264c565b610573565b6101ec6102b93660046127e9565b610595565b6101ec6102cc366004612825565b6105a7565b6101a16102df36600461261c565b6105be565b6101c161065a565b6101846102fa36600461288d565b610664565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167fb421288000000000000000000000000000000000000000000000000000000000148061039257507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b60606103b26103ad6103a8610687565b6106a5565b6106d7565b905090565b60006103c2826106f5565b5061039282610746565b6103de82826103d96103e2565b610761565b5050565b60006103b261076e565b6001600160a01b03821661041b57604051633250574960e11b8152600060048201526024015b60405180910390fd5b600061042f838361042a6103e2565b6107a0565b9050836001600160a01b0316816001600160a01b031614610496576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b0380861660048301526024820184905282166044820152606401610412565b50505050565b6104a4610924565b6103de828261093f565b6104c9838383604051806020016040528060008152506105a7565b505050565b6104d6610924565b6104df816109bd565b50565b6000610392826106f5565b60006001600160a01b038216610532576040517f89c62b6400000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b610392610545610540610687565b610a11565b83610a43565b610553610924565b6104c9838383610ac9565b60606103b261056e6103a8610687565b610ae0565b61057b610924565b6103de828260405180602001604052806000815250610ac9565b6103de6105a06103e2565b8383610aff565b6105b28484846103ec565b61049684848484610c23565b60606105c9826106f5565b5060006105d4610d84565b905060006105f16105eb6105e6610687565b610d99565b85610dcb565b9050600081511161061c5760408051602081018690520160405160208183030381529060405261061e565b805b9050600082511161062f5780610652565b81816040516020016106429291906128c0565b6040516020818303038152906040525b949350505050565b60006103b2610e22565b6000610680610679610674610687565b610e61565b8484610e93565b9392505050565b60008061069330610f52565b905061069f8160101b90565b91505090565b6000610392613a3160f11b837f4d65746164617461000000000000000000000000000000000000000000000000611046565b604080516000808252602082019092526060916106528483836110cd565b60008061070183611194565b90506001600160a01b038116610392576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101849052602401610412565b600061039261075b610756610687565b6111a4565b836111d6565b6104c98383836001611256565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c8061079d5750335b90565b6000806107ae610540610687565b905060006107bb85611194565b90506001600160a01b038416156107d7576107d78185876113e8565b6001600160a01b0381161561080b576107f4600086600080611256565b61080b828260016108058686610a43565b0361147e565b6001600160a01b03861615610831576108318287610829858a610a43565b60010161147e565b61084b61084461083f610687565b61151b565b868861154d565b61085361160a565b6001600160a01b03166366c93bdb7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610892846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b169091526108e89291906001600160a01b038c16908b90602481016128ef565b600060405180830381600087803b15801561090257600080fd5b505af1158015610916573d6000803e3d6000fd5b509298975050505050505050565b61093d61093030610f52565b6109386103e2565b6116e5565b565b6001600160a01b03821661096957604051633250574960e11b815260006004820152602401610412565b6000610977838360006107a0565b90506001600160a01b038116156104c9576040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260006004820152602401610412565b60006109cc60008360006107a0565b90506001600160a01b0381166103de576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101839052602401610412565b6000610392613a3160f11b837f42616c616e636573000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610a8857610a88612925565b60209081029190910101526000610ac08583837e20010020000000000000000000000000000000000000000000000000000000611786565b95945050505050565b610ad3838361093f565b6104c96000848484610c23565b60408051600080825260208201909252606091610652848360016110cd565b6001600160a01b038216610b4a576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602401610412565b610b60610b58610674610687565b848484611843565b610b6861160a565b6001600160a01b031663c9a34acd7f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31610ba7866001600160a01b031690565b6001600160a01b038616604080518715156020820152016040516020818303038152906040526040518563ffffffff1660e01b8152600401610bec949392919061293b565b600060405180830381600087803b158015610c0657600080fd5b505af1158015610c1a573d6000803e3d6000fd5b50505050505050565b6001600160a01b0383163b1561049657826001600160a01b031663150b7a02610c4a6103e2565b8685856040518563ffffffff1660e01b8152600401610c6c9493929190612960565b6020604051808303816000875af1925050508015610ca7575060408051601f3d908101601f19168201909252610ca491810190612992565b60015b610d10573d808015610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b508051600003610d0857604051633250574960e11b81526001600160a01b0385166004820152602401610412565b805181602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081167f150b7a020000000000000000000000000000000000000000000000000000000014610d7d57604051633250574960e11b81526001600160a01b0385166004820152602401610412565b5050505050565b60606103b2610d946103a8610687565b611910565b6000610392613a3160f11b837f546f6b656e555249000000000000000000000000000000000000000000000000611046565b60408051600180825281830190925260609160009190602080830190803683370190505090508260001b81600081518110610e0857610e08612925565b6020026020010181815250506000610ac0858360006110cd565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680610e5c573391505090565b919050565b6000610392613a3160f11b837f4f70657261746f72417070726f76616c00000000000000000000000000000000611046565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b81600081518110610ed857610ed8612925565b602002602001018181525050826001600160a01b031660001b81600181518110610f0457610f04612925565b60209081029190910101526000610f3c8683837e01010001000000000000000000000000000000000000000000000000000000611786565b9050610f488160f81c90565b9695505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b81600081518110610f9757610f97612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f53797374656d5265676973747279000000000000000000000000000000000000603082015281518082039093018352810190526000906106529061101e906129af565b8360007e20010020000000000000000000000000000000000000000000000000000000611786565b6000611054607060106129ec565b7fffff00000000000000000000000000000000000000000000000000000000000085167dffffffffffffffffffffffffffff00000000000000000000000000000000601086901c16177fffffffffffffffffffffffffffffffff00000000000000000000000000000000841690911c1790509392505050565b606060006110d9610e22565b9050306001600160a01b038216036110fe576110f685858561192f565b915050610680565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e7889779061114790889088908890600401612a3a565b600060405180830381865afa158015611164573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110f69190810190612a66565b509392505050565b600061039261075b61083f610687565b6000610392613a3160f11b837f546f6b656e417070726f76616c00000000000000000000000000000000000000611046565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b8160008151811061121257611212612925565b6020908102919091010152600061124a8583837e14010014000000000000000000000000000000000000000000000000000000611786565b60601c95945050505050565b808061126a57506001600160a01b03821615155b156113d357600061127a846106f5565b90506001600160a01b038316158015906112a65750826001600160a01b0316816001600160a01b031614155b80156112b957506112b78184610664565b155b156112fb576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610412565b81156113d15761130961160a565b6001600160a01b03166366c93bdb7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925611348846001600160a01b031690565b604080516000815260208101918290527fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1690915261139e9291906001600160a01b038b16908a90602481016128ef565b600060405180830381600087803b1580156113b857600080fd5b505af11580156113cc573d6000803e3d6000fd5b505050505b505b6104966113e1610756610687565b848661154d565b6113f3838383611969565b6104c9576001600160a01b03831661143a576040517f7e27328900000000000000000000000000000000000000000000000000000000815260048101829052602401610412565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b038316600482015260248101829052604401610412565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b816000815181106114c0576114c0612925565b60200260200101818152505061049684826000856040516020016114e691815260200190565b60408051601f198184030181529190527e200100200000000000000000000000000000000000000000000000000000006119ce565b6000610392613a3160f11b837f4f776e6572730000000000000000000000000000000000000000000000000000611046565b604080516001808252818301909252600091602080830190803683370190505090508260001b8160008151811061158657611586612925565b60200260200101818152505061049684826000856040516020016115d5919060609190911b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016815260140190565b60408051601f198184030181529190527e140100140000000000000000000000000000000000000000000000000000006119ce565b60008061161630610f52565b60408051613a3160f11b60208201527f707570706574000000000000000000000000000000000000000000000000000060228201527f5075707065745265676973747279000000000000000000000000000000000000603082015291925060009161169a9101604051602081830303815290604052611694906129af565b83611a84565b90506001600160a01b038116610392576040517f9434f7e100000000000000000000000000000000000000000000000000000000815230600482015260248101839052604401610412565b6001600160a01b03811661173a7f6e730000000000000000000000000000000000000000000000000000000000007dffffffffffffffffffffffffffff00000000000000000000000000000000851617611abd565b6001600160a01b0316146103de5761175182611bb0565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610412929190612ad4565b600080611791610e22565b9050306001600160a01b038216036117b7576117af86868686611d2c565b915050610652565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611802908990899089908990600401612aff565b602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117af9190612b2e565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b8160008151811061188457611884612925565b602002602001018181525050826001600160a01b031660001b816001815181106118b0576118b0612925565b602002602001018181525050610d7d85826000856040516020016118db91151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006119ce565b60408051600080825260208201909252606091610652848360026110cd565b606061065261193f858585611d59565b6119628461194d8888611dd9565b9060ff166028026038011c64ffffffffff1690565b6000611dec565b60006001600160a01b038316158015906106525750826001600160a01b0316846001600160a01b031614806119a357506119a38484610664565b806106525750826001600160a01b03166119bc83610746565b6001600160a01b031614949350505050565b60006119d8610e22565b9050306001600160a01b038216036119fc576119f78686868686611e0f565b611a7c565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a499089908990899089908990600401612b47565b600060405180830381600087803b158015611a6357600080fd5b505af1158015611a77573d6000803e3d6000fd5b505050505b505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061121257611212612925565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611af657611af6612925565b60209081029190910181019190915260408051613a3160f11b818401527f776f726c6400000000000000000000000000000000000000000000000000000060228201527f4e616d6573706163654f776e657200000000000000000000000000000000000060308201528151808203909301835281019052600090611ba590611b7d906129af565b8360007e14010014000000000000000000000000000000000000000000000000000000611786565b60601c949350505050565b606081601081901b6000611bc383611e24565b9050827fffffffffffffffffffffffffffff000000000000000000000000000000000000831615611c16577fffffffffffffffffffffffffffff0000000000000000000000000000000000008316611c38565b7f524f4f545f4e414d4553504143450000000000000000000000000000000000005b7fffffffffffffffffffffffffffffffff00000000000000000000000000000000831615611c665782611c88565b7f524f4f545f4e414d4500000000000000000000000000000000000000000000005b6040517fffff00000000000000000000000000000000000000000000000000000000000090931660208401527f3a00000000000000000000000000000000000000000000000000000000000000602284018190527fffffffffffffffffffffffffffffffff00000000000000000000000000000000928316602385015260338401521660348201526044016040516020818303038152906040529350505050919050565b6000610ac0611d3b8686611e3b565b60ff858116601b0360080285901c16611d548587611e91565b611ecc565b60008383604051602001611d6e929190612b8e565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b6000610680611de88484611f1d565b5490565b60405160208101601f19603f858401011660405283825261118c85858584611f73565b610d7d8585611e1e8487611e91565b8561202b565b6000611e32607060106129ec565b9190911b919050565b60008282604051602001611e50929190612b8e565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff1681101561118c57611eb860ff601b83900360080287901c16836129ec565b915080611ec481612bc9565b915050611e96565b600060208210611ef257602082048401935060208281611eee57611eee612be3565b0691505b508254600882021b60208290038084111561118c576001850154600882021c82179150509392505050565b60008282604051602001611f32929190612b8e565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b8115611fe55760208210611f9d57602082048401935060208281611f9957611f99612be3565b0691505b8115611fe55760208290036000600019600883021c1990508554600885021b811984511682821617845250818511611fd6575050610496565b50600194909401939283900392015b5b602083106120075783548152600190930192601f1990920191602001611fe6565b8215610496576000600019600885021c198251865482169119161782525050505050565b60006120378585611e3b565b9050847f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be85858560405161206d93929190612bf9565b60405180910390a2613a3160f11b857fffff00000000000000000000000000000000000000000000000000000000000016146120a95750610496565b60006120b486612284565b905060005b81518110156121935760008282815181106120d6576120d6612925565b602002602001015190506121026004826affffffffffffffffffffff191661236490919063ffffffff16565b15612180576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061214d908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561216757600080fd5b505af115801561217b573d6000803e3d6000fd5b505050505b508061218b81612bc9565b9150506120b9565b506121a7828565ffffffffffff1685612382565b60005b8151811015610c1a5760008282815181106121c7576121c7612925565b602002602001015190506121f36008826affffffffffffffffffffff191661236490919063ffffffff16565b15612271576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba87219061223e908b908b908b908b90600401612c2c565b600060405180830381600087803b15801561225857600080fd5b505af115801561226c573d6000803e3d6000fd5b505050505b508061227c81612bc9565b9150506121aa565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106122be576122be612925565b60209081029190910181019190915260408051613a3160f11b818401527f73746f726500000000000000000000000000000000000000000000000000000060228201527f53746f7265486f6f6b73000000000000000000000000000000000000000000006030820152815180820390930183528101905260009061234d90612345906129af565b83600061192f565b905061065261235f8260008451612392565b612422565b60008160ff16826123758560581c90565b1660ff1614905092915050565b6104c98383602084018451612433565b60008183111580156123a5575083518211155b6123e1578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161041293929190612c65565b602084016123ef84826129ec565b905060006123fd8585612c8a565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b6060600061068083601560006124f3565b82156124ad576020831061245d5760208304840193506020838161245957612459612be3565b0692505b82156124ad5760208390036000600019600884021c1990506008850281811c91508451811c905081198754168282161787555081831161249e575050610496565b50600194909401939182019190035b5b602081106124cf5781518455600190930192602090910190601f19016124ae565b8015610496576000600019600883021c198554845182169119161785555050505050565b606060006125018560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161252757612527612be3565b04905060405193506020840160208202810160405281855260005b82811015612562578451871c825293870193602090910190600101612542565b50505050509392505050565b7fffffffff00000000000000000000000000000000000000000000000000000000811681146104df57600080fd5b6000602082840312156125ae57600080fd5b81356106808161256e565b60005b838110156125d45781810151838201526020016125bc565b50506000910152565b600081518084526125f58160208601602086016125b9565b601f01601f19169290920160200192915050565b60208152600061068060208301846125dd565b60006020828403121561262e57600080fd5b5035919050565b80356001600160a01b0381168114610e5c57600080fd5b6000806040838503121561265f57600080fd5b61266883612635565b946020939093013593505050565b60008060006060848603121561268b57600080fd5b61269484612635565b92506126a260208501612635565b9150604084013590509250925092565b6000602082840312156126c457600080fd5b61068082612635565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561270c5761270c6126cd565b604052919050565b600067ffffffffffffffff82111561272e5761272e6126cd565b50601f01601f191660200190565b600082601f83011261274d57600080fd5b813561276061275b82612714565b6126e3565b81815284602083860101111561277557600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000606084860312156127a757600080fd5b6127b084612635565b925060208401359150604084013567ffffffffffffffff8111156127d357600080fd5b6127df8682870161273c565b9150509250925092565b600080604083850312156127fc57600080fd5b61280583612635565b91506020830135801515811461281a57600080fd5b809150509250929050565b6000806000806080858703121561283b57600080fd5b61284485612635565b935061285260208601612635565b925060408501359150606085013567ffffffffffffffff81111561287557600080fd5b6128818782880161273c565b91505092959194509250565b600080604083850312156128a057600080fd5b6128a983612635565b91506128b760208401612635565b90509250929050565b600083516128d28184602088016125b9565b8351908301906128e68183602088016125b9565b01949350505050565b85815284602082015283604082015282606082015260a06080820152600061291a60a08301846125dd565b979650505050505050565b634e487b7160e01b600052603260045260246000fd5b848152836020820152826040820152608060608201526000610f4860808301846125dd565b60006001600160a01b03808716835280861660208401525083604083015260806060830152610f4860808301846125dd565b6000602082840312156129a457600080fd5b81516106808161256e565b805160208083015191908110156129d0576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610392576103926129d6565b600081518084526020808501945080840160005b83811015612a2f57815187529582019590820190600101612a13565b509495945050505050565b838152606060208201526000612a5360608301856129ff565b905060ff83166040830152949350505050565b600060208284031215612a7857600080fd5b815167ffffffffffffffff811115612a8f57600080fd5b8201601f81018413612aa057600080fd5b8051612aae61275b82612714565b818152856020838501011115612ac357600080fd5b610ac08260208301602086016125b9565b604081526000612ae760408301856125dd565b90506001600160a01b03831660208301529392505050565b848152608060208201526000612b1860808301866129ff565b60ff949094166040830152506060015292915050565b600060208284031215612b4057600080fd5b5051919050565b85815260a060208201526000612b6060a08301876129ff565b60ff861660408401528281036060840152612b7b81866125dd565b9150508260808301529695505050505050565b82815260006020808301845182860160005b82811015612bbc57815184529284019290840190600101612ba0565b5091979650505050505050565b60006000198203612bdc57612bdc6129d6565b5060010190565b634e487b7160e01b600052601260045260246000fd5b606081526000612c0c60608301866129ff565b65ffffffffffff851660208401528281036040840152610f4881856125dd565b848152608060208201526000612c4560808301866129ff565b65ffffffffffff85166040840152828103606084015261291a81856125dd565b606081526000612c7860608301866125dd565b60208301949094525060400152919050565b81810381811115610392576103926129d656fea164736f6c6343000815000aa164736f6c6343000815000a","sourceMap":"3613:686:241:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:550;;;;;;:::i;:::-;;:::i;:::-;;;3843:62;3869:35;3894:9;3869:24;:35::i;:::-;3843:25;:62::i;:::-;3911:42;3927:25;3942:9;3927:14;:25::i;:::-;3911:15;:42::i;:::-;3959:56;3982:32;4004:9;3982:21;:32::i;:::-;3959:22;:56::i;:::-;4021:46;4039:27;4056:9;4039:16;:27::i;:::-;4021:17;:46::i;:::-;4073;4091:27;4108:9;4091:16;:27::i;:::-;4073:17;:46::i;:::-;4125:52;4149:27;4166:9;4149:16;:27::i;:::-;4125:23;:52::i;:::-;4218:5;:20;;;4239:26;4255:9;4239:15;:26::i;:::-;4267:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4218:74:241;;;;;;;;;;;;;828:25:307;;;;901:42;889:55;869:18;;;862:83;4287:4:241;961:18:307;;;954:50;801:18;;4218:74:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3747:550;;:::o;892:198:257:-;959:10;982:105;-1:-1:-1;;;1045:9:257;1062:22;982:25;:105::i;:::-;975:112;892:198;-1:-1:-1;;892:198:257:o;2798:174:253:-;2852:115;2878:8;1162:66;2902:14;:12;:14::i;:::-;2918:16;:14;:16::i;:::-;2936:13;:11;:13::i;:::-;2951:15;:13;:15::i;:::-;2852:25;:115::i;:::-;2798:174;:::o;1092:177:257:-;1149:10;1172:94;-1:-1:-1;;;1235:9:257;1252:11;1172:25;:94::i;2720:174:254:-;2774:115;2800:8;1162:66;2824:14;:12;:14::i;:::-;2840:16;:14;:16::i;:::-;2858:13;:11;:13::i;:::-;2873:15;:13;:15::i;1271:192:257:-;1335:10;1358:102;-1:-1:-1;;;1421:9:257;1438:19;1358:25;:102::i;2729:174:255:-;2783:115;2809:8;1162:66;2833:14;:12;:14::i;:::-;2849:16;:14;:16::i;:::-;2867:13;:11;:13::i;:::-;2882:15;:13;:15::i;1465:182:257:-;1524:10;1547:97;-1:-1:-1;;;1610:9:257;1627:14;1547:25;:97::i;2724:174:256:-;2778:115;2804:8;1162:66;2828:14;:12;:14::i;:::-;2844:16;:14;:16::i;:::-;2862:13;:11;:13::i;:::-;2877:15;:13;:15::i;526:181:257:-;585:10;608:96;-1:-1:-1;;;671:9:257;688:13;608:25;:96::i;2722:174:289:-;2776:115;2802:8;1162:66;2826:14;:12;:14::i;:::-;2842:16;:14;:16::i;:::-;2860:13;:11;:13::i;:::-;2875:15;:13;:15::i;709:181:257:-;768:10;791:96;-1:-1:-1;;;854:9:257;871:13;791:25;:96::i;2881:174:251:-;2935:115;2961:8;1162:66;2985:14;:12;:14::i;:::-;3001:16;:14;:16::i;:::-;3019:13;:11;:13::i;:::-;3034:15;:13;:15::i;1649:186:257:-;1707:10;1730:102;1766:15;1794:9;1811:18;1008:257:164;1095:10;1224:26;399:6;336:5:122;1224:26:164;:::i;:::-;1151:15;;;1170:31;336:5:122;1170:31:164;;;;1151:51;1206:13;;;:45;;;1151:101;;-1:-1:-1;1008:257:164;;;;;:::o;1584:240:253:-;1678:19;;;1695:1;1678:19;;;;;;;;1631:6;;;;1678:19;1695:1;1678:19;;;;;;;;;;-1:-1:-1;1678:19:253;1645:52;;1719:18;1703:10;1714:1;1703:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;1759:18;1743:10;1754:1;1743:13;;;;;;;;:::i;:::-;;;;;;:34;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1791:28:253;1808:10;1791:16;:28::i;:::-;1784:35;;;1584:240;:::o;1941:205::-;2039:19;;;2056:1;2039:19;;;;;;;;;1990:6;;;;2039:19;;;;;;;;;;;;-1:-1:-1;2039:19:253;2004:54;;2082:15;2064:12;2077:1;2064:15;;;;;;;;:::i;2280:166::-;2369:15;;;2382:1;2369:15;;;2326:24;2369:15;;;;;;;;;;;;;;;;;;;;;;;;;;2358:26;;2390:21;;;;;;;;;;;;;;;;;:8;2399:1;2390:11;;;;;;;;:::i;:::-;;;;;;:21;;;;2417:24;;;;;;;;;;;;;;;;;:8;2426:1;2417:11;;;;;;;;:::i;:::-;;;;;;:24;;;;2280:166;:::o;2586:147::-;2681:15;;;2694:1;2681:15;;;;;;;;;2634:26;;2681:15;;;;;;;;;;;;;;;;;;;;2668:28;;2702:26;;;;;;;;;;;;;;;;;:10;2713:1;2702:13;;;;;;;;:::i;5574:520:130:-;5777:21;5801:17;:15;:17::i;:::-;5777:41;-1:-1:-1;5853:4:130;5828:30;;;;5824:266;;5868:91;5892:7;5901:11;5914:9;5925:11;5938:8;5948:10;5868:23;:91::i;:::-;5824:266;;;5980:103;;;;;:35;;;;;;:103;;6016:7;;6025:11;;6038:9;;6049:11;;6062:8;;6072:10;;5980:103;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5824:266;5771:323;5574:520;;;;;;:::o;1574:200:254:-;1668:19;;;1685:1;1668:19;;;;;;;;;1621:6;;;;1668:19;;;;;;;;;;;;-1:-1:-1;1668:19:254;1635:52;;1709:18;1693:10;1704:1;1693:13;;;;;;;;:::i;1891:208::-;1989:19;;;2006:1;1989:19;;;;;;;;;1940:6;;;;1989:19;;;;;;;;;;;;-1:-1:-1;1989:19:254;1954:54;;2032:18;2014:12;2027:1;2014:15;;;;;;;;:::i;2233:138::-;2322:15;;;2335:1;2322:15;;;;;;;;;2279:24;;2322:15;;;;;;;;;;;;;;;;;;;;2311:26;;2343:23;;;;;;;;;;;;;;;;;:8;2352:1;2343:11;;;;;;;;:::i;2511:144::-;2606:15;;;2619:1;2606:15;;;;;;;;;2559:26;;2606:15;;;;;;;;;;;;;;;;;;;;2593:28;;2627:23;;;;;;;;;;;;;;;;;:10;2638:1;2627:13;;;;;;;;:::i;2518:146:255:-;2613:15;;;2626:1;2613:15;;;;;;;;;2566:26;;2613:15;;;;;;;;;;;;;;;;;;;;2600:28;;2634:25;;;;;;;;;;;;;;;;;:10;2645:1;2634:13;;;;;;;;:::i;1893:207:256:-;1991:19;;;2008:1;1991:19;;;;;;;;;1942:6;;;;1991:19;;;;;;;;;;;;-1:-1:-1;1991:19:256;1956:54;;2034:17;2016:12;2029:1;2016:15;;;;;;;;:::i;2512:147::-;2607:15;;;2620:1;2607:15;;;;;;;;;2560:26;;2607:15;;;;;;;;;;;;;;;;;;;;2594:28;;2628:26;;;;;;;;;;;;;;;;;:10;2639:1;2628:13;;;;;;;;:::i;2513:144:289:-;2608:15;;;2621:1;2608:15;;;;;;;;;2561:26;;2608:15;;;;;;;;;;;;;;;;;;;;2595:28;;2629:23;;;;;;;;;;;;;;;;;:10;2640:1;2629:13;;;;;;;;:::i;1663:160:251:-;1757:19;;;1710:6;1757:19;;;;;;;;;1790:28;1807:10;1790:16;:28::i;1940:289::-;2038:19;;;2055:1;2038:19;;;;;;;;;1989:6;;;;2038:19;;;;;;;;;;;-1:-1:-1;2038:19:251;2003:54;;2081:17;2063:12;2076:1;2063:15;;;;;;;;:::i;:::-;;;;;;:35;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2122:17;2104:12;2117:1;2104:15;;;;;;;;:::i;:::-;;;;;;:35;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;2163:17;2145:12;2158:1;2145:15;;;;;;;;:::i;2363:109::-;2452:15;;;2465:1;2452:15;;;;;;;;;2409:24;;2452:15;;;;;;;;;;;;;;;;;;;;2441:26;;2363:109;:::o;2612:204::-;2707:15;;;2720:1;2707:15;;;;;;;;;2660:26;;2707:15;;;;;;;;;;;;;;;;;;;;2694:28;;2728:22;;;;;;;;;;;;;;;;;:10;2739:1;2728:13;;;;;;;;:::i;:::-;;;;;;:22;;;;2756:24;;;;;;;;;;;;;;;;;:10;2767:1;2756:13;;;;;;;;:::i;:::-;;;;;;:24;;;;2786:25;;;;;;;;;;;;;;;;;:10;2797:1;2786:13;;;;;;;;:::i;1247:2059:123:-;1315:6;647:2:136;1333:7:123;:14;:33;1329:85;;;1399:7;:14;1375:39;;-1:-1:-1;;;1375:39:123;;;;;;4210:25:307;;4198:2;4183:18;;4064:177;1375:39:123;;;;;;;;1329:85;1420:14;;;;1621:956;1645:7;:14;1641:1;:18;1621:956;;;1671:24;1698:32;:7;1706:1;1698:10;;;;;;;;:::i;:::-;;;;;;;:30;;;;;;;;:::i;:::-;;:32::i;:::-;1671:59;;1743:16;1763:1;1743:21;1739:404;;1928:15;;;;;1739:404;;;1972:17;;1968:175;;2096:38;;;;;;;;;;;;;;1968:175;2269:16;2254:31;;;;537:1:136;2531::123;2527;437:2:136;2509:19:123;:23;2508:40;2492:7;2500:1;2492:10;;;;;;;;:::i;:::-;;;;;;;2484:19;;;;;;;;:::i;:::-;:65;;2474:75;;;;;-1:-1:-1;2559:3:123;;1621:956;;;;902:1:136;2621:13:123;:34;2617:85;;;2664:38;;-1:-1:-1;;;2664:38:123;;;;;4210:25:307;;;4183:18;;2664:38:123;4064:177:307;2617:85:123;2802:14;;:30;;;537:1:136;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;3090:41:123;;;3080:51;;;;;537:1:136;1425;1409:13;1421:1;334:2;1409:13;:::i;:::-;:17;;;;:::i;:::-;1408:34;;;;:::i;:::-;3147:47:123;;;3137:57;;;;;537:1:136;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;3210:49:123;;;;3200:59;;;;;1247:2059;-1:-1:-1;;;;1247:2059:123:o;1766:227:130:-;996:42;1855:22;1816:7;;1855:22;;;1883:106;;1931:10;1924:17;;;1766:227;:::o;1883:106::-;1969:13;1766:227;-1:-1:-1;1766:227:130:o;7479:1764:126:-;-1:-1:-1;;;7739:7:126;:35;;;;;;:83;;-1:-1:-1;7799:23:126;7778:7;:44;;;;7739:83;7735:209;;;-1:-1:-1;;;7894:7:126;7927;7910:25;;;;;;4713:19:307;;4757:2;4748:12;;4552:214;7910:25:126;;;;-1:-1:-1;;7910:25:126;;;;;;;;;;7839:98;;;;;;;;;;:::i;7735:209::-;7990:43;:11;8025:5;7990:20;:43::i;:::-;8074:40;:9;8107:4;8074:18;:40::i;:::-;8120:43;:11;8155:5;8120:20;:43::i;:::-;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8251:8:126;:15;:40;8247:148;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8372:15:126;;8308:80;;;;;;;;5415:25:307;;;;5456:18;;;5449:34;5388:18;;8308:80:126;5241:248:307;8247:148:126;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8445:10:126;:17;:44;8441:158;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8574:17:126;;8506:86;;;;;;;;5415:25:307;;;;5456:18;;;5449:34;5388:18;;8506:86:126;5241:248:307;8441:158:126;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8656:50:126;8652:171;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;1576:38:136;5165:60:123;;;1408:34:136;5088:59:123;;;5082:144;5067:159;;8723:93:126;;;;;;;;5415:25:307;;;;5456:18;;;5449:34;5388:18;;8723:93:126;5241:248:307;8652:171:126;8885:31;8908:7;8885:22;:31::i;:::-;8881:140;;;8971:7;9004;8987:25;;;;;;4713:19:307;;4757:2;4748:12;;4552:214;8987:25:126;;;;-1:-1:-1;;8987:25:126;;;;;;;;;;8933:81;;;;;;;;;:::i;8881:140::-;9062:103;9074:7;9083:11;9096:9;9107:11;9131:8;9120:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;9153:10;9142:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;9062:11;:103::i;:::-;9201:37;9224:7;9233:4;9201:22;:37::i;3195:520:107:-;3261:7;3274:13;3296:10;3290:17;;;;;;;;:::i;:::-;3274:33;;;;3324:2;3316:5;:10;3312:401;;;3568:2;3560:10;3574:1;3559:16;;;-1:-1:-1;;3195:520:107:o;3312:401::-;3610:18;3596:10;:32;;;;;;;;:::i;:::-;;3592:121;;-1:-1:-1;3643:2:107;;3195:520;-1:-1:-1;;3195:520:107:o;3592:121::-;-1:-1:-1;3707:1:107;;3195:520;-1:-1:-1;;3195:520:107:o;3592:121::-;3270:445;3195:520;;;:::o;6418:1197:109:-;6540:10;6539:11;:36;;;;-1:-1:-1;6022:45:109;;6554:21;6535:95;;;6584:46;;;;;6628:1;6584:46;;;4210:25:307;4183:18;;6584:46:109;4064:177:307;6535:95:109;6698:25;6726:30;:11;:28;:30::i;:::-;6698:58;;902:1:136;6766:17:109;:38;6762:113;;;6813:62;;;;;;;;4210:25:307;;;4183:18;;6813:62:109;4064:177:307;6762:113:109;6882:24;6909:29;:11;:27;:29::i;:::-;6882:56;-1:-1:-1;7013:23:109;7039:36;7058:17;6882:56;7039:36;:::i;:::-;7013:62;;647:2:136;7085:15:109;:34;7081:107;;;7128:60;;;;;;;;4210:25:307;;;4183:18;;7128:60:109;4064:177:307;7081:107:109;7236:9;7231:380;7251:16;7247:1;:20;7231:380;;;3996:93;4044:19;:27;;;537:1:136;4043:44:109;4009:79;;;3996:93;7279:24;7340:21;;;7336:230;;7380:50;;;;;;;;;;;;;;7336:230;334:2:136;7449:16:109;:28;7445:121;;;7496:61;;;;;;;;;;;;;;7445:121;-1:-1:-1;7593:3:109;;7231:380;;5689:1683:123;5796:10;5795:11;:31;;;;-1:-1:-1;6022:45:109;;5810:16:123;5791:80;;;5835:36;;-1:-1:-1;;;5835:36:123;;5869:1;5835:36;;;4210:25:307;4183:18;;5835:36:123;4064:177:307;5791:80:123;5934:25;5962;:6;:23;:25::i;:::-;5934:53;;902:1:136;5997:17:123;:38;5993:103;;;6044:52;;-1:-1:-1;;;6044:52:123;;;;;4210:25:307;;;4183:18;;6044:52:123;4064:177:307;5993:103:123;6103:24;6130;:6;:22;:24::i;:::-;6103:51;-1:-1:-1;6224:23:123;6250:36;6269:17;6103:51;6250:36;:::i;:::-;6224:62;;647:2:136;6296:15:123;:34;6292:97;;;6339:50;;-1:-1:-1;;;6339:50:123;;;;;4210:25:307;;;4183:18;;6339:50:123;4064:177:307;6292:97:123;6448:25;6479:26;6516:9;6511:551;6531:15;6527:1;:19;6511:551;;;6604:1;6562:39;:17;:6;6577:1;6562:14;:17::i;:::-;:37;;;;;;;;:::i;:39::-;:43;6558:459;;;6666:16;6661:1;:21;6657:82;;6691:48;;;;;;;;;;;;;;6657:82;6771:19;;;;;6558:459;;;6873:16;6869:1;:20;6865:81;;;6898:48;;;;;;;;;;;;;;6865:81;6978:20;;;;;6558:459;7044:3;;6511:551;;;;7135:16;7114:17;:37;7110:102;;7160:52;;-1:-1:-1;;;7160:52:123;;;;;4210:25:307;;;4183:18;;7160:52:123;4064:177:307;7110:102:123;7288:17;7266:18;:39;7262:105;;7314:53;;-1:-1:-1;;;7314:53:123;;;;;4210:25:307;;;4183:18;;7314:53:123;4064:177:307;3569:314:133;3683:16;;;3697:1;3683:16;;;;;;;;;3635:11;;;;3683:16;;;;;;;;;;;;-1:-1:-1;3683:16:133;3654:45;;3738:10;3705:9;3715:1;3705:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:133;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1098:22:133;6697:12:307;;;6690:101;1047:74:133;;;;;;;;;;6807:12:307;;1047:74:133;;-1:-1:-1;;3772:62:133;;1039:83;;;:::i;:::-;3807:9;3818:1;1234:66;3772:24;:62::i;:::-;3756:78;;3848:29;3869:5;3856:20;;1596:10:122;1487:126;3848:29:133;3840:38;3569:314;-1:-1:-1;;;;3569:314:133:o;20632:676:135:-;25186:53;;;;;;7672:19:307;;;7707:12;;;7700:28;;;25159:12:135;7744::307;;;7737:28;;;25186:53:135;;;;;;;;;;7781:12:307;;;;25186:53:135;;;20923:29;20955:55;20969:18;20989:20;20955:13;:55::i;:::-;20923:87;;21016:25;21044:55;21058:18;21078:20;21044:13;:55::i;:::-;21135:16;;;21149:1;21135:16;;;;;;;;;21016:83;;-1:-1:-1;21106:26:135;;21135:16;;;;;;;;;;;;-1:-1:-1;21135:16:135;21106:45;;21190:7;21157:9;21167:1;21157:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1147:69;;;-1:-1:-1;;;1147:69:135;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1198:17:135;6697:12:307;;;6690:101;1147:69:135;;;;;;;;;;6807:12:307;;1147:69:135;;21205:98;;1139:78;;;:::i;:::-;21235:9;21246:11;21259:15;21276:12;1324:66;21205:19;:98::i;:::-;20834:474;;;;20632:676;;;;;;:::o;4933:268:133:-;5033:16;;;5047:1;5033:16;;;;;;;;;5004:26;;5033:16;;;;;;;;;;;-1:-1:-1;5033:16:133;5004:45;;5088:10;5055:9;5065:1;5055:12;;;;;;;;:::i;:::-;;;;;;;;;;;:44;;;;1047:74;;;-1:-1:-1;;;1047:74:133;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1098:22:133;6697:12:307;;;6690:101;1047:74:133;;;;;;;;;;6807:12:307;;1047:74:133;;5106:90;;1039:83;;;:::i;:::-;5141:9;5152:1;5173:6;5155:26;;;;;;7343:14:307;7336:22;7331:3;7327:32;7315:45;;7385:1;7376:11;;7192:201;5155:26:133;;;;-1:-1:-1;;5155:26:133;;;;;;;;;1234:66;5106:24;:90::i;:::-;4998:203;4933:268;;:::o;5098:173:109:-;5172:7;537:1:136;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5208:11:109;5187:79;5200:65;;5187:79;;5098:173;-1:-1:-1;;5098:173:109:o;4700:171::-;4773:7;537:1:136;1425;1409:13;1421:1;334:2;1409:13;:::i;3948:206:123:-;4018:10;4108:19;:27;;;4139:1;4107:33;4086:6;4061:82;4078:63;;4061:82;;;;;;;;;:::i;:::-;4054:89;3948:206;-1:-1:-1;;;3948:206:123:o;35212:541:126:-;35369:7;35506:242;35550:59;35591:7;35600:8;35550:40;:59::i;:::-;35627:31;;;;4044:19:109;:27;537:1:136;4043:44:109;4009:79;;;3996:93;35676:63:126;35715:11;35728:10;35676:38;:63::i;:::-;35506:17;:242::i;:::-;35493:255;35212:541;-1:-1:-1;;;;;35212:541:126:o;25435:388:135:-;25743:32;;25777:34;;25561:29;;2377:5:121;;;785;2408:39;;;;2390:58;2489:23;2474:39;;;;2456:58;25721:91:135;2236:344:121;25988:234:135;26114:12;26165:18;26194:20;26141:76;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26134:83;;25988:234;;;;:::o;12721:3002:126:-;12994:7;12978:75;13003:8;13013:10;13025:14;13041:11;12978:75;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;13118:7:126;:35;;;13163:7;13114:62;13314:22;13339:24;13355:7;13339:15;:24::i;:::-;13314:49;;13374:9;13369:340;13389:5;:12;13385:1;:16;13369:340;;;13416:9;13438:5;13444:1;13438:8;;;;;;;;:::i;:::-;;;;;;;13416:31;;13459:33;343:6:138;13459:4:126;:14;;;;;:33;;;;:::i;:::-;13455:248;;;13504:190;;;;;3392:35:110;;;;;13504:47:126;;:190;;13563:7;;13582:8;;13602:10;;13624:14;;13650:11;;13673;;13504:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13455:248;-1:-1:-1;13403:3:126;;;;:::i;:::-;;;;13369:340;;;;13772:26;13801:59;13842:7;13851:8;13801:40;:59::i;:::-;13772:88;-1:-1:-1;13866:21:126;826:4:120;816:15;;13866:54:126;;13926:149;13964:18;13998:1;14022:13;14051:10;:17;13926:13;:149::i;:::-;14175:1;14142:30;:11;:28;:30::i;:::-;:34;14138:1174;;;14261:33;14297:66;14345:7;14354:8;14297:47;:66::i;:::-;579:28:125;;;14261:102:126;-1:-1:-1;826:4:120;816:15;;14537:47:126;;14693:27;14728:25;14766:7;14761:545;14779:30;:11;:28;:30::i;:::-;14775:1;:34;;;14761:545;;;14845:63;14887:7;14896:8;14906:1;14845:41;:63::i;:::-;14823:85;-1:-1:-1;14938:25:126;:14;14961:1;6743:16:121;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;14938:25:126;14918:45;;14973:170;15015:19;15054:1;15082:13;15115:17;14973:13;:170::i;:::-;15153:34;15170:17;15153:34;;:::i;:::-;;-1:-1:-1;15284:3:126;;14761:545;;;;14178:1134;;;14138:1174;15386:9;15381:338;15401:5;:12;15397:1;:16;15381:338;;;15428:9;15450:5;15456:1;15450:8;;;;;;;;:::i;:::-;;;;;;;15428:31;;15471:32;437:6:138;15471:4:126;:14;;;;;:32;;;;:::i;:::-;15467:246;;;15515:189;;;;;3392:35:110;;;;;15515:46:126;;:189;;15573:7;;15592:8;;15612:10;;15634:14;;15660:11;;15683;;15515:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15467:246;-1:-1:-1;15415:3:126;;;;:::i;:::-;;;;15381:338;;22277:355;22449:178;22483:7;22508:8;22538:63;22577:11;22590:10;22538:38;:63::i;:::-;22616:4;22449:16;:178::i;:::-;22277:355;;;;;:::o;49619:191::-;49721:7;49785;49794:8;49768:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;49768:35:126;;;;;;;;;49758:46;;49768:35;49758:46;;;;41226:22;49751:53;;49619:191;-1:-1:-1;;;49619:191:126:o;50636:242::-;50732:7;;;50771:84;50791:10;50787:14;;:1;:14;50771:84;;;50816:32;3996:93:109;4044:19;:27;;;537:1:136;4043:44:109;4009:79;;;3996:93;50816:32:126;;:::i;:::-;;-1:-1:-1;50803:3:126;;;;:::i;:::-;;;;50771:84;;;-1:-1:-1;50867:6:126;50636:242;-1:-1:-1;;;50636:242:126:o;8680:790:125:-;8778:14;8814:2;8804:6;:12;8800:112;;8873:2;8864:6;:11;8846:29;;;;8895:2;8885:12;;;;;;:::i;:::-;;;;8800:112;-1:-1:-1;9092:21:125;;9088:1;9076:14;;9072:42;9240:2;:11;;;9322:22;;;9318:148;;;9447:1;9431:14;9427:22;9421:29;9417:1;9402:13;9398:21;9394:57;9386:6;9383:69;9373:79;;8794:676;8680:790;;;;;:::o;4372:342:134:-;4488:16;;;4502:1;4488:16;;;;;;;;;4429:22;;4459:26;;4488:16;;;;;;;;;;;;-1:-1:-1;4488:16:134;4459:45;;4543:7;4510:9;4520:1;4510:12;;;;;;;;:::i;:::-;;;;;;;;;;;:41;;;;1047:73;;;-1:-1:-1;;;1047:73:134;;;6480:92:307;-1:-1:-1;;;6588:11:307;;;6581:100;1098:21:134;6697:12:307;;;6690:101;1047:73:134;;;;;;;;;;6807:12:307;;1047:73:134;;-1:-1:-1;;4579:49:134;;1039:82;;;:::i;:::-;4615:9;4626:1;4579:25;:49::i;:::-;4558:70;;4642:66;:44;4663:5;4670:1;4673:5;:12;4642:20;:44::i;:::-;:64;:66::i;2891:136:110:-;2961:4;3013:9;2980:42;;2999:9;2981:15;2991:4;3790:26;;;3660:162;2981:15;:27;2980:42;;;2973:49;;2891:136;;;;:::o;1373:2326:125:-;1486:10;;1482:1491;;1639:2;1629:6;:12;1625:122;;1702:2;1693:6;:11;1675:29;;;;1726:2;1716:12;;;;;;:::i;:::-;;;;1625:122;1837:10;;1833:1134;;2045:2;:11;;;1919:21;-1:-1:-1;;1080:1:137;1067:14;;1045:37;1043:40;2077:31:125;;2277:1;2269:6;2265:14;2313:4;2302:9;2298:20;2290:28;;2368:13;2362:20;2351:9;2347:36;2329:54;;2616:4;2612:9;2595:14;2589:21;2585:37;2516:4;2504:10;2500:21;2443:193;2415:14;2395:253;;2707:13;2697:6;:23;2693:36;;2722:7;;;;2693:36;-1:-1:-1;2870:1:125;2852:19;;;;;2883:30;;;;2925:23;;1833:1134;3003:253;3020:2;3010:6;:12;3003:253;;3115:20;;3092:44;;3189:1;3171:19;;;;3217:2;3200:19;;;;-1:-1:-1;;3229:12:125;3003:253;;;3324:10;;3320:375;;3626:21;;3542:20;;-1:-1:-1;;1080:1:137;1067:14;;1045:37;3622::125;;;1043:40:137;;3538:31:125;3487:184;3443:238;;3320:375;1373:2326;;;;:::o;52184:230:126:-;52305:7;52389;52398:8;52372:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52372:35:126;;;;;;;;;52362:46;;52372:35;52362:46;;;;41389:40;52335:73;;52184:230;-1:-1:-1;;;52184:230:126:o;51555:274::-;51699:7;51804;51813:8;51787:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;51777:46;;;;;;51756:17;51749:25;;51729:45;;;41298:34;51729:45;:94;51721:103;;51714:110;;51555:274;;;;;:::o;16359:1506::-;16480:16;16499:59;16540:7;16549:8;16499:40;:59::i;:::-;16480:78;;16660:7;16616:100;16679:8;16696:5;16709:4;16616:100;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;16781:7:126;:35;;;16777:62;;16826:7;;;16777:62;16984:22;17009:24;17025:7;17009:15;:24::i;:::-;16984:49;;17044:9;17039:328;17059:5;:12;17055:1;:16;17039:328;;;17086:9;17108:5;17114:1;17108:8;;;;;;;;:::i;:::-;;;;;;;17086:31;;17129:41;548:6:138;17129:4:126;:14;;;;;:41;;;;:::i;:::-;17125:236;;;17182:170;;;;;3392:35:110;;;;;17182:54:126;;:170;;17258:7;;17287:8;;17314:5;;17337:4;;17182:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17125:236;-1:-1:-1;17073:3:126;;;;:::i;:::-;;;;17039:328;;;;17416:70;17448:8;17466:5;17416:70;;17479:4;17416:13;:70::i;:::-;17540:9;17535:326;17555:5;:12;17551:1;:16;17535:326;;;17582:9;17604:5;17610:1;17604:8;;;;;;;;:::i;:::-;;;;;;;17582:31;;17625:40;657:6:138;17625:4:126;:14;;;;;:40;;;;:::i;:::-;17621:234;;;17677:169;;;;;3392:35:110;;;;;17677:53:126;;:169;;17752:7;;17781:8;;17808:5;;17831:4;;17677:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17621:234;-1:-1:-1;17569:3:126;;;;:::i;:::-;;;;17535:326;;36221:522;36357:12;36481:257;36520:79;36562:7;36571:8;36581:17;36520:41;:79::i;:::-;36617:93;36692:17;36617:66;36665:7;36674:8;36617:47;:66::i;:::-;:74;6743:16:121;;862:5;6743:16;785:5;6732:27;6692:68;6670:92;;;6555:218;36617:93:126;36728:1;36481:12;:257::i;2022:570:124:-;2113:5;2211:3;2202:5;:12;;:34;;;;;2225:4;:11;2218:3;:18;;2202:34;2196:85;;2264:4;2270:5;2277:3;2246:35;;;;;;;;;;;;;:::i;2196:85::-;2349:4;2339:15;;2396:17;2408:5;2339:15;2396:17;:::i;:::-;;-1:-1:-1;2419:12:124;2434:11;2440:5;2434:3;:11;:::i;:::-;643:17;2570:15;2562:3;2550:15;;;;2549:37;;;;;;-1:-1:-1;;;;;2022:570:124:o;40037:220:140:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;850:162:125:-;939:68;945:14;961:6;826:4:120;816:15;;995:4:125;:11;939:5;:68::i;52752:301:126:-;52873:13;52965:82;52996:48;53026:7;53035:8;52996:29;:48::i;:::-;4572:21:125;;4466:137;4903:665;5315:4;5309:11;5356:4;5344:17;;-1:-1:-1;;5234:14:125;5403:26;;;5234:14;5230:28;5375:4;5368:63;5475:6;5467;5460:22;5493:51;5498:14;5514:6;5522;5530:13;5493:4;:51::i;2631:1127:142:-;2751:22;2781:21;2805;:11;2946:3:124;2924:25;;2850:104;2805:21:142;2781:45;-1:-1:-1;643:17:124;3187:38;;2832:20:142;2994:11;3187:38:124;2994:11:142;2979:26;;;;:::i;:::-;;2965:40;;3114:4;3108:11;3099:20;;3157:4;3150:5;3146:16;3217:2;3204:11;3200:20;3186:12;3182:39;3176:4;3169:53;3265:11;3258:5;3251:26;3308:1;3285:463;3324:11;3321:1;3318:18;3285:463;;;3718:20;;3697:42;;3676:64;;3590:31;;;;3503:4;3485:23;;;;3411:1;3404:9;3285:463;;;3289:28;;3066:688;;;2631:1127;;;;;:::o;5933:2258:125:-;6050:10;;6046:1421;;6203:2;6193:6;:12;6189:122;;6266:2;6257:6;:11;6239:29;;;;6290:2;6280:12;;;;;;:::i;:::-;;;;6189:122;6401:10;;6397:1064;;6609:2;:11;;;6483:21;-1:-1:-1;;1080:1:137;1067:14;;1045:37;1043:40;6641:38:125;;6863:14;6857:21;6853:1;6845:6;6841:14;6837:42;7110:4;7106:9;7090:13;7084:20;7080:36;7011:4;6999:10;6995:21;6938:192;6911:13;6891:251;;7201:13;7191:6;:23;7187:36;;7216:7;;;;7187:36;-1:-1:-1;7364:1:125;7346:19;;;;;7419:23;;;;;7377:30;6397:1064;7496:253;7513:2;7503:6;:12;7496:253;;7607:21;;7585:44;;7682:1;7664:19;;;;-1:-1:-1;;7722:12:125;;;;7710:2;7693:19;7496:253;;;7817:10;;7813:374;;7837:12;-1:-1:-1;;1080:1:137;1067:14;;1045:37;1043:40;8119:20:125;;8034:21;;8030:32;;8141:9;;8115:36;7979:184;7936:237;;-1:-1:-1;5933:2258:125;;;;:::o;-1:-1:-1:-;;;;;;;;:::o;14:558:307:-;102:6;110;163:2;151:9;142:7;138:23;134:32;131:52;;;179:1;176;169:12;131:52;218:9;205:23;268:42;261:5;257:54;250:5;247:65;237:93;;326:1;323;316:12;237:93;349:5;-1:-1:-1;406:2:307;391:18;;378:32;454:66;441:80;;429:93;;419:121;;536:1;533;526:12;419:121;559:7;549:17;;;14:558;;;;;:::o;1015:184::-;-1:-1:-1;;;1064:1:307;1057:88;1164:4;1161:1;1154:15;1188:4;1185:1;1178:15;1204:125;1269:9;;;1290:10;;;1287:36;;;1303:18;;:::i;1523:184::-;-1:-1:-1;;;1572:1:307;1565:88;1672:4;1669:1;1662:15;1696:4;1693:1;1686:15;1712:184;-1:-1:-1;;;1761:1:307;1754:88;1861:4;1858:1;1851:15;1885:4;1882:1;1875:15;1901:250;1986:1;1996:113;2010:6;2007:1;2004:13;1996:113;;;2086:11;;;2080:18;2067:11;;;2060:39;2032:2;2025:10;1996:113;;;-1:-1:-1;;2143:1:307;2125:16;;2118:27;1901:250::o;2156:330::-;2198:3;2236:5;2230:12;2263:6;2258:3;2251:19;2279:76;2348:6;2341:4;2336:3;2332:14;2325:4;2318:5;2314:16;2279:76;:::i;:::-;2400:2;2388:15;-1:-1:-1;;2384:88:307;2375:98;;;;2475:4;2371:109;;2156:330;-1:-1:-1;;2156:330:307:o;2491:651::-;2543:3;2574;2606:5;2600:12;2633:6;2628:3;2621:19;2659:4;2688:2;2683:3;2679:12;2672:19;;2744:2;2734:6;2731:1;2727:14;2720:5;2716:26;2712:35;2781:2;2774:5;2770:14;2802:1;2812:304;2826:6;2823:1;2820:13;2812:304;;;-1:-1:-1;;2901:5:307;2895:4;2891:16;2887:89;2882:3;2875:102;2998:38;3031:4;3022:6;3016:13;2998:38;:::i;:::-;3094:12;;;;2990:46;-1:-1:-1;3059:15:307;;;;2848:1;2841:9;2812:304;;;-1:-1:-1;3132:4:307;;2491:651;-1:-1:-1;;;;;;;2491:651:307:o;3147:912::-;3677:6;3666:9;3659:25;3720:6;3715:2;3704:9;3700:18;3693:34;3763:6;3758:2;3747:9;3743:18;3736:34;3806:6;3801:2;3790:9;3786:18;3779:34;3850:3;3844;3833:9;3829:19;3822:32;3640:4;3877:56;3928:3;3917:9;3913:19;3905:6;3877:56;:::i;:::-;3982:9;3974:6;3970:22;3964:3;3953:9;3949:19;3942:51;4010:43;4046:6;4038;4010:43;:::i;:::-;4002:51;3147:912;-1:-1:-1;;;;;;;;;3147:912:307:o;4246:128::-;4313:9;;;4334:11;;;4331:37;;;4348:18;;:::i;4379:168::-;4452:9;;;4483;;4500:15;;;4494:22;;4480:37;4470:71;;4521:18;;:::i;4771:465::-;5018:66;5010:6;5006:79;4995:9;4988:98;5122:6;5117:2;5106:9;5102:18;5095:34;5165:2;5160;5149:9;5145:18;5138:30;4969:4;5185:45;5226:2;5215:9;5211:18;5203:6;5185:45;:::i;5494:323::-;5703:6;5692:9;5685:25;5746:2;5741;5730:9;5726:18;5719:30;5666:4;5766:45;5807:2;5796:9;5792:18;5784:6;5766:45;:::i;5822:280::-;6021:2;6010:9;6003:21;5984:4;6041:55;6092:2;6081:9;6077:18;6069:6;6041:55;:::i;6830:357::-;6948:12;;6995:4;6984:16;;;6978:23;;6948:12;7013:16;;7010:171;;;-1:-1:-1;;7087:4:307;7083:17;;;;7080:1;7076:25;7072:98;7061:110;;6830:357;-1:-1:-1;6830:357:307:o;7804:492::-;7979:3;8017:6;8011:13;8033:66;8092:6;8087:3;8080:4;8072:6;8068:17;8033:66;:::i;:::-;8162:13;;8121:16;;;;8184:70;8162:13;8121:16;8231:4;8219:17;;8184:70;:::i;:::-;8270:20;;7804:492;-1:-1:-1;;;;7804:492:307:o;8301:435::-;8354:3;8392:5;8386:12;8419:6;8414:3;8407:19;8445:4;8474:2;8469:3;8465:12;8458:19;;8511:2;8504:5;8500:14;8532:1;8542:169;8556:6;8553:1;8550:13;8542:169;;;8617:13;;8605:26;;8651:12;;;;8686:15;;;;8578:1;8571:9;8542:169;;;-1:-1:-1;8727:3:307;;8301:435;-1:-1:-1;;;;;8301:435:307:o;8741:691::-;9075:3;9064:9;9057:22;9038:4;9102:57;9154:3;9143:9;9139:19;9131:6;9102:57;:::i;:::-;9207:9;9199:6;9195:22;9190:2;9179:9;9175:18;9168:50;9241:33;9267:6;9259;9241:33;:::i;:::-;9227:47;;9310:6;9305:2;9294:9;9290:18;9283:34;9365:9;9357:6;9353:22;9348:2;9337:9;9333:18;9326:50;9393:33;9419:6;9411;9393:33;:::i;:::-;9385:41;8741:691;-1:-1:-1;;;;;;;8741:691:307:o;9437:900::-;9892:6;9881:9;9874:25;9935:3;9930:2;9919:9;9915:18;9908:31;9855:4;9962:57;10014:3;10003:9;9999:19;9991:6;9962:57;:::i;:::-;10067:9;10059:6;10055:22;10050:2;10039:9;10035:18;10028:50;10101:33;10127:6;10119;10101:33;:::i;:::-;10087:47;;10170:6;10165:2;10154:9;10150:18;10143:34;10226:9;10218:6;10214:22;10208:3;10197:9;10193:19;10186:51;10254:33;10280:6;10272;10254:33;:::i;:::-;10246:41;;;10324:6;10318:3;10307:9;10303:19;10296:35;9437:900;;;;;;;;;:::o;10342:195::-;10381:3;-1:-1:-1;;10405:5:307;10402:77;10399:103;;10482:18;;:::i;:::-;-1:-1:-1;10529:1:307;10518:13;;10342:195::o;10542:640::-;10793:6;10788:3;10781:19;10763:3;10819:2;10852;10847:3;10843:12;10884:6;10878:13;10949:2;10941:6;10937:15;10970:1;10980:175;10994:6;10991:1;10988:13;10980:175;;;11057:13;;11043:28;;11093:14;;;;11130:15;;;;11016:1;11009:9;10980:175;;;-1:-1:-1;11171:5:307;;10542:640;-1:-1:-1;;;;;;;10542:640:307:o;11187:184::-;-1:-1:-1;;;11236:1:307;11229:88;11336:4;11333:1;11326:15;11360:4;11357:1;11350:15;11376:512;11627:2;11616:9;11609:21;11590:4;11653:56;11705:2;11694:9;11690:18;11682:6;11653:56;:::i;:::-;11757:14;11749:6;11745:27;11740:2;11729:9;11725:18;11718:55;11821:9;11813:6;11809:22;11804:2;11793:9;11789:18;11782:50;11849:33;11875:6;11867;11849:33;:::i;:::-;11841:41;11376:512;-1:-1:-1;;;;;;11376:512:307:o;11893:617::-;12204:6;12193:9;12186:25;12247:3;12242:2;12231:9;12227:18;12220:31;12167:4;12274:57;12326:3;12315:9;12311:19;12303:6;12274:57;:::i;:::-;12379:14;12371:6;12367:27;12362:2;12351:9;12347:18;12340:55;12443:9;12435:6;12431:22;12426:2;12415:9;12411:18;12404:50;12471:33;12497:6;12489;12471:33;:::i;12515:360::-;12718:2;12707:9;12700:21;12681:4;12738:45;12779:2;12768:9;12764:18;12756:6;12738:45;:::i;:::-;12814:2;12799:18;;12792:34;;;;-1:-1:-1;12857:2:307;12842:18;12835:34;12730:53;12515:360;-1:-1:-1;12515:360:307:o","linkReferences":{}},"methodIdentifiers":{"register(address,bytes14)":"472466c2"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.21+commit.d9974bed\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"FieldLayoutLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthDoesNotFitInAWord\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FieldLayoutLib_StaticLengthIsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"SchemaLib_InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SchemaLib_StaticTypeAfterDynamicType\",\"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\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidFieldNamesLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidKeyNamesLength\",\"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\":\"uint256\",\"name\":\"expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"received\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidValueSchemaLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableAlreadyExists\",\"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\":\"PackedCounter\",\"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\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"contract IBaseWorld\",\"name\":\"world\",\"type\":\"address\"},{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"register\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"SchemaLib_InvalidLength(uint256)\":[{\"details\":\"Error raised when the provided schema has an invalid length.\"}],\"SchemaLib_StaticTypeAfterDynamicType()\":[{\"details\":\"Error raised when a static type is placed after a dynamic type in a schema.\"}]},\"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_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\":{},\"version\":1},\"userdoc\":{\"events\":{\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"register(address,bytes14)\":{\"notice\":\"Register systems and tables for a new ERC721 token in a given namespace\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/modules/erc721-puppet/ERC721Module.sol\":\"ERC721ModuleRegistrationLibrary\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@latticexyz/=node_modules/@latticexyz/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\"]},\"sources\":{\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4\",\"dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4\",\"dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba\",\"dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18\",\"dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2\",\"dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0\",\"dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a\",\"dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc\",\"dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d\",\"dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e\",\"dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac\",\"dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115\",\"dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1\",\"dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5\",\"dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0\",\"dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d\",\"dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3\",\"dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c\",\"dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648\",\"dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534\",\"dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7\",\"dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6\",\"dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5\",\"dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751\",\"dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95\",\"dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a\",\"dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793\",\"dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC\"]},\"node_modules/@latticexyz/store/src/leftMask.sol\":{\"keccak256\":\"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401\",\"dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81\",\"dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84\",\"dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1\",\"dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49\",\"dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256\",\"dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491\",\"dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk\"]},\"node_modules/@latticexyz/world/src/DelegationControl.sol\":{\"keccak256\":\"0xebe8f1d4a86bcd052afe19773cc5b48da49a7742033c2cc6f06c17a20be907b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20dd17dc78d0aff086ae0b80823cdc8544cdef4b545ec58303a1a8ef19c5372c\",\"dweb:/ipfs/QmdTBo4xSMEQAQoae5o2L2DB7yGBv9TmzZwR3LmUjynEY9\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d\",\"dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5\",\"dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883\",\"dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510\",\"dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d\",\"dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83\",\"dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c\",\"dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs\"]},\"node_modules/@latticexyz/world/src/Module.sol\":{\"keccak256\":\"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5\",\"dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd\",\"dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518\",\"dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb\",\"dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol\":{\"keccak256\":\"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255\",\"dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol\":{\"keccak256\":\"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5\",\"dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol\":{\"keccak256\":\"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8\",\"dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol\":{\"keccak256\":\"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8\",\"dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol\":{\"keccak256\":\"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b\",\"dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol\":{\"keccak256\":\"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0\",\"dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj\"]},\"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol\":{\"keccak256\":\"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad\",\"dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198\",\"dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac\",\"dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93\",\"dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae\",\"dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1\",\"dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218\",\"dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc\"]},\"node_modules/@latticexyz/world/src/modules/core/types.sol\":{\"keccak256\":\"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3\",\"dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df\",\"dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2\",\"dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9\"]},\"src/modules/erc721-puppet/ERC721Module.sol\":{\"keccak256\":\"0x0a60a350f120f2ee8387410ab890362e09de4dc629f04f542c0f029e93ebedcf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c2f278946b0005962727cebc99f992ac0cba1ae52a47c9832178cb5d7a10211d\",\"dweb:/ipfs/Qme3uYvHqGLdepDziSiaL4SCCWsEeZggV9d2qwHR3YuFDe\"]},\"src/modules/erc721-puppet/ERC721System.sol\":{\"keccak256\":\"0x39cd970252dc3c59df2290b22a8b9f7b335f51bb15f9e24d810bf5e634f50235\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a357ea36bab59200ccb5dfc9f484e1794c213bede5c220c18250c34de1d4ecf\",\"dweb:/ipfs/Qmf7SLaw7NEtNSAWRPhqTBxR1mKi7MhzxKTtGq73RPS4dh\"]},\"src/modules/erc721-puppet/IERC721.sol\":{\"keccak256\":\"0xece8034b2f4d2fea1adf2fc3bed59fb3db574250f0454f87706a2de3cdc297c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://628276baff68bbcc9bc8ae577e10399401274e3ab12b8923f8f2aa96089a6250\",\"dweb:/ipfs/QmVdujDhoWHFHYuxZ4btB6nzTBvakpKgkoadBJN3iBkyyJ\"]},\"src/modules/erc721-puppet/IERC721Errors.sol\":{\"keccak256\":\"0x10aa9dfd2bb131b1a7a24eaff4fcac3676b06564b2002fd7fe02f70338d776b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://726bff91b12f6bfc02a636feee5965ec04bb6eac838ec2d9287e8c2a6a6cd276\",\"dweb:/ipfs/QmX3w6VmRhMRSUrYZCDAqmEkoC4WtNnCeshCBdV2A5jYx6\"]},\"src/modules/erc721-puppet/IERC721Events.sol\":{\"keccak256\":\"0xa7d69b40c86ba641f56d01ed63a633363c74e90c1919781ad67afc93c5d3e8e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21e8bf89857c4fa44d4aafb491b5269f76043669b34e63cbb2fe103d3e5df5bb\",\"dweb:/ipfs/QmT55QTWBwM3V7gF2zCx4HVdkY7Tbm9JvsMgP9Zny9Lra5\"]},\"src/modules/erc721-puppet/IERC721Mintable.sol\":{\"keccak256\":\"0x8017469d5a084c996946085ec7d6cf2341be04bc97833df1fab0e6960b8f9d83\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://485836c34d4e2d600709546f3c4542d04b5fed27d975834666e7434f954ab03c\",\"dweb:/ipfs/QmPQ8Mydi7qZarueKkeQ8kt9bcCQcEPTgiRCGzkhwsQiru\"]},\"src/modules/erc721-puppet/IERC721Receiver.sol\":{\"keccak256\":\"0xd9278f007d3408f834303b317a5a54b01f6d5d4c70891953b94b012c2f9b2973\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://acfcf8fedd56229600ce0b522734c41146c5f1e73e92069404d70b2929d8dc74\",\"dweb:/ipfs/QmcutxkWBafrikCorV8avuWTJHFQPZ3N3j4ojN8aLZBCB1\"]},\"src/modules/erc721-puppet/constants.sol\":{\"keccak256\":\"0xd6a6ca3b2446fbcde45f5c3608067bfc4c663b0eb529d39eb8bc61c5087297fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://68b98113bc18bfce66df4f7c26576dadd950f2c76b1c91de169909d502a0275b\",\"dweb:/ipfs/QmWaxgDwJTSaVjYMSDhLvX2boHg6T3XxiysvoRZwxVhqbg\"]},\"src/modules/erc721-puppet/tables/ERC721Metadata.sol\":{\"keccak256\":\"0xec2e7a95c1f4f0da01dc8b5d48e68a8af19709f5d11b647b6ddcf86ccd9d2bdb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a09475a7bd0948a7425bd0d58196a6a5e348c7400f05faa77ddef68d9965508c\",\"dweb:/ipfs/QmeRzT8ZR2wvvHDFup4a8ikgR6roWWfEsk4zqiPxATLMCE\"]},\"src/modules/erc721-puppet/tables/ERC721Registry.sol\":{\"keccak256\":\"0xe543ec4c2f1ff854a40f9e45ec129ff761cdaeaf75673ec0fd01478768a9a392\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bceeb230ebc5370c2500462832de2577bbd27a5f56e6870b7688738bd21df2fe\",\"dweb:/ipfs/QmVfvxRqt7riykzbUcz7S5rLQYGZyZ5G1bCrqmmbR7Tnbh\"]},\"src/modules/erc721-puppet/tables/OperatorApproval.sol\":{\"keccak256\":\"0xc319e035373d2d0cc0abb10a4afc81f079904fb95bafac106c902b5f872b2b7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e3c13884520ac0a06fd0e9b6f50dc270f1e5f533d27c96dc80654349fce5be9\",\"dweb:/ipfs/QmV8H5VESLcAhqz8kD4sUJPt8aoe8hn2HSostQaKX9S3hi\"]},\"src/modules/erc721-puppet/tables/Owners.sol\":{\"keccak256\":\"0x19e5ff2c5dd25fccc4cb99428f8e72841b4356ea1714689ad70ba0a0a6fe91ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://757970e385af7799bcbf522ad687212061b9294074dc0d7c46cf155195cf8695\",\"dweb:/ipfs/QmPjTdozvgRQuH7kLWPMnhCP6HVy27BbuDwDoYa6mDEjqV\"]},\"src/modules/erc721-puppet/tables/TokenApproval.sol\":{\"keccak256\":\"0x3bdfa8047556e6acf57cb6b5498698734d48f698166d97de55914cfd46a7addd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b28f1ada7a1aae3445cf3cede5bbc4849e66042f6fedff1579c713e3c7ea15b\",\"dweb:/ipfs/QmXBaBfQ82gsD3sRtwQEY6oXxznLGH7tfgf2ukjKjbs4qf\"]},\"src/modules/erc721-puppet/tables/TokenURI.sol\":{\"keccak256\":\"0x6749197d53e7c8e24287e3986feb29edf258d0c94303f6c48a5fe34f0ad3393c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9cf7dce9cac2b303f086efd42f564e53c38174f85cb691699ec38b3bd45be17\",\"dweb:/ipfs/QmWJYzEMvXyi6fP6CUW24zErobXAwqhtaXhTg4JMR6maAe\"]},\"src/modules/erc721-puppet/utils.sol\":{\"keccak256\":\"0x98362b9233e8199e9b7219a63076cb515ee361a65950c2aad9967e6ae0eb9b63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb4bd453dc5f5ccd41cfb4f3950c0693d1c5092c2881f7f6dae3df57cb77e696\",\"dweb:/ipfs/QmNU7GRhvYeibv7UbMMJ9tUKbFwR8H98jKYuKVX8SiXQDm\"]},\"src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x8933512836ec527a90f1fd44cf01870b302cd5f080d1dc9f64ea11c41e46d2ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://854b7887821c26da985de13e8fb476bd8bd52c411284793789d19d34d9112f3b\",\"dweb:/ipfs/QmcHweSL5z6Mwro4dm4sLnzy7WmzdZud5yW7KQ36mnZTYD\"]},\"src/modules/puppet/PuppetDelegationControl.sol\":{\"keccak256\":\"0x8ba3488fee9e5503fa77b39609cfa2eed78be87636ada50e99094b0edc5a79e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08214be4e0315011bb8c675c955f560865687d9129be342ab420bbb5d123f37b\",\"dweb:/ipfs/QmXFbsptKuD6fxKhhb7FatDBRE4seDnmefNB2WG6MEHHmW\"]},\"src/modules/puppet/PuppetFactorySystem.sol\":{\"keccak256\":\"0x47fc8ab186eba9b965c8cde4ff814eb9973302cbe1de6ee96f4539b62278fd85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04eb1f7b3d964cefef88285546dbcbdc4f1c4e03d2364d37cdda5c79f9d9bb5a\",\"dweb:/ipfs/QmddEmBYqWtnd63FCZgnHz2ukk1ZFTwLv2bMkVYwsXTG5t\"]},\"src/modules/puppet/PuppetMaster.sol\":{\"keccak256\":\"0x7f94270573d344a1aea188e3920acab0f6c3befe9e7f27a1759df091f73db9e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc35076fb222a6e77a6968ef62856db69c4bb757f83f9849fe6abd8bb983002f\",\"dweb:/ipfs/QmVKRXYS1Xj1ckMZg6i9XPp8LbE4BXR8GL2XBfiFvnPnk9\"]},\"src/modules/puppet/constants.sol\":{\"keccak256\":\"0xb5379ef41cc6ab6a27bc8bee21f73094ecccd7af0b54e61bf7180b04dd828207\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7edb00d3c48110499790cc93573b3d4e7626a7d56c7243a57d0cbe2b1b86d449\",\"dweb:/ipfs/QmU9c1n3vftuRM4WjSmBhodZvSKwfovvzakdre2AYQTrur\"]},\"src/modules/puppet/createPuppet.sol\":{\"keccak256\":\"0x3ec80fa8b953772490089a2ec073109f4e06bdcb12ddc4f6501384340f64232e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93ecfe683e78efc41c21ed5be647cb4654ccdbf38f8ef4358067f87b39dc997c\",\"dweb:/ipfs/QmTrt6U6BnykBBJqVmHQkgAxEcqZ6X5LHDQZgWVGVPR1X3\"]},\"src/modules/puppet/tables/PuppetRegistry.sol\":{\"keccak256\":\"0xe746e9170bee8f229554971e2ebdeda0ac4b4d342f92c711a9c22882c0ebe4f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e8ba2b16545929f480da8b5d6980fe5f92bb87b7b09178b5236aeede72a7436\",\"dweb:/ipfs/QmUT9HGrXJB1jiyFW14kqGGGb8v86w2UscWuzWWfcmPTuE\"]},\"src/modules/puppet/utils.sol\":{\"keccak256\":\"0x725bf79655d814b0b04e2f64a8eb3a01dbd87cebf6c9674fb656363cc72c6e66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6efcc323f7cdf8e0d284dafe714f9dd922d63c747e9a34d6e71473943b50805c\",\"dweb:/ipfs/QmcxA7uqyhAV7m3svQstVhsjvLYbcgUq1nQCk7vqACAsQf\"]},\"src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x1a5efec938f8f444e25499f55c11782e2f8425ecb4bb7642b3e4d89ef5c94283\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b8cc1696ae88061b5b469111ee6bd4c25919756d3c85e2830a92dd7a344bda8d\",\"dweb:/ipfs/QmNZKrU7NkRHmvvm98kaLYFusEmH3e7sJdCwciuUWzCCxe\"]},\"src/utils/AccessControlLib.sol\":{\"keccak256\":\"0xb31878bda3f249c941719f6aa743bc739701418ed3effd2b5e6b4f28219e3f88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a56bea3221f0663c35375beea4803b0d4ebc7e004828b89ef72c0cfec8e009e0\",\"dweb:/ipfs/QmPNZig8c2ou4uZFMjotG1CGT3ZcTU2aCt3C2RTSLkx3w8\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.21+commit.d9974bed"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"FieldLayoutLib_InvalidLength"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthDoesNotFitInAWord"},{"inputs":[],"type":"error","name":"FieldLayoutLib_StaticLengthIsZero"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"SchemaLib_InvalidLength"},{"inputs":[],"type":"error","name":"SchemaLib_StaticTypeAfterDynamicType"},{"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":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidFieldNamesLength"},{"inputs":[{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidKeyNamesLength"},{"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":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"received","type":"uint256"}],"type":"error","name":"Store_InvalidValueSchemaLength"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableAlreadyExists"},{"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":"PackedCounter","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":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[{"internalType":"contract IBaseWorld","name":"world","type":"address"},{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"stateMutability":"nonpayable","type":"function","name":"register"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"register(address,bytes14)":{"notice":"Register systems and tables for a new ERC721 token in a given namespace"}},"version":1}},"settings":{"remappings":["@latticexyz/=node_modules/@latticexyz/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"src/modules/erc721-puppet/ERC721Module.sol":"ERC721ModuleRegistrationLibrary"},"libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x770eff7a38b9b7b1613dc11ca09db4f28b42a117c9b39b2a06a650a58a250bdb","urls":["bzz-raw://39f544110658a53def52c2a4e33b8b158b95a4f14fccea58d5268b6e728d86d4","dweb:/ipfs/QmTesj6tjSFbfAiKUitXapdNYWPStS8bLkB3r22qfyHwUC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0xab31edce915377852bb5f29f7f2ccfc50cac087d64d2a8aae669715ad862d558","urls":["bzz-raw://3187e86e43be1fbdd59df45c695294f1114aa1ac48e6445c0cb26089434be5c4","dweb:/ipfs/Qmck7shMVrcKMVkgN2pC1byPY7hb3V9fTxnUcGgxAUeXYk"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x2a0536cd6cecc479d0b81d5aad6380231f4d6873beadc54814d801c2036b02c0","urls":["bzz-raw://e07c041e19146a9ec258cc700a450b4d49440202895eb12f3bb17508427c23ba","dweb:/ipfs/QmXoqrCGDSkuFgNSMURRFdjokjREL78nLDzNaUi6rjefy9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x045024523eb55d08ad8d13eca6185bff2988865f4aa12e3f9372029c2ecb8ddd","urls":["bzz-raw://6621c53b49f8fe0557d1a1db47bfe1561801c09256948dd0652fb41541891a18","dweb:/ipfs/QmZgFVCUH1pKcc9MeFyzMe1VW87SLz6c9szGwrDRUp6BZe"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x2bbc3c43400c15a91a5cb35430a91309cb64a4d13a0a170eacec71dcf334feaf","urls":["bzz-raw://f44dfc9605067de539de07a76a34bf469faa9e6dad8c192abafc2e05860c7dd2","dweb:/ipfs/QmX8xgG6XWokM7YFwFZvmMhuh1uhkSjxCMD2oTHjUVdapb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0x9092b65551d0f910e5645cebb5acadb387cdd192d75fa89cd6b293bd65b28827","urls":["bzz-raw://478825a6f7eff9ddab968e71e1d55ebee279d3b318f10976d9334384000059c0","dweb:/ipfs/Qme7NY976woRy3RQjE4tkkiwoXnoVtTmER3PbWCSbjZ2kb"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xa8eade05c551aeef35c84727d7a44af239516deb2d8a0cfb7ebeb5d88c6995e5","urls":["bzz-raw://5335910bd8a204abb5f4396fb911a5ee5c221bd7fa63b1cc8ae5e737c6458c6a","dweb:/ipfs/QmckkCAfrNcWo3yDxoD1jCe1k4iDA2GzVDpFjJZs7W79vx"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0xb9070663ded3cad82285bb7610949e422f88abb48c2ddbd792af83d127d64212","urls":["bzz-raw://830490f1c888bec86df1e7ef43773d60ebdbdfdb2b91ab7fe074e2f38d7439dc","dweb:/ipfs/QmS26fpXdZuGgMmjcdQDf9k1Bedn2dhjk9byFZJoNkctPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xdd3104680808f975462a85cbd4fa87783ba5395797419caeeca37e8f8627a16f","urls":["bzz-raw://943864b7eb16ad2047ade5a8598e85c8a4b46d1aed6aef02bfb7cee8de732b4d","dweb:/ipfs/QmTEij4caToSNk15PFpubXYDy9QhwmPyP9tMXjUse2cTdv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0xa6777c7868333996ad9c61a94457dcac702d8d7445a104dfdc86543d25e7470e","urls":["bzz-raw://6268a16449d7529a94746d0103670dd0e38faf5117bf914fb01da9947ab44c2e","dweb:/ipfs/QmaSfbx1QRA3jw2K8bGkQTw4CTGPUzNqnCJW7LwaFUJCXy"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xd2180d53ecd31069b1166f170ecdcd85917ac50f45fc26fb39b49cee7ba00e37","urls":["bzz-raw://1494bb0a3228e2d194bddaed4761fd3ca865979f0e3f3a53acd271143a4aa0ac","dweb:/ipfs/Qmaddnzzmu99iP9dTWK9ZeByh5dZyjY9SpVnRdvyr2fBAo"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf448fbb2bc9c982721a43234463656da5a49cea08543e62148d54f11e1ac3e2f","urls":["bzz-raw://64b3579d9b9dcd73dca2beab3d4fcf60237420945ebbb2e9f4ffcc88f4110115","dweb:/ipfs/QmaW5nN3zGEriSYHncye6Nz2TkAw1oo1CyG2JuJTJrJoXg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x8b6c7af5ee330928aebb58c8872d3944304ee10ed11f8a325b6accc4ec5df81b","urls":["bzz-raw://b866d158701c7a40834bed735194b804ef219f2bbe574e2307785fff7bcf9da1","dweb:/ipfs/QmXzJfZkXVfyr2RFGwDuazeVnV3UWYmQxjKZ3KzFbbe75U"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x69295976e61a1a108d1b4d6eb497b238730309f3047c4320d48e01a0ce8d4ec7","urls":["bzz-raw://559c451b21fb9dd4fec27b41bef42f4362f1e7ebb7992106d548b9d4f733b3e5","dweb:/ipfs/QmeSE7YTW5zUrfZYFVb2pFnDe3XxiT8XNecfwC3wfpxCRv"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x44ddfa9eb8a861462c550f0a9d66c40c68acdb347a61fa765949608407a2c7fb","urls":["bzz-raw://47ee957f4b19cab9e20bf5fc569c015eca13852fb3351f2a105a8be9c48204c0","dweb:/ipfs/QmNkyzDobVQLoq9BtQ8HtgsPLiqnmi97EZx1wsu6wp8nKH"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x40983c580b8958e55db4520095934a535e98544ffe8228327e598973eb6647ed","urls":["bzz-raw://839d658fa2bb2b1f09a08149d2bf0c26a26c301ad2dda8154fc99458085a695d","dweb:/ipfs/Qmd5jHHYrgqraPqF8bjzT4xyjsoPk8K7pkxXLLfz6MRT6d"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x58aef318ba03f8ff8866ef70f8a30f549b150657ea699734aefe16c298956401","urls":["bzz-raw://7dc104690a7e2bcf5ce1afadcd58f8ef4d639b4b92b9ad9293656235d54395f3","dweb:/ipfs/QmYJJvEv5KBJ3kzf9AkgRn7Uu5dp4exGTRddf4cae1btgE"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xfaf54b1f5acccd4c6ce3f8377050ee84efbb423cb604b4651e8b9ea3b467bf32","urls":["bzz-raw://acf2ce7ffec21f28ad1dc6da06c342f1212a03a3d16a0be7ee85715a5940718c","dweb:/ipfs/QmTCN3NSdFg87hi7KS2Xtq7PsmRUMG64SxC8PtP3p2GzuT"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x0893905ebe431a414226b479a84a54804091001a406222c748adbd4b651853a5","urls":["bzz-raw://bcfcd3848127884041f0bcd727a0e7acbddec283aa6c16ba47abc6a3be720648","dweb:/ipfs/QmY5fBd53e4Ro6vzTZYsteSibSTXVA3GHTeCAiUZTa5DPZ"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x95b7d62d84b43777c54dd1c7d941dbb5ba0afc02c444c30cfdb1de671bbbf180","urls":["bzz-raw://fe62a2fdb2a73610c3072f31b7f88ed3f9d03c1009fe0f0ef37a7eb814b23534","dweb:/ipfs/QmV85zaV5HAD6eGc5N4RmdtmpR6EwkswVLQTaR2aJqsXrj"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xf132af10f960a498f49c0534027056e715f4bdcb8fbdb53ac6879c92309ab416","urls":["bzz-raw://e85a09aeb7543bcd9d74b7ad319ae61e1f7f15a6a0ad9e79aff750fbd18111c7","dweb:/ipfs/QmY6xgqeeaR1FsCPLmFbVgjm1D2UyrXNABKXWLfFaSmBhR"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xf337a5abb2d43ef00c1c200e7fbec30fc89c7c701e457ab4277194b700d2aea3","urls":["bzz-raw://eccdf6158076b4e8f1b587a0310228f53323705e054a44eaa7733f38805c3ee6","dweb:/ipfs/QmbXEVNTctg54dK9awdCVyAjeuUjR6ckfmmXBP8DrFmjyq"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0xc5c6f807cff6b4dc486525c559ba3f7cbb034ac5895636ee64c9d01defa6a38e","urls":["bzz-raw://84d3a3b3fd3afa2ab3231fd7fe981889dfb0600deec34c5d4e9c07d3187af8a5","dweb:/ipfs/Qmanj7WjETqBYQXkxKLjqWs4vMp3en3N69B5MacKme5fpD"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xf7a9bf3e37b486377005c556cdf5b813ea1a41278b3a0349f81e3c82a2f1c789","urls":["bzz-raw://92cc87add89abcb126bf3cd0b284f25065c2b9c90a49f8dba4629b28a5b87751","dweb:/ipfs/QmNNBDSK5GNujERGiSUhorbmtpdD2UnGz7MqSSDasEGdub"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xa1186b8b6143b4a87cea1624785494398be1613cb7c6f9e57734e1cca1d5dd14","urls":["bzz-raw://488c158082622689d035d7964c6ca063295e53078291c340eb6a23db08e8ff95","dweb:/ipfs/QmWcjo3B5SH7jStXKAuf7qvF2ouz6syw9c7aT86PnTgRqW"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xd47e1921c07fc8608157b5dc343fcef7235e891ea6a21dec1fb118a0bd797fcb","urls":["bzz-raw://01a6ad068e6991994a0939f22a55245e0c7c82fc5e274da0af616286a8acfc7a","dweb:/ipfs/QmPokA3pSexzZY33MMV6BGx48ZwQegdUN5AijiAfycSDxy"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x9e37c64c119ef07ad914bc589ee3f6d67946ab95877978c1ee3e2c1ffae07076","urls":["bzz-raw://3fad47e542025382aa28e8171253e34f93b2f149434b67a26989542d70218793","dweb:/ipfs/QmW6JsKNwPc6oAMrgcikgR2EPwMUtQANiuZSQSGCd29HHC"],"license":"MIT"},"node_modules/@latticexyz/store/src/leftMask.sol":{"keccak256":"0xd0360567e4d77c6a8e3d8a5f4bf3653ccde4d268674c50988d55695dc6193f6f","urls":["bzz-raw://53e6bcb53fcb08ee9426225fdab7c41df91e12cb4f80d92895a6117338627401","dweb:/ipfs/QmeLcaPGeMBpNSTSsPYK3PHpzKuGMjuitCweAWcoXK2mXr"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x60880298016fa117ed9a43ddfd020f11d98a2d345bdcb08e5884e40df98eddd5","urls":["bzz-raw://3619dfda1fd514c0fc5fb34c14d5b5aa41dd6ba6045d37d5f4c8199f3a826f81","dweb:/ipfs/QmbzRBYfVa423gNzCitpGN3i2N9oeGYfinVE1jgtqxnNZX"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0xada1867ba72930fc5cf5562dd4e36de849dbac9c833b7969cb1b046a808fabf2","urls":["bzz-raw://6e4b5fdcaa54f567a3f8561c2c3fbc0d68c8dad892a4a8e5418bbce8efc53d84","dweb:/ipfs/QmTWbYJX1yrCqrEwUKB9rGpHdRvLNU8GCkBbxnLjGD4d2t"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x1af0fd984640123391ec2df855d00298504b7ce186a56c2caca769cfd9e08e04","urls":["bzz-raw://7305a62318890d2cc6420ba7dec13d9f2c1cb67ac689015fc83b9cbccd0696f1","dweb:/ipfs/QmR8jGNLbt64Tv1YZKRVBCVsd71oeUQFzGHHtpsrs4PuRq"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x1c280d24360282e196d9c4833c58c2437108cea2af0ac7596f95be81389e306d","urls":["bzz-raw://6b4556b6eeae9328fbd9adcce346547e823c397503276a4d63effb67e00b5b49","dweb:/ipfs/QmUsynVsMYzjh8oJR8YB7SRrwFMdXcsQsHBrXxLEEFxsiB"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x5cacd4cb371e0a79bc8d64f62349d568fd8b08093c11ae0c3db4f16480d8808b","urls":["bzz-raw://12b64ddf2b5c19cf68ba93a8153ed79cbafe7a91e015d4b2f25eb1d42ab06256","dweb:/ipfs/QmQz5WwztcuTbSGFv2pkhU3w5scUj1gmavoyUpduxk2v3A"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x01029999a48b7c1d85de84cae465dd24ec126c95b8a865cd20c7ed5dfcc0f02c","urls":["bzz-raw://9750164ce996badb0fd7df2f526780b9cb9558912405fe46f31064bd7c522491","dweb:/ipfs/QmYf8m2ZXFANRc9ysHgNkNtSF327ccxKYjCUJ49UXBKADk"],"license":"MIT"},"node_modules/@latticexyz/world/src/DelegationControl.sol":{"keccak256":"0xebe8f1d4a86bcd052afe19773cc5b48da49a7742033c2cc6f06c17a20be907b9","urls":["bzz-raw://20dd17dc78d0aff086ae0b80823cdc8544cdef4b545ec58303a1a8ef19c5372c","dweb:/ipfs/QmdTBo4xSMEQAQoae5o2L2DB7yGBv9TmzZwR3LmUjynEY9"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0xbf3da1c6ab38b3db62a4f4dd0235280d1fb07d8d465a145d6fd9eaf4bb4c3553","urls":["bzz-raw://30205a69d660ed8de5bf34ee73ec9033737d544bc7572130c439b2467606469d","dweb:/ipfs/QmUWTNdSW1bxXjaQzMUCLqBBoLYYre7CgDko4Qy12DaRNS"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0x7997ebbdee6a2493f28e7032c7a8b906ade40f807d95734e2653c8f1b023ff47","urls":["bzz-raw://c8ca41bb2619bf27e5bf886d1322f0e2dffd096c49f7ae6e716541dd1e1ddce5","dweb:/ipfs/Qmb8zATUWWTtiWaSLjbAe6PGnJPes9ANvEyk7pYoWR3P3Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x4535542ceb57e77096f24b943285bc158c48ef5291999f9c1e27f5682f8a9581","urls":["bzz-raw://ec670524d19c50c659e385bc4dcb4757b065e1b5fe14160244537a7cd7a4b883","dweb:/ipfs/QmT7NSWFSQ6MxYefe665srKMT2GTWomrPRZAHLjrFhQzV6"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xb2114b6b66c0e7d8304d9e1d06aa1d0731f089daa6a0584e6cf744d9c48cf4db","urls":["bzz-raw://ebbb172970b106dd4ae5a6d5e417ac75cad7529d2b94c1601e10b886d0edf510","dweb:/ipfs/QmPGn4F92hjkFch6Jh2NB37EYLLfstw6JxJKUZjXBFqGCw"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x22b8cb3ffcc21cb1657d57fc8ac929d2d6fdd199328e6f43ad2cb54f53dcd500","urls":["bzz-raw://47c001f6b7c6d6e453c340618d23b1532078abb7d0fd7283405071e4e8ff8d2d","dweb:/ipfs/QmRW3femBhqQCPwDEj4Jop2Dnd3EU21ufg7GDVwN4joCQu"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0xc3e7975e5785574543229eac51e3441f4185863d7f5346c0ae08a27b4541f8a7","urls":["bzz-raw://62cc0dc109e6e5475bb07fb95643a31c74337c23521db0557a36dad6117a1e83","dweb:/ipfs/Qmb8jbE1XQTUdreKFr4Jw3xmjctaLuReRZjPxZKQ2uW9p4"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x9dc133cb55dc23fd6fcbbef8078bb4ea9bf67d698400cf89fc62b905b60cf5eb","urls":["bzz-raw://7c1a57df7052218483eafe72d873660f39a73e2e06c1b14ad8a579d85b94bc6c","dweb:/ipfs/Qme7dnjvADGZyM2L7nZ51nSjsjXXF9isTVCpWaUCd1cEGs"],"license":"MIT"},"node_modules/@latticexyz/world/src/Module.sol":{"keccak256":"0x652a3d6a3721a1c3f36abd7a398b16ae7d9e30ddbf54d8dc4494343dadb9f719","urls":["bzz-raw://c33d2bb71a7ae8823233fa399f778fe86e9bb078889a092fcd1ed9e7838873e5","dweb:/ipfs/QmYM6JQ4syoxQLCXC4evHVEwbsTuXgS42HZZ9Fho7J9EXr"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0x7bece0ec86fdc458054e6db0ac4316fc98882fa3ba76b2fa107d3de5382053cd","urls":["bzz-raw://d154183426723bbf133d4dc5f8d051e9521f7b7cabe63925731fa4af99379cdd","dweb:/ipfs/QmZXxPGcqknGLCwTByaZFKhqvKbrfiZkywmnh8buGTC2Mc"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0xa11d93077d94f18683f1098b69c4713a48001ae15054476135ec9569041abb9a","urls":["bzz-raw://9b1d3384def68b4061c445b55602dd9cbcd4e8c58c13db5e945f284a05c1b518","dweb:/ipfs/Qma5DUZrSKZUxrxiGCpyRPWMJNdHU2wu6qDEsFWEJSnLfN"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xb7bfae2890004001221b3902d185c14cfea0e606d16914f6b7f81cf112aa9417","urls":["bzz-raw://acfd0d09166fc1bf16a8a5c80fbae1bd42426b2fcbab3c492bc836ea5c0375fb","dweb:/ipfs/QmTzZWHVBkx8hipFVpgEwAbZpr4c6hfr7yf7R71JojT3NK"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IAccessManagementSystem.sol":{"keccak256":"0xc912f14d0f2e2e9e728a9d18e250ebe3eb2f51d0b4d79993c9d997991bbd5593","urls":["bzz-raw://29621425847a1c11205307896b04e2a6c97934dd619f23ce6774ce52520f1255","dweb:/ipfs/QmeuTe3q8U11Dqkp5tahxVWnp9Cd5ezQmRZ5vhEHtv14Eu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBalanceTransferSystem.sol":{"keccak256":"0xf04594c29c5c5b3110453ac189a8008735753de864ab4a7dfa97ccd3ae5f4a55","urls":["bzz-raw://4a3061f72b969a294dc96c3b2e59277e762ce6571cedcc7e280412431453dde5","dweb:/ipfs/QmWB9aboakrCH9AmzGiZ1mCceh9atF4ks5ndEYFzUVbaHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol":{"keccak256":"0xf96aee478cc770cd9cd417b7939c38c9b9b075c91f3f47bdf8c6742f5591e9dc","urls":["bzz-raw://9c59c4c9a6ab3d64e2b0d7c9f3df2d330a36fc93ac2ab5e5f907fa881fbed1f8","dweb:/ipfs/QmTbd82cCtDwc8Ga1UsWAKXmFYrWU1zkbCCk1nMspqWdZu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IBatchCallSystem.sol":{"keccak256":"0xb4d323470e22b1d3f0168a44196eb09466f602b7564c75e5739c5f53a5036f97","urls":["bzz-raw://acad752208d00b731baaa1cfa192ff3981001fd030953bdc604e4f69ec2cd0b8","dweb:/ipfs/QmRFw3RgmX2CHqg7PqsP3rqVKxBVYNq5hHcFiyA2Y7iAaX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/ICoreSystem.sol":{"keccak256":"0xf837b53eaa348da3b3650e0b7159de02d3f84897d96e487ece2f932c272dbe57","urls":["bzz-raw://fbdc52e9e519c8c6d4a00caf4de08688eb8eb34dbfc6236308f281d7cf05b51b","dweb:/ipfs/QmWnogXiA5KA6JGxCTJR5W1MNFowrH7baSAYhSXjV1xM47"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IModuleInstallationSystem.sol":{"keccak256":"0x5be1d1ee90a7a03258e8c4fce7542453332c637a51b015e0cc29151ef2792263","urls":["bzz-raw://df6d97356b2ca9d97b7593f4c0772742529fea73f1665e55a879a368b399cae0","dweb:/ipfs/QmXCs5X4Z95isKRzjP4TQjQxwiB7773tHiJWLWkjLv3SLj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/interfaces/IWorldRegistrationSystem.sol":{"keccak256":"0xd7e31957e7fcf056912fe16e10a0411bdb071c14c45853e7da264dfbfd6bcb62","urls":["bzz-raw://c4ce02327ac8971177685fc2655733ed3c07f5dfb72846680544a48953180aad","dweb:/ipfs/QmQMNtkeCXdZfyyvtY8vUrKh5RUbpM7HYMGrzbxZGzTEFh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0xbe0b03a0379cf2dcbed5302acbcb116b263b68a1c1689b66b6df2c0414033f7c","urls":["bzz-raw://a7c3913cc938e7e0e3257194703a7cda9b8269b89ed2ccc5250d31eb07254198","dweb:/ipfs/QmctosJsQ6sVhFHG3bEAUdhEdcBVVUKtSjTG1taXome1ff"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xb0b7c13673a1629118cb0c3c341380fa6d4795c9b7cf6a6c73443750f1a3b34d","urls":["bzz-raw://b3c8eb44785f61c0470273cac40a228ae458b74f48d2bff8faf8915861fc49ac","dweb:/ipfs/QmUF52hgGCL9TMyTQqrxGVharwfFgKNsCpD3VNqfbhid9X"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0xe2a4e6a75ffda6971c16e9218a0f076d5b89572d37780cd4c2375a2de683fd60","urls":["bzz-raw://f04dbdf5295c0ddbda4ba0eb5fdebd84dce2ff3fe86d34681f71522bcb0e6e93","dweb:/ipfs/QmUMkPg1vhSz2zVweN5bqtWbUCj3UQKZPgYfBkQ3QGS7gF"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x8318ead6bf21b8f1e9f231d73634034511d74c1a979246df9f9cda8f349b644d","urls":["bzz-raw://b705a942046bb24fdbf0a5f4b365e33ab724d26bc158e7458ef5f262f72b5bae","dweb:/ipfs/Qme63b3DKKizKumysUGVFH8Q9h6cHnHBFM2Kdsxh2p6SWN"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x3bf40b7e71a1953f21b447975ec1a850994a250325fdb88489d24175cf8440d9","urls":["bzz-raw://7fc1d4ce3096dfbd5510d2558d6fcae01ede446032ae232bd3e8656071e21ef1","dweb:/ipfs/QmNSmK5Mt7tt5isSuo216vVnn6rHBprYjz9Sdodf8YRPAy"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0x07faffa7dc4a2adc4f9bfe93d5a59a7dd89241d360996537608e38f61c2d0588","urls":["bzz-raw://b96d4ce331b257a24de2f18503a11b986ed32d218810db9d5e3e7eddc17c2218","dweb:/ipfs/Qme7Cw4RN1eaFWt2j3hk6ZMB7GWUfMY5oyZKYfMvAVxdBc"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/core/types.sol":{"keccak256":"0x256b3269e1e7eb6c8b6e26432bbe6799b4d45a88ef1b0e795ea71e604cec3a8a","urls":["bzz-raw://99bf6320ce9671ed74e7352b4e6c462d741ca9a894c48b526e7d8513308fa6b3","dweb:/ipfs/QmRFJcWFMDRkg7soJ4r4MrqacKmj16vUEMFEGWJuvFi4vJ"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x16795bdbfd7956d733df9ada1030ee7a1a714e3b9da5899149a7b07568c4af55","urls":["bzz-raw://7a71128b4989e78215d5fc57dae8c2f84c6b5e503c159178c0df6f642b8228df","dweb:/ipfs/QmNYTfBe62SdGESZ32fxME72CbAxEqk4j79jBT7655C4u7"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xe31ee781596541f60ed71ef327c9d26ffc899e7fb3f4991c67406518bfc00746","urls":["bzz-raw://f7b864fea8c77833a322b16c4673f110d5065d0cafcedecd07895699cf4258c2","dweb:/ipfs/QmRkzXVjMLwQFWxjEjgfdXVPAp6SU4zfxPo4NJcmz8HwH9"],"license":"MIT"},"src/modules/erc721-puppet/ERC721Module.sol":{"keccak256":"0x0a60a350f120f2ee8387410ab890362e09de4dc629f04f542c0f029e93ebedcf","urls":["bzz-raw://c2f278946b0005962727cebc99f992ac0cba1ae52a47c9832178cb5d7a10211d","dweb:/ipfs/Qme3uYvHqGLdepDziSiaL4SCCWsEeZggV9d2qwHR3YuFDe"],"license":"MIT"},"src/modules/erc721-puppet/ERC721System.sol":{"keccak256":"0x39cd970252dc3c59df2290b22a8b9f7b335f51bb15f9e24d810bf5e634f50235","urls":["bzz-raw://4a357ea36bab59200ccb5dfc9f484e1794c213bede5c220c18250c34de1d4ecf","dweb:/ipfs/Qmf7SLaw7NEtNSAWRPhqTBxR1mKi7MhzxKTtGq73RPS4dh"],"license":"MIT"},"src/modules/erc721-puppet/IERC721.sol":{"keccak256":"0xece8034b2f4d2fea1adf2fc3bed59fb3db574250f0454f87706a2de3cdc297c5","urls":["bzz-raw://628276baff68bbcc9bc8ae577e10399401274e3ab12b8923f8f2aa96089a6250","dweb:/ipfs/QmVdujDhoWHFHYuxZ4btB6nzTBvakpKgkoadBJN3iBkyyJ"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Errors.sol":{"keccak256":"0x10aa9dfd2bb131b1a7a24eaff4fcac3676b06564b2002fd7fe02f70338d776b2","urls":["bzz-raw://726bff91b12f6bfc02a636feee5965ec04bb6eac838ec2d9287e8c2a6a6cd276","dweb:/ipfs/QmX3w6VmRhMRSUrYZCDAqmEkoC4WtNnCeshCBdV2A5jYx6"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Events.sol":{"keccak256":"0xa7d69b40c86ba641f56d01ed63a633363c74e90c1919781ad67afc93c5d3e8e7","urls":["bzz-raw://21e8bf89857c4fa44d4aafb491b5269f76043669b34e63cbb2fe103d3e5df5bb","dweb:/ipfs/QmT55QTWBwM3V7gF2zCx4HVdkY7Tbm9JvsMgP9Zny9Lra5"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Mintable.sol":{"keccak256":"0x8017469d5a084c996946085ec7d6cf2341be04bc97833df1fab0e6960b8f9d83","urls":["bzz-raw://485836c34d4e2d600709546f3c4542d04b5fed27d975834666e7434f954ab03c","dweb:/ipfs/QmPQ8Mydi7qZarueKkeQ8kt9bcCQcEPTgiRCGzkhwsQiru"],"license":"MIT"},"src/modules/erc721-puppet/IERC721Receiver.sol":{"keccak256":"0xd9278f007d3408f834303b317a5a54b01f6d5d4c70891953b94b012c2f9b2973","urls":["bzz-raw://acfcf8fedd56229600ce0b522734c41146c5f1e73e92069404d70b2929d8dc74","dweb:/ipfs/QmcutxkWBafrikCorV8avuWTJHFQPZ3N3j4ojN8aLZBCB1"],"license":"MIT"},"src/modules/erc721-puppet/constants.sol":{"keccak256":"0xd6a6ca3b2446fbcde45f5c3608067bfc4c663b0eb529d39eb8bc61c5087297fc","urls":["bzz-raw://68b98113bc18bfce66df4f7c26576dadd950f2c76b1c91de169909d502a0275b","dweb:/ipfs/QmWaxgDwJTSaVjYMSDhLvX2boHg6T3XxiysvoRZwxVhqbg"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Metadata.sol":{"keccak256":"0xec2e7a95c1f4f0da01dc8b5d48e68a8af19709f5d11b647b6ddcf86ccd9d2bdb","urls":["bzz-raw://a09475a7bd0948a7425bd0d58196a6a5e348c7400f05faa77ddef68d9965508c","dweb:/ipfs/QmeRzT8ZR2wvvHDFup4a8ikgR6roWWfEsk4zqiPxATLMCE"],"license":"MIT"},"src/modules/erc721-puppet/tables/ERC721Registry.sol":{"keccak256":"0xe543ec4c2f1ff854a40f9e45ec129ff761cdaeaf75673ec0fd01478768a9a392","urls":["bzz-raw://bceeb230ebc5370c2500462832de2577bbd27a5f56e6870b7688738bd21df2fe","dweb:/ipfs/QmVfvxRqt7riykzbUcz7S5rLQYGZyZ5G1bCrqmmbR7Tnbh"],"license":"MIT"},"src/modules/erc721-puppet/tables/OperatorApproval.sol":{"keccak256":"0xc319e035373d2d0cc0abb10a4afc81f079904fb95bafac106c902b5f872b2b7d","urls":["bzz-raw://7e3c13884520ac0a06fd0e9b6f50dc270f1e5f533d27c96dc80654349fce5be9","dweb:/ipfs/QmV8H5VESLcAhqz8kD4sUJPt8aoe8hn2HSostQaKX9S3hi"],"license":"MIT"},"src/modules/erc721-puppet/tables/Owners.sol":{"keccak256":"0x19e5ff2c5dd25fccc4cb99428f8e72841b4356ea1714689ad70ba0a0a6fe91ca","urls":["bzz-raw://757970e385af7799bcbf522ad687212061b9294074dc0d7c46cf155195cf8695","dweb:/ipfs/QmPjTdozvgRQuH7kLWPMnhCP6HVy27BbuDwDoYa6mDEjqV"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenApproval.sol":{"keccak256":"0x3bdfa8047556e6acf57cb6b5498698734d48f698166d97de55914cfd46a7addd","urls":["bzz-raw://7b28f1ada7a1aae3445cf3cede5bbc4849e66042f6fedff1579c713e3c7ea15b","dweb:/ipfs/QmXBaBfQ82gsD3sRtwQEY6oXxznLGH7tfgf2ukjKjbs4qf"],"license":"MIT"},"src/modules/erc721-puppet/tables/TokenURI.sol":{"keccak256":"0x6749197d53e7c8e24287e3986feb29edf258d0c94303f6c48a5fe34f0ad3393c","urls":["bzz-raw://f9cf7dce9cac2b303f086efd42f564e53c38174f85cb691699ec38b3bd45be17","dweb:/ipfs/QmWJYzEMvXyi6fP6CUW24zErobXAwqhtaXhTg4JMR6maAe"],"license":"MIT"},"src/modules/erc721-puppet/utils.sol":{"keccak256":"0x98362b9233e8199e9b7219a63076cb515ee361a65950c2aad9967e6ae0eb9b63","urls":["bzz-raw://fb4bd453dc5f5ccd41cfb4f3950c0693d1c5092c2881f7f6dae3df57cb77e696","dweb:/ipfs/QmNU7GRhvYeibv7UbMMJ9tUKbFwR8H98jKYuKVX8SiXQDm"],"license":"MIT"},"src/modules/puppet/Puppet.sol":{"keccak256":"0x8933512836ec527a90f1fd44cf01870b302cd5f080d1dc9f64ea11c41e46d2ab","urls":["bzz-raw://854b7887821c26da985de13e8fb476bd8bd52c411284793789d19d34d9112f3b","dweb:/ipfs/QmcHweSL5z6Mwro4dm4sLnzy7WmzdZud5yW7KQ36mnZTYD"],"license":"MIT"},"src/modules/puppet/PuppetDelegationControl.sol":{"keccak256":"0x8ba3488fee9e5503fa77b39609cfa2eed78be87636ada50e99094b0edc5a79e0","urls":["bzz-raw://08214be4e0315011bb8c675c955f560865687d9129be342ab420bbb5d123f37b","dweb:/ipfs/QmXFbsptKuD6fxKhhb7FatDBRE4seDnmefNB2WG6MEHHmW"],"license":"MIT"},"src/modules/puppet/PuppetFactorySystem.sol":{"keccak256":"0x47fc8ab186eba9b965c8cde4ff814eb9973302cbe1de6ee96f4539b62278fd85","urls":["bzz-raw://04eb1f7b3d964cefef88285546dbcbdc4f1c4e03d2364d37cdda5c79f9d9bb5a","dweb:/ipfs/QmddEmBYqWtnd63FCZgnHz2ukk1ZFTwLv2bMkVYwsXTG5t"],"license":"MIT"},"src/modules/puppet/PuppetMaster.sol":{"keccak256":"0x7f94270573d344a1aea188e3920acab0f6c3befe9e7f27a1759df091f73db9e5","urls":["bzz-raw://fc35076fb222a6e77a6968ef62856db69c4bb757f83f9849fe6abd8bb983002f","dweb:/ipfs/QmVKRXYS1Xj1ckMZg6i9XPp8LbE4BXR8GL2XBfiFvnPnk9"],"license":"MIT"},"src/modules/puppet/constants.sol":{"keccak256":"0xb5379ef41cc6ab6a27bc8bee21f73094ecccd7af0b54e61bf7180b04dd828207","urls":["bzz-raw://7edb00d3c48110499790cc93573b3d4e7626a7d56c7243a57d0cbe2b1b86d449","dweb:/ipfs/QmU9c1n3vftuRM4WjSmBhodZvSKwfovvzakdre2AYQTrur"],"license":"MIT"},"src/modules/puppet/createPuppet.sol":{"keccak256":"0x3ec80fa8b953772490089a2ec073109f4e06bdcb12ddc4f6501384340f64232e","urls":["bzz-raw://93ecfe683e78efc41c21ed5be647cb4654ccdbf38f8ef4358067f87b39dc997c","dweb:/ipfs/QmTrt6U6BnykBBJqVmHQkgAxEcqZ6X5LHDQZgWVGVPR1X3"],"license":"MIT"},"src/modules/puppet/tables/PuppetRegistry.sol":{"keccak256":"0xe746e9170bee8f229554971e2ebdeda0ac4b4d342f92c711a9c22882c0ebe4f4","urls":["bzz-raw://8e8ba2b16545929f480da8b5d6980fe5f92bb87b7b09178b5236aeede72a7436","dweb:/ipfs/QmUT9HGrXJB1jiyFW14kqGGGb8v86w2UscWuzWWfcmPTuE"],"license":"MIT"},"src/modules/puppet/utils.sol":{"keccak256":"0x725bf79655d814b0b04e2f64a8eb3a01dbd87cebf6c9674fb656363cc72c6e66","urls":["bzz-raw://6efcc323f7cdf8e0d284dafe714f9dd922d63c747e9a34d6e71473943b50805c","dweb:/ipfs/QmcxA7uqyhAV7m3svQstVhsjvLYbcgUq1nQCk7vqACAsQf"],"license":"MIT"},"src/modules/tokens/tables/Balances.sol":{"keccak256":"0x1a5efec938f8f444e25499f55c11782e2f8425ecb4bb7642b3e4d89ef5c94283","urls":["bzz-raw://b8cc1696ae88061b5b469111ee6bd4c25919756d3c85e2830a92dd7a344bda8d","dweb:/ipfs/QmNZKrU7NkRHmvvm98kaLYFusEmH3e7sJdCwciuUWzCCxe"],"license":"MIT"},"src/utils/AccessControlLib.sol":{"keccak256":"0xb31878bda3f249c941719f6aa743bc739701418ed3effd2b5e6b4f28219e3f88","urls":["bzz-raw://a56bea3221f0663c35375beea4803b0d4ebc7e004828b89ef72c0cfec8e009e0","dweb:/ipfs/QmPNZig8c2ou4uZFMjotG1CGT3ZcTU2aCt3C2RTSLkx3w8"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/modules/erc721-puppet/ERC721Module.sol","id":127692,"exportedSymbols":{"Balances":[156591],"ERC721Metadata":[131783],"ERC721MetadataData":[129378],"ERC721Module":[127619],"ERC721ModuleRegistrationLibrary":[127691],"ERC721Registry":[132541],"ERC721System":[128914],"ERC721_REGISTRY_TABLE_ID":[129243],"IBaseWorld":[96356],"InstalledModules":[98969],"MODULE_NAME":[129187],"MODULE_NAMESPACE":[129190],"MODULE_NAMESPACE_ID":[129204],"Module":[94903],"OperatorApproval":[133560],"Owners":[134348],"PUPPET_MODULE_NAME":[150956],"Puppet":[150648],"ResourceId":[82352],"ResourceIds":[87847],"TokenApproval":[135126],"TokenURI":[136981],"WorldResourceIdLib":[96164],"_balancesTableId":[137015],"_erc721SystemId":[137111],"_metadataTableId":[137031],"_operatorApprovalTableId":[137047],"_ownersTableId":[137063],"_tokenApprovalTableId":[137079],"_tokenUriTableId":[137095],"createPuppet":[151083]},"nodeType":"SourceUnit","src":"32:4268:241","nodes":[{"id":127375,"nodeType":"PragmaDirective","src":"32:25:241","nodes":[],"literals":["solidity",">=","0.8",".21"]},{"id":127377,"nodeType":"ImportDirective","src":"59:83:241","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol","file":"@latticexyz/store/src/codegen/tables/ResourceIds.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":87858,"symbolAliases":[{"foreign":{"id":127376,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87847,"src":"68:11:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127379,"nodeType":"ImportDirective","src":"143:66:241","nodes":[],"absolutePath":"node_modules/@latticexyz/store/src/ResourceId.sol","file":"@latticexyz/store/src/ResourceId.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":82424,"symbolAliases":[{"foreign":{"id":127378,"name":"ResourceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":82352,"src":"152:10:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127381,"nodeType":"ImportDirective","src":"210:58:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/Module.sol","file":"@latticexyz/world/src/Module.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":94904,"symbolAliases":[{"foreign":{"id":127380,"name":"Module","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94903,"src":"219:6:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127383,"nodeType":"ImportDirective","src":"269:79:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/WorldResourceId.sol","file":"@latticexyz/world/src/WorldResourceId.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":96286,"symbolAliases":[{"foreign":{"id":127382,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96164,"src":"278:18:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127385,"nodeType":"ImportDirective","src":"349:85:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","file":"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":96357,"symbolAliases":[{"foreign":{"id":127384,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96356,"src":"358:10:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127387,"nodeType":"ImportDirective","src":"435:93:241","nodes":[],"absolutePath":"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol","file":"@latticexyz/world/src/codegen/tables/InstalledModules.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":98970,"symbolAliases":[{"foreign":{"id":127386,"name":"InstalledModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98969,"src":"444:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127389,"nodeType":"ImportDirective","src":"530:46:241","nodes":[],"absolutePath":"src/modules/puppet/Puppet.sol","file":"../puppet/Puppet.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":150649,"symbolAliases":[{"foreign":{"id":127388,"name":"Puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150648,"src":"539:6:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127391,"nodeType":"ImportDirective","src":"577:58:241","nodes":[],"absolutePath":"src/modules/puppet/createPuppet.sol","file":"../puppet/createPuppet.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":151084,"symbolAliases":[{"foreign":{"id":127390,"name":"createPuppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":151083,"src":"586:12:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127393,"nodeType":"ImportDirective","src":"636:76:241","nodes":[],"absolutePath":"src/modules/puppet/constants.sol","file":"../puppet/constants.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":151017,"symbolAliases":[{"foreign":{"id":127392,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150956,"src":"645:11:241","typeDescriptions":{}},"local":"PUPPET_MODULE_NAME","nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127395,"nodeType":"ImportDirective","src":"713:57:241","nodes":[],"absolutePath":"src/modules/tokens/tables/Balances.sol","file":"../tokens/tables/Balances.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":156592,"symbolAliases":[{"foreign":{"id":127394,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156591,"src":"722:8:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127400,"nodeType":"ImportDirective","src":"772:111:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/constants.sol","file":"./constants.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":129244,"symbolAliases":[{"foreign":{"id":127396,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129187,"src":"781:11:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127397,"name":"MODULE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129190,"src":"794:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127398,"name":"MODULE_NAMESPACE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129204,"src":"812:19:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127399,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"833:24:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127408,"nodeType":"ImportDirective","src":"884:165:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/utils.sol","file":"./utils.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":137112,"symbolAliases":[{"foreign":{"id":127401,"name":"_erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137111,"src":"893:15:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127402,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137015,"src":"910:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127403,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137031,"src":"928:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127404,"name":"_tokenUriTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137095,"src":"946:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127405,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137047,"src":"964:24:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127406,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137063,"src":"990:14:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127407,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137079,"src":"1006:21:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127410,"nodeType":"ImportDirective","src":"1050:50:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/ERC721System.sol","file":"./ERC721System.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":128915,"symbolAliases":[{"foreign":{"id":127409,"name":"ERC721System","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128914,"src":"1059:12:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127412,"nodeType":"ImportDirective","src":"1102:65:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/OperatorApproval.sol","file":"./tables/OperatorApproval.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":133571,"symbolAliases":[{"foreign":{"id":127411,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133560,"src":"1111:16:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127414,"nodeType":"ImportDirective","src":"1168:45:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/Owners.sol","file":"./tables/Owners.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":134349,"symbolAliases":[{"foreign":{"id":127413,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134348,"src":"1177:6:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127416,"nodeType":"ImportDirective","src":"1214:59:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/TokenApproval.sol","file":"./tables/TokenApproval.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":135127,"symbolAliases":[{"foreign":{"id":127415,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135126,"src":"1223:13:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127418,"nodeType":"ImportDirective","src":"1274:49:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/TokenURI.sol","file":"./tables/TokenURI.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":136982,"symbolAliases":[{"foreign":{"id":127417,"name":"TokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136981,"src":"1283:8:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127420,"nodeType":"ImportDirective","src":"1324:61:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/ERC721Registry.sol","file":"./tables/ERC721Registry.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":132542,"symbolAliases":[{"foreign":{"id":127419,"name":"ERC721Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132541,"src":"1333:14:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127423,"nodeType":"ImportDirective","src":"1386:81:241","nodes":[],"absolutePath":"src/modules/erc721-puppet/tables/ERC721Metadata.sol","file":"./tables/ERC721Metadata.sol","nameLocation":"-1:-1:-1","scope":127692,"sourceUnit":131784,"symbolAliases":[{"foreign":{"id":127421,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131783,"src":"1395:14:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":127422,"name":"ERC721MetadataData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129378,"src":"1411:18:241","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":127619,"nodeType":"ContractDefinition","src":"1469:2142:241","nodes":[{"id":127429,"nodeType":"ErrorDefinition","src":"1505:55:241","nodes":[],"errorSelector":"2ca07d84","name":"ERC721Module_InvalidNamespace","nameLocation":"1511:29:241","parameters":{"id":127428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127427,"mutability":"mutable","name":"namespace","nameLocation":"1549:9:241","nodeType":"VariableDeclaration","scope":127429,"src":"1541:17:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":127426,"name":"bytes14","nodeType":"ElementaryTypeName","src":"1541:7:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"1540:19:241"}},{"id":127438,"nodeType":"VariableDeclaration","src":"1564:86:241","nodes":[],"constant":false,"mutability":"immutable","name":"registrationLibrary","nameLocation":"1582:19:241","scope":127619,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127430,"name":"address","nodeType":"ElementaryTypeName","src":"1564:7:241","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":127435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"1612:35:241","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC721ModuleRegistrationLibrary_$127691_$","typeString":"function () returns (contract ERC721ModuleRegistrationLibrary)"},"typeName":{"id":127434,"nodeType":"UserDefinedTypeName","pathNode":{"id":127433,"name":"ERC721ModuleRegistrationLibrary","nameLocations":["1616:31:241"],"nodeType":"IdentifierPath","referencedDeclaration":127691,"src":"1616:31:241"},"referencedDeclaration":127691,"src":"1616:31:241","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721ModuleRegistrationLibrary_$127691","typeString":"contract ERC721ModuleRegistrationLibrary"}}},"id":127436,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1612:37:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721ModuleRegistrationLibrary_$127691","typeString":"contract ERC721ModuleRegistrationLibrary"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_ERC721ModuleRegistrationLibrary_$127691","typeString":"contract ERC721ModuleRegistrationLibrary"}],"id":127432,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1604:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":127431,"name":"address","nodeType":"ElementaryTypeName","src":"1604:7:241","typeDescriptions":{}}},"id":127437,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1604:46:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"id":127447,"nodeType":"FunctionDefinition","src":"1655:87:241","nodes":[],"body":{"id":127446,"nodeType":"Block","src":"1713:29:241","nodes":[],"statements":[{"expression":{"id":127444,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129187,"src":"1726:11:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"functionReturnParameters":127443,"id":127445,"nodeType":"Return","src":"1719:18:241"}]},"baseFunctions":[94638],"functionSelector":"17d7de7c","implemented":true,"kind":"function","modifiers":[],"name":"getName","nameLocation":"1664:7:241","overrides":{"id":127440,"nodeType":"OverrideSpecifier","overrides":[],"src":"1686:8:241"},"parameters":{"id":127439,"nodeType":"ParameterList","parameters":[],"src":"1671:2:241"},"returnParameters":{"id":127443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127442,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":127447,"src":"1704:7:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"},"typeName":{"id":127441,"name":"bytes16","nodeType":"ElementaryTypeName","src":"1704:7:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},"visibility":"internal"}],"src":"1703:9:241"},"scope":127619,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":127479,"nodeType":"FunctionDefinition","src":"1746:268:241","nodes":[],"body":{"id":127478,"nodeType":"Block","src":"1787:227:241","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":127464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":127452,"name":"PUPPET_MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150956,"src":"1862:18:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},{"arguments":[{"arguments":[{"hexValue":"30","id":127456,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1902:1:241","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":127455,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"1892:9:241","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$","typeString":"function (uint256) pure returns (bytes memory)"},"typeName":{"id":127454,"name":"bytes","nodeType":"ElementaryTypeName","src":"1896:5:241","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}}},"id":127457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1892:12:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":127453,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1882:9:241","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":127458,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1882:23:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":127450,"name":"InstalledModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98969,"src":"1841:16:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_InstalledModules_$98969_$","typeString":"type(library InstalledModules)"}},"id":127451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1858:3:241","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":98537,"src":"1841:20:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes16_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes16,bytes32) view returns (address)"}},"id":127459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1841:65:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":127462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1918:1:241","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":127461,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1910:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":127460,"name":"address","nodeType":"ElementaryTypeName","src":"1910:7:241","typeDescriptions":{}}},"id":127463,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1910:10:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1841:79:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127477,"nodeType":"IfStatement","src":"1837:173:241","trueBody":{"id":127476,"nodeType":"Block","src":"1922:88:241","statements":[{"errorCall":{"arguments":[{"arguments":[{"arguments":[{"id":127471,"name":"PUPPET_MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":150956,"src":"1982:18:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"}],"expression":{"id":127469,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1969:5:241","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":127468,"name":"bytes","nodeType":"ElementaryTypeName","src":"1969:5:241","typeDescriptions":{}}},"id":127470,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1975:6:241","memberName":"concat","nodeType":"MemberAccess","src":"1969:12:241","typeDescriptions":{"typeIdentifier":"t_function_bytesconcat_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":127472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1969:32:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":127467,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1962:6:241","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":127466,"name":"string","nodeType":"ElementaryTypeName","src":"1962:6:241","typeDescriptions":{}}},"id":127473,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1962:40:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":127465,"name":"Module_MissingDependency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94632,"src":"1937:24:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":127474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1937:66:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127475,"nodeType":"RevertStatement","src":"1930:73:241"}]}}]},"implemented":true,"kind":"function","modifiers":[],"name":"_requireDependencies","nameLocation":"1755:20:241","parameters":{"id":127448,"nodeType":"ParameterList","parameters":[],"src":"1775:2:241"},"returnParameters":{"id":127449,"nodeType":"ParameterList","parameters":[],"src":"1787:0:241"},"scope":127619,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":127609,"nodeType":"FunctionDefinition","src":"2018:1490:241","nodes":[],"body":{"id":127608,"nodeType":"Block","src":"2061:1447:241","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":127495,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":127486,"name":"MODULE_NAME","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129187,"src":"2158:11:241","typeDescriptions":{"typeIdentifier":"t_bytes16","typeString":"bytes16"}},{"arguments":[{"id":127488,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127481,"src":"2181:4:241","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":127487,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2171:9:241","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":127489,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2171:15:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes16","typeString":"bytes16"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":127484,"name":"InstalledModules","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98969,"src":"2137:16:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_InstalledModules_$98969_$","typeString":"type(library InstalledModules)"}},"id":127485,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2154:3:241","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":98537,"src":"2137:20:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes16_$_t_bytes32_$returns$_t_address_$","typeString":"function (bytes16,bytes32) view returns (address)"}},"id":127490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2137:50:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":127493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2199:1:241","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":127492,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2191:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":127491,"name":"address","nodeType":"ElementaryTypeName","src":"2191:7:241","typeDescriptions":{}}},"id":127494,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2191:10:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2137:64:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127500,"nodeType":"IfStatement","src":"2133:117:241","trueBody":{"id":127499,"nodeType":"Block","src":"2203:47:241","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":127496,"name":"Module_AlreadyInstalled","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94628,"src":"2218:23:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":127497,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2218:25:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127498,"nodeType":"RevertStatement","src":"2211:32:241"}]}},{"assignments":[127502,127505],"declarations":[{"constant":false,"id":127502,"mutability":"mutable","name":"namespace","nameLocation":"2285:9:241","nodeType":"VariableDeclaration","scope":127608,"src":"2277:17:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":127501,"name":"bytes14","nodeType":"ElementaryTypeName","src":"2277:7:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"},{"constant":false,"id":127505,"mutability":"mutable","name":"metadata","nameLocation":"2322:8:241","nodeType":"VariableDeclaration","scope":127608,"src":"2296:34:241","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_memory_ptr","typeString":"struct ERC721MetadataData"},"typeName":{"id":127504,"nodeType":"UserDefinedTypeName","pathNode":{"id":127503,"name":"ERC721MetadataData","nameLocations":["2296:18:241"],"nodeType":"IdentifierPath","referencedDeclaration":129378,"src":"2296:18:241"},"referencedDeclaration":129378,"src":"2296:18:241","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_storage_ptr","typeString":"struct ERC721MetadataData"}},"visibility":"internal"}],"id":127514,"initialValue":{"arguments":[{"id":127508,"name":"args","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127481,"src":"2345:4:241","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":127510,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2352:7:241","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes14_$","typeString":"type(bytes14)"},"typeName":{"id":127509,"name":"bytes14","nodeType":"ElementaryTypeName","src":"2352:7:241","typeDescriptions":{}}},{"id":127511,"name":"ERC721MetadataData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129378,"src":"2361:18:241","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ERC721MetadataData_$129378_storage_ptr_$","typeString":"type(struct ERC721MetadataData storage pointer)"}}],"id":127512,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2351:29:241","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_bytes14_$_$_t_type$_t_struct$_ERC721MetadataData_$129378_storage_ptr_$_$","typeString":"tuple(type(bytes14),type(struct ERC721MetadataData storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_bytes14_$_$_t_type$_t_struct$_ERC721MetadataData_$129378_storage_ptr_$_$","typeString":"tuple(type(bytes14),type(struct ERC721MetadataData storage pointer))"}],"expression":{"id":127506,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2334:3:241","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":127507,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2338:6:241","memberName":"decode","nodeType":"MemberAccess","src":"2334:10:241","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":127513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2334:47:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bytes14_$_t_struct$_ERC721MetadataData_$129378_memory_ptr_$","typeString":"tuple(bytes14,struct ERC721MetadataData memory)"}},"nodeType":"VariableDeclarationStatement","src":"2276:105:241"},{"condition":{"commonType":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"id":127517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":127515,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2454:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":127516,"name":"MODULE_NAMESPACE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129190,"src":"2467:16:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"src":"2454:29:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127523,"nodeType":"IfStatement","src":"2450:97:241","trueBody":{"id":127522,"nodeType":"Block","src":"2485:62:241","statements":[{"errorCall":{"arguments":[{"id":127519,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2530:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127518,"name":"ERC721Module_InvalidNamespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127429,"src":"2500:29:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_bytes14_$returns$__$","typeString":"function (bytes14) pure"}},"id":127520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2500:40:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127521,"nodeType":"RevertStatement","src":"2493:47:241"}]}},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":127524,"name":"_requireDependencies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127479,"src":"2581:20:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":127525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2581:22:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127526,"nodeType":"ExpressionStatement","src":"2581:22:241"},{"assignments":[127529],"declarations":[{"constant":false,"id":127529,"mutability":"mutable","name":"world","nameLocation":"2666:5:241","nodeType":"VariableDeclaration","scope":127608,"src":"2655:16:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"},"typeName":{"id":127528,"nodeType":"UserDefinedTypeName","pathNode":{"id":127527,"name":"IBaseWorld","nameLocations":["2655:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":96356,"src":"2655:10:241"},"referencedDeclaration":96356,"src":"2655:10:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"visibility":"internal"}],"id":127534,"initialValue":{"arguments":[{"arguments":[],"expression":{"argumentTypes":[],"id":127531,"name":"_world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95789,"src":"2685:6:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":127532,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2685:8:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":127530,"name":"IBaseWorld","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96356,"src":"2674:10:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IBaseWorld_$96356_$","typeString":"type(contract IBaseWorld)"}},"id":127533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2674:20:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"nodeType":"VariableDeclarationStatement","src":"2655:39:241"},{"expression":{"arguments":[{"arguments":[{"expression":{"id":127540,"name":"ERC721ModuleRegistrationLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127691,"src":"2748:31:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721ModuleRegistrationLibrary_$127691_$","typeString":"type(contract ERC721ModuleRegistrationLibrary)"}},"id":127541,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2780:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":127690,"src":"2748:40:241","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$returns$__$","typeString":"function ERC721ModuleRegistrationLibrary.register(contract IBaseWorld,bytes14)"}},{"components":[{"id":127542,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127529,"src":"2791:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},{"id":127543,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2798:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"id":127544,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2790:18:241","typeDescriptions":{"typeIdentifier":"t_tuple$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$","typeString":"tuple(contract IBaseWorld,bytes14)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$returns$__$","typeString":"function ERC721ModuleRegistrationLibrary.register(contract IBaseWorld,bytes14)"},{"typeIdentifier":"t_tuple$_t_contract$_IBaseWorld_$96356_$_t_bytes14_$","typeString":"tuple(contract IBaseWorld,bytes14)"}],"expression":{"id":127538,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2733:3:241","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":127539,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2737:10:241","memberName":"encodeCall","nodeType":"MemberAccess","src":"2733:14:241","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":127545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2733:76:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":127535,"name":"registrationLibrary","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127438,"src":"2700:19:241","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":127537,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2720:12:241","memberName":"delegatecall","nodeType":"MemberAccess","src":"2700:32:241","typeDescriptions":{"typeIdentifier":"t_function_baredelegatecall_nonpayable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) returns (bool,bytes memory)"}},"id":127546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2700:110:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"id":127547,"nodeType":"ExpressionStatement","src":"2700:110:241"},{"expression":{"arguments":[{"arguments":[{"id":127552,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"2884:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127551,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137031,"src":"2867:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2867:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"id":127554,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127505,"src":"2896:8:241","typeDescriptions":{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_memory_ptr","typeString":"struct ERC721MetadataData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_struct$_ERC721MetadataData_$129378_memory_ptr","typeString":"struct ERC721MetadataData memory"}],"expression":{"id":127548,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131783,"src":"2848:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$131783_$","typeString":"type(library ERC721Metadata)"}},"id":127550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2863:3:241","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":131410,"src":"2848:18:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_struct$_ERC721MetadataData_$129378_memory_ptr_$returns$__$","typeString":"function (ResourceId,struct ERC721MetadataData memory)"}},"id":127555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2848:57:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127556,"nodeType":"ExpressionStatement","src":"2848:57:241"},{"assignments":[127559],"declarations":[{"constant":false,"id":127559,"mutability":"mutable","name":"erc721SystemId","nameLocation":"2969:14:241","nodeType":"VariableDeclaration","scope":127608,"src":"2958:25:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},"typeName":{"id":127558,"nodeType":"UserDefinedTypeName","pathNode":{"id":127557,"name":"ResourceId","nameLocations":["2958:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":82352,"src":"2958:10:241"},"referencedDeclaration":82352,"src":"2958:10:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"visibility":"internal"}],"id":127563,"initialValue":{"arguments":[{"id":127561,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"3002:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127560,"name":"_erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137111,"src":"2986:15:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2986:26:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"2958:54:241"},{"assignments":[127565],"declarations":[{"constant":false,"id":127565,"mutability":"mutable","name":"puppet","nameLocation":"3026:6:241","nodeType":"VariableDeclaration","scope":127608,"src":"3018:14:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":127564,"name":"address","nodeType":"ElementaryTypeName","src":"3018:7:241","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":127570,"initialValue":{"arguments":[{"id":127567,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127529,"src":"3048:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},{"id":127568,"name":"erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127559,"src":"3055:14:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"id":127566,"name":"createPuppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":151083,"src":"3035:12:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_contract$_IBaseWorld_$96356_$_t_userDefinedValueType$_ResourceId_$82352_$returns$_t_address_$","typeString":"function (contract IBaseWorld,ResourceId) returns (address)"}},"id":127569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3035:35:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3018:52:241"},{"assignments":[127573],"declarations":[{"constant":false,"id":127573,"mutability":"mutable","name":"namespaceId","nameLocation":"3145:11:241","nodeType":"VariableDeclaration","scope":127608,"src":"3134:22:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},"typeName":{"id":127572,"nodeType":"UserDefinedTypeName","pathNode":{"id":127571,"name":"ResourceId","nameLocations":["3134:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":82352,"src":"3134:10:241"},"referencedDeclaration":82352,"src":"3134:10:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"visibility":"internal"}],"id":127578,"initialValue":{"arguments":[{"id":127576,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127502,"src":"3194:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"expression":{"id":127574,"name":"WorldResourceIdLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96164,"src":"3159:18:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_WorldResourceIdLib_$96164_$","typeString":"type(library WorldResourceIdLib)"}},"id":127575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3178:15:241","memberName":"encodeNamespace","nodeType":"MemberAccess","referencedDeclaration":96119,"src":"3159:34:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127577,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3159:45:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},"nodeType":"VariableDeclarationStatement","src":"3134:70:241"},{"expression":{"arguments":[{"id":127582,"name":"namespaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127573,"src":"3234:11:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"arguments":[],"expression":{"argumentTypes":[],"id":127583,"name":"_msgSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":95767,"src":"3247:10:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":127584,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3247:12:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":127579,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127529,"src":"3210:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"id":127581,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3216:17:241","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":180199,"src":"3210:23:241","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_address_$returns$__$","typeString":"function (ResourceId,address) external"}},"id":127585,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3210:50:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127586,"nodeType":"ExpressionStatement","src":"3210:50:241"},{"condition":{"id":127591,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3319:48:241","subExpression":{"arguments":[{"id":127589,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"3342:24:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127587,"name":"ResourceIds","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87847,"src":"3320:11:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ResourceIds_$87847_$","typeString":"type(library ResourceIds)"}},"id":127588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3332:9:241","memberName":"getExists","nodeType":"MemberAccess","referencedDeclaration":87367,"src":"3320:21:241","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_userDefinedValueType$_ResourceId_$82352_$returns$_t_bool_$","typeString":"function (ResourceId) view returns (bool)"}},"id":127590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:47:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":127599,"nodeType":"IfStatement","src":"3315:118:241","trueBody":{"id":127598,"nodeType":"Block","src":"3369:64:241","statements":[{"expression":{"arguments":[{"id":127595,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"3401:24:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127592,"name":"ERC721Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132541,"src":"3377:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Registry_$132541_$","typeString":"type(library ERC721Registry)"}},"id":127594,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3392:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":131965,"src":"3377:23:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127596,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3377:49:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127597,"nodeType":"ExpressionStatement","src":"3377:49:241"}]}},{"expression":{"arguments":[{"id":127603,"name":"ERC721_REGISTRY_TABLE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":129243,"src":"3457:24:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"id":127604,"name":"namespaceId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127573,"src":"3483:11:241","typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"id":127605,"name":"puppet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127565,"src":"3496:6:241","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":127600,"name":"ERC721Registry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":132541,"src":"3438:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Registry_$132541_$","typeString":"type(library ERC721Registry)"}},"id":127602,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3453:3:241","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":132337,"src":"3438:18:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_userDefinedValueType$_ResourceId_$82352_$_t_address_$returns$__$","typeString":"function (ResourceId,ResourceId,address)"}},"id":127606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3438:65:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127607,"nodeType":"ExpressionStatement","src":"3438:65:241"}]},"baseFunctions":[94650],"functionSelector":"13861fb5","implemented":true,"kind":"function","modifiers":[],"name":"install","nameLocation":"2027:7:241","parameters":{"id":127482,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127481,"mutability":"mutable","name":"args","nameLocation":"2048:4:241","nodeType":"VariableDeclaration","scope":127609,"src":"2035:17:241","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":127480,"name":"bytes","nodeType":"ElementaryTypeName","src":"2035:5:241","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2034:19:241"},"returnParameters":{"id":127483,"nodeType":"ParameterList","parameters":[],"src":"2061:0:241"},"scope":127619,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":127618,"nodeType":"FunctionDefinition","src":"3512:97:241","nodes":[],"body":{"id":127617,"nodeType":"Block","src":"3559:50:241","nodes":[],"statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":127614,"name":"Module_RootInstallNotSupported","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94624,"src":"3572:30:241","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":127615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3572:32:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127616,"nodeType":"RevertStatement","src":"3565:39:241"}]},"baseFunctions":[94644],"functionSelector":"7c5b0335","implemented":true,"kind":"function","modifiers":[],"name":"installRoot","nameLocation":"3521:11:241","parameters":{"id":127612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127611,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":127618,"src":"3533:12:241","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":127610,"name":"bytes","nodeType":"ElementaryTypeName","src":"3533:5:241","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3532:14:241"},"returnParameters":{"id":127613,"nodeType":"ParameterList","parameters":[],"src":"3559:0:241"},"scope":127619,"stateMutability":"pure","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":127424,"name":"Module","nameLocations":["1494:6:241"],"nodeType":"IdentifierPath","referencedDeclaration":94903,"src":"1494:6:241"},"id":127425,"nodeType":"InheritanceSpecifier","src":"1494:6:241"}],"canonicalName":"ERC721Module","contractDependencies":[127691],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[127619,94903,95807,177303,94651,177260],"name":"ERC721Module","nameLocation":"1478:12:241","scope":127692,"usedErrors":[80787,80789,80791,81420,81436,81454,81460,81466,82445,82448,82928,94624,94626,94628,94632,127429],"usedEvents":[83227,83240]},{"id":127691,"nodeType":"ContractDefinition","src":"3613:686:241","nodes":[{"id":127690,"nodeType":"FunctionDefinition","src":"3747:550:241","nodes":[],"body":{"id":127689,"nodeType":"Block","src":"3809:488:241","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"id":127632,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"3894:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127631,"name":"_operatorApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137047,"src":"3869:24:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127633,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3869:35:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127628,"name":"OperatorApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":133560,"src":"3843:16:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OperatorApproval_$133560_$","typeString":"type(library OperatorApproval)"}},"id":127630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3860:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":132734,"src":"3843:25:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3843:62:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127635,"nodeType":"ExpressionStatement","src":"3843:62:241"},{"expression":{"arguments":[{"arguments":[{"id":127640,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"3942:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127639,"name":"_ownersTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137063,"src":"3927:14:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3927:25:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127636,"name":"Owners","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":134348,"src":"3911:6:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Owners_$134348_$","typeString":"type(library Owners)"}},"id":127638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3918:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":133750,"src":"3911:15:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127642,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3911:42:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127643,"nodeType":"ExpressionStatement","src":"3911:42:241"},{"expression":{"arguments":[{"arguments":[{"id":127648,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4004:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127647,"name":"_tokenApprovalTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137079,"src":"3982:21:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3982:32:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127644,"name":"TokenApproval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":135126,"src":"3959:13:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenApproval_$135126_$","typeString":"type(library TokenApproval)"}},"id":127646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3973:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":134528,"src":"3959:22:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127650,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3959:56:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127651,"nodeType":"ExpressionStatement","src":"3959:56:241"},{"expression":{"arguments":[{"arguments":[{"id":127656,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4056:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127655,"name":"_tokenUriTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137095,"src":"4039:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127657,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4039:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127652,"name":"TokenURI","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":136981,"src":"4021:8:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_TokenURI_$136981_$","typeString":"type(library TokenURI)"}},"id":127654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4030:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":135306,"src":"4021:17:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4021:46:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127659,"nodeType":"ExpressionStatement","src":"4021:46:241"},{"expression":{"arguments":[{"arguments":[{"id":127664,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4108:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127663,"name":"_balancesTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137015,"src":"4091:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127665,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4091:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127660,"name":"Balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":156591,"src":"4073:8:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Balances_$156591_$","typeString":"type(library Balances)"}},"id":127662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4082:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":155960,"src":"4073:17:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4073:46:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127667,"nodeType":"ExpressionStatement","src":"4073:46:241"},{"expression":{"arguments":[{"arguments":[{"id":127672,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4166:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127671,"name":"_metadataTableId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137031,"src":"4149:16:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127673,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4149:27:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}],"expression":{"id":127668,"name":"ERC721Metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":131783,"src":"4125:14:241","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC721Metadata_$131783_$","typeString":"type(library ERC721Metadata)"}},"id":127670,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4140:8:241","memberName":"register","nodeType":"MemberAccess","referencedDeclaration":129532,"src":"4125:23:241","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$returns$__$","typeString":"function (ResourceId)"}},"id":127674,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4125:52:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127675,"nodeType":"ExpressionStatement","src":"4125:52:241"},{"expression":{"arguments":[{"arguments":[{"id":127680,"name":"namespace","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127625,"src":"4255:9:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes14","typeString":"bytes14"}],"id":127679,"name":"_erc721SystemId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":137111,"src":"4239:15:241","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes14_$returns$_t_userDefinedValueType$_ResourceId_$82352_$","typeString":"function (bytes14) pure returns (ResourceId)"}},"id":127681,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4239:26:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"}},{"arguments":[],"expression":{"argumentTypes":[],"id":127684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"4267:16:241","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_ERC721System_$128914_$","typeString":"function () returns (contract ERC721System)"},"typeName":{"id":127683,"nodeType":"UserDefinedTypeName","pathNode":{"id":127682,"name":"ERC721System","nameLocations":["4271:12:241"],"nodeType":"IdentifierPath","referencedDeclaration":128914,"src":"4271:12:241"},"referencedDeclaration":128914,"src":"4271:12:241","typeDescriptions":{"typeIdentifier":"t_contract$_ERC721System_$128914","typeString":"contract ERC721System"}}},"id":127685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4267:18:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_ERC721System_$128914","typeString":"contract ERC721System"}},{"hexValue":"74727565","id":127686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4287:4:241","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_userDefinedValueType$_ResourceId_$82352","typeString":"ResourceId"},{"typeIdentifier":"t_contract$_ERC721System_$128914","typeString":"contract ERC721System"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":127676,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":127623,"src":"4218:5:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"id":127678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4224:14:241","memberName":"registerSystem","nodeType":"MemberAccess","referencedDeclaration":180318,"src":"4218:20:241","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_userDefinedValueType$_ResourceId_$82352_$_t_contract$_WorldContextConsumer_$95807_$_t_bool_$returns$__$","typeString":"function (ResourceId,contract WorldContextConsumer,bool) external"}},"id":127687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4218:74:241","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":127688,"nodeType":"ExpressionStatement","src":"4218:74:241"}]},"documentation":{"id":127620,"nodeType":"StructuredDocumentation","src":"3658:86:241","text":" Register systems and tables for a new ERC721 token in a given namespace"},"functionSelector":"472466c2","implemented":true,"kind":"function","modifiers":[],"name":"register","nameLocation":"3756:8:241","parameters":{"id":127626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":127623,"mutability":"mutable","name":"world","nameLocation":"3776:5:241","nodeType":"VariableDeclaration","scope":127690,"src":"3765:16:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"},"typeName":{"id":127622,"nodeType":"UserDefinedTypeName","pathNode":{"id":127621,"name":"IBaseWorld","nameLocations":["3765:10:241"],"nodeType":"IdentifierPath","referencedDeclaration":96356,"src":"3765:10:241"},"referencedDeclaration":96356,"src":"3765:10:241","typeDescriptions":{"typeIdentifier":"t_contract$_IBaseWorld_$96356","typeString":"contract IBaseWorld"}},"visibility":"internal"},{"constant":false,"id":127625,"mutability":"mutable","name":"namespace","nameLocation":"3791:9:241","nodeType":"VariableDeclaration","scope":127690,"src":"3783:17:241","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"},"typeName":{"id":127624,"name":"bytes14","nodeType":"ElementaryTypeName","src":"3783:7:241","typeDescriptions":{"typeIdentifier":"t_bytes14","typeString":"bytes14"}},"visibility":"internal"}],"src":"3764:37:241"},"returnParameters":{"id":127627,"nodeType":"ParameterList","parameters":[],"src":"3809:0:241"},"scope":127691,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"canonicalName":"ERC721ModuleRegistrationLibrary","contractDependencies":[128914],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[127691],"name":"ERC721ModuleRegistrationLibrary","nameLocation":"3622:31:241","scope":127692,"usedErrors":[80787,80789,80791,81420,81436,81454,81460,81466,82445,82448,82928],"usedEvents":[83227,83240]}],"license":"MIT"},"id":241}
|