@latticexyz/world-modules 2.0.0-main-59acc3cd → 2.0.0-main-3042f86e

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.
Files changed (140) hide show
  1. package/out/AccessControl.sol/AccessControl.json +1 -1
  2. package/out/AccessControlLib.sol/AccessControlLib.json +1 -1
  3. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  4. package/out/AddressArray.sol/AddressArray.json +1 -1
  5. package/out/Allowances.sol/Allowances.json +1 -1
  6. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  7. package/out/Balances.sol/Balances.json +1 -1
  8. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  9. package/out/Bool.sol/Bool.json +1 -1
  10. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  11. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  12. package/out/Delegation.sol/Delegation.json +1 -1
  13. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  14. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  15. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  16. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  17. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  18. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  19. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  20. package/out/ERC20System.sol/ERC20System.json +1 -1
  21. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  22. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  23. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  24. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  25. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  26. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  27. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  28. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  29. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  30. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  31. package/out/ERC721System.sol/ERC721System.json +1 -1
  32. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  33. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  34. package/out/Hook.sol/HookInstance.json +1 -1
  35. package/out/Hook.sol/HookLib.json +1 -1
  36. package/out/Hooks.sol/Hooks.json +1 -1
  37. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  38. package/out/InitModule.sol/InitModule.json +1 -1
  39. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  40. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  41. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  42. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  43. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +0 -16
  44. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +0 -16
  45. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  46. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  47. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  48. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  49. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +0 -16
  50. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +0 -16
  51. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  52. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  53. package/out/Module.sol/Module.json +1 -1
  54. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  55. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  56. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  57. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  58. package/out/Owners.sol/Owners.json +1 -1
  59. package/out/Puppet.sol/Puppet.json +1 -1
  60. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  61. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  62. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  63. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  64. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  65. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  66. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  67. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  68. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  69. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  70. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  71. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  72. package/out/StoreCore.sol/StoreCore.json +1 -1
  73. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  74. package/out/StoreData.sol/StoreData.json +1 -1
  75. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  76. package/out/StoreRead.sol/StoreRead.json +1 -1
  77. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  78. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  79. package/out/System.sol/System.json +1 -1
  80. package/out/SystemCall.sol/SystemCall.json +1 -1
  81. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  82. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  83. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  84. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  85. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json +0 -16
  86. package/out/SystemSwitch.t.sol/SystemSwitchTest.abi.json.d.ts +0 -16
  87. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  88. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  89. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  90. package/out/Systems.sol/Systems.json +1 -1
  91. package/out/Tables.sol/Tables.json +1 -1
  92. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  93. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  94. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  95. package/out/TokenURI.sol/TokenURI.json +1 -1
  96. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  97. package/out/TwoFields.sol/TwoFields.json +1 -1
  98. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  99. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  100. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  101. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  102. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  103. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  104. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  105. package/out/World.sol/World.json +1 -1
  106. package/out/World.t.sol/EchoSystemHook.json +1 -1
  107. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  108. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  109. package/out/World.t.sol/RevertSystemHook.json +1 -1
  110. package/out/World.t.sol/WorldTest.json +1 -1
  111. package/out/World.t.sol/WorldTestSystem.json +1 -1
  112. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  113. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  114. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  115. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  116. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  117. package/out/query.t.sol/QueryTest.json +1 -1
  118. package/out/tables/Balances.sol/Balances.json +1 -1
  119. package/package.json +8 -8
  120. package/src/modules/erc20-puppet/tables/Allowances.sol +8 -29
  121. package/src/modules/erc20-puppet/tables/ERC20Metadata.sol +8 -29
  122. package/src/modules/erc20-puppet/tables/ERC20Registry.sol +8 -28
  123. package/src/modules/erc20-puppet/tables/TotalSupply.sol +8 -27
  124. package/src/modules/erc721-puppet/tables/ERC721Metadata.sol +8 -29
  125. package/src/modules/erc721-puppet/tables/ERC721Registry.sol +8 -28
  126. package/src/modules/erc721-puppet/tables/OperatorApproval.sol +8 -29
  127. package/src/modules/erc721-puppet/tables/Owners.sol +8 -28
  128. package/src/modules/erc721-puppet/tables/TokenApproval.sol +8 -28
  129. package/src/modules/erc721-puppet/tables/TokenURI.sol +8 -28
  130. package/src/modules/keysintable/KeysInTableModule.sol +4 -4
  131. package/src/modules/keysintable/tables/KeysInTable.sol +9 -33
  132. package/src/modules/keysintable/tables/UsedKeysIndex.sol +9 -31
  133. package/src/modules/keyswithvalue/KeysWithValueModule.sol +2 -2
  134. package/src/modules/keyswithvalue/tables/KeysWithValue.sol +9 -29
  135. package/src/modules/puppet/tables/PuppetRegistry.sol +8 -28
  136. package/src/modules/std-delegations/tables/CallboundDelegations.sol +8 -31
  137. package/src/modules/std-delegations/tables/SystemboundDelegations.sol +8 -30
  138. package/src/modules/std-delegations/tables/TimeboundDelegations.sol +8 -29
  139. package/src/modules/tokens/tables/Balances.sol +8 -28
  140. package/src/modules/uniqueentity/tables/UniqueEntity.sol +9 -28
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"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_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516148be6100306000396000610a2a01526148be6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:91:-:0;;;981:4:82;938:48;;2226:12847:91;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:91:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:58;;;;;;:::i;:::-;;:::i;:::-;;;592:14:208;;585:22;567:41;;555:2;540:18;2331:198:58;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:208;;;765:74;;753:2;738:18;1262:113:58;619:226:208;11618:932:91;;;;;;:::i;:::-;;:::i;:::-;;8379:1508;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:208;;;3108:98;;3096:2;3081:18;8379:1508:91;2964:248:208;5808:2236:91;;;;;;:::i;:::-;;:::i;1616:110:58:-;;;-1:-1:-1;;3800:14:58;3796:25;3783:39;3899:25:208;;3887:2;3872:18;1616:110:58;3753:177:208;10291:997:91;;;;;;:::i;:::-;;:::i;4742:388::-;;;;;;:::i;:::-;;:::i;14605:466::-;;;;;;:::i;:::-;;:::i;2536:736::-;;;;;;:::i;:::-;;:::i;13276:1145::-;;;;;;:::i;:::-;;:::i;12735:223::-;;;;;;:::i;:::-;;:::i;3576:936::-;;;;;;:::i;:::-;;:::i;1942:98:58:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:58;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:58;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:58:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11618:932:91:-;1061:20:82;:18;:20::i;:::-;11823:141:91::1;11869:12;:10;:12::i;:::-;11900:9;11938:19;11823:26;:141::i;:::-;12014:41;12035:19;12014:20;:41::i;:::-;12010:536;;;12159:25;12187:39;12206:19;12187:18;:39::i;:::-;12159:67;;12234:73;12251:17;12270:36;12234:16;:73::i;:::-;12378:161;12429:12;:10;:12::i;:::-;12461:19;12500:12;12529:1;12378:32;:161::i;:::-;;12057:489;12010:536;11618:932:::0;;;:::o;8379:1508::-;8518:28;1061:20:82;:18;:20::i;:::-;-1:-1:-1;;;8625:8:91;:37;::::1;;8621:138;;-1:-1:-1::0;;;8722:8:91::1;8732:19;:8;:17;:19::i;:::-;8679:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8621:138;8802:40;8833:8;8802:30;:40::i;:::-;8896:50;8923:8;8933:12;:10;:12::i;:::-;8896:26;:50::i;:::-;8993:29;9025:59;9060:23;:8;451:5:16::0;2634:44:59;;2536:148;9060:23:91::1;-1:-1:-1::0;;9025:59:91::1;:34;:59::i;:::-;8993:91;;9090:35;9145:15;9168:23;9128:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9090:102;;9239:22;9229:33;;;;;;9198:65;;9329:27;9359:53;9390:21;9359:30;:53::i;:::-;9329:83:::0;-1:-1:-1;9423:40:91;;9419:111:::1;;9472:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;9472:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;9472:58:91::1;2964:248:208::0;9419:111:91::1;9614:41:::0;;::::1;::::0;::::1;::::0;9662:79:::1;9685:21:::0;9708:8;9614:41;9662:22:::1;:79::i;:::-;9804:78;9828:21;9858:22;9804:23;:78::i;:::-;8548:1339;;;;8379:1508:::0;;;;:::o;5808:2236::-;1061:20:82;:18;:20::i;:::-;-1:-1:-1;;;5996:8:91;:37;::::1;;5992:138;;-1:-1:-1::0;;;6093:8:91::1;6103:19;:8;:17;:19::i;5992:138::-;578:36:59::0;2952:46;;-1:-1:-1;;;2951:74:59;6239:43:91::1;2951:74:59::0;6239:30:91::1;:43::i;:::-;6336:53;6363:11;6376:12;:10;:12::i;6336:53::-;6480:74;6505:6;6514:39;6480:16;:74::i;:::-;6647:9;6625:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6625:31:91::1;::::0;6621:98:::1;;6689:8;6699:19;:8;:17;:19::i;:::-;6665:54;;;;;;;;;;;;:::i;6621:98::-;6803:27;6833:36;6861:6;6833:19;:36::i;:::-;6803:66:::0;-1:-1:-1;6886:40:91;;;::::1;::::0;:110:::1;;;6987:8;6948:16;6930:66;;6886:110;6875:192;;;7018:42;::::0;::::1;::::0;;-1:-1:-1;;;;;783:55:208;;7018:42:91::1;::::0;::::1;765:74:208::0;738:18;;7018:42:91::1;619:226:208::0;6875:192:91::1;7131:22;7156:28;7175:8;7156:18;:28::i;:::-;7131:53:::0;-1:-1:-1;;;;;;7264:28:91;::::1;::::0;7260:411:::1;;7363:44;7392:14;7363:28;:44::i;:::-;7478:57;7507:11;7520:14;7478:28;:57::i;:::-;7260:411;;;7626:38;7649:8;7659:4;7626:22;:38::i;:::-;7758:53;7771:8;7789:6;7798:12;7758;:53::i;:::-;7883:46;7911:6;7920:8;7883:19;:46::i;:::-;7984:55;8004:11;8025:6;8034:4;7984:19;:55::i;:::-;5919:2125;;;5808:2236:::0;;;:::o;10291:997::-;10468:28;1061:20:82;:18;:20::i;:::-;625:63:80::1;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;8547:92:208::0;662:14:80::1;8655:11:208::0;;;8648:100;;;8764:12;;;8757:101;10556:59:91::1;::::0;8874:12:208;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;10602:12:91;:10;:12::i;10556:59::-;-1:-1:-1::0;10718:40:91;;::::1;::::0;::::1;::::0;10825:27:::1;10855:53;10718:40:::0;10855:30:::1;:53::i;:::-;10825:83:::0;-1:-1:-1;10919:40:91;;10915:111:::1;;10968:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;10968:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;10968:58:91::1;2964:248:208::0;10915:111:91::1;11071:79;11094:21;11117:8;11127:22;11071;:79::i;:::-;11213:70;11237:21;11260:22;11213:23;:70::i;:::-;10498:790;10291:997:::0;;;;;:::o;4742:388::-;1061:20:82;:18;:20::i;:::-;4899:50:91::1;4926:8;4936:12;:10;:12::i;4899:50::-;5044:81;1292:66:76;5094:8:91::0;5112:11;5044:27:::1;:81::i;:::-;4742:388:::0;;:::o;14605:466::-;1061:20:82;:18;:20::i;:::-;14746:29:91::1;14763:11;14746:16;:29::i;:::-;14820:43;14851:11;14820:30;:43::i;:::-;14917:53;14944:11;14957:12;:10;:12::i;14917:53::-;15014:52;15054:11;15014:39;:52::i;:::-;14605:466:::0;:::o;2536:736::-;1061:20:82;:18;:20::i;:::-;2673:29:91::1;2690:11;2673:16;:29::i;:::-;2767:34;2789:11;2767:21;:34::i;:::-;2854:35;2877:11;2854:22;:35::i;:::-;2850:127;;;2934:11;2947:22;:11;:20;:22::i;:::-;2906:64;;;;;;;;;;;;:::i;2850:127::-;3021:41;3044:11;3057:4;3021:22;:41::i;:::-;3115:46;3135:11;3148:12;:10;:12::i;:::-;3115:19;:46::i;:::-;3215:52;3235:11;3248:12;:10;:12::i;:::-;3262:4;3215:19;:52::i;13276:1145::-:0;1061:20:82;:18;:20::i;:::-;13490:29:91::1;13507:11;13490:16;:29::i;:::-;13581:41;13602:19;13581:20;:41::i;:::-;13576:107;;13639:37;;;;;;;;;;;;;;13576:107;13736:53;13763:11;13776:12;:10;:12::i;13736:53::-;13888:25;13916:39;13935:19;13916:18;:39::i;:::-;13888:67;;13961:73;13978:17;13997:36;13961:16;:73::i;:::-;14080:65;14112:11;14125:19;14080:31;:65::i;:::-;14216:19:::0;;:23;14212:205:::1;;14249:161;14300:12;:10;:12::i;14212:205::-;13436:985;13276:1145:::0;;;:::o;12735:223::-;1061:20:82;:18;:20::i;:::-;12868:85:91::1;12916:12;:10;:12::i;:::-;12941:9;12868:34;:85::i;3576:936::-:0;1061:20:82;:18;:20::i;:::-;-1:-1:-1;;;3801:8:91;:37;::::1;;3797:138;;-1:-1:-1::0;;;3898:8:91::1;3908:19;:8;:17;:19::i;3797:138::-;4016:69;4041:11;4055:29;4016:16;:69::i;:::-;4127:40;4158:8;4127:30;:40::i;:::-;4221:57;-1:-1:-1::0;;;578:36:59;2952:46;;2951:74;4221:30:91::1;:57::i;:::-;4328:50;4355:8;4365:12;:10;:12::i;4328:50::-;4410:97;4427:8:::0;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;4410:16:91::1;:97::i;1942:98:58:-:0;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:58;3325:45;2992:383;:::o;1179:189:82:-;-1:-1:-1;;;;;1265:6:82;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;6660:426:79:-;6788:16;;;6802:1;6788:16;;;;;;;;6759:26;;6788:16;;;;;;;;;;-1:-1:-1;6788:16:79;6759:45;;6849:9;-1:-1:-1;;;;;6833:27:79;6825:36;;6810:9;6820:1;6810:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6906:9;-1:-1:-1;;;;;6890:27:79;6882:36;;6867:9;6877:1;6867:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6925:156;1307:66;1291:83;;6973:9;6990:1;7034:19;6999:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6999:56:79;;;;-1:-1:-1;;6999:56:79;;;;;;;;;-1:-1:-1;;;6925:24:79;:156::i;1509:162:43:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:43:o;3579:307:78:-;3694:16;;;3708:1;3694:16;;;;;;;;;3643:14;;;;3694:16;;;;;;;;;;;;-1:-1:-1;3694:16:78;3665:45;;3749:8;3716:9;3726:1;3716:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3765:13;3781:62;1284:66;3816:9;3765:13;1413:66;3781:24;:62::i;:::-;3857:23;;;3579:307;-1:-1:-1;;;;3579:307:78:o;692:238:93:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;9825:55:208;;853:70:93;;;9807:74:208;-1:-1:-1;;;;;;9917:79:208;;9897:18;;;9890:107;9780:18;;853:70:93;9635:368:208;5258:401:55;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;:::-;5427:157;;;;5595:7;5590:41;;5604:27;5620:10;5604:15;:27::i;:::-;5644:10;5258:401;-1:-1:-1;;;;;;5258:401:55:o;3483:592:59:-;3547:13;3617:10;451:5:16;2634:44:59;;;3568:19;3715;3617:10;3715:7;:19::i;:::-;3692:42;-1:-1:-1;3797:12:59;-1:-1:-1;;3836:35:59;;;:102;;3885:53;-1:-1:-1;;3885:53:59;;:34;:53::i;:::-;3836:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3965:25:59;;;:87;;4004:48;4039:12;4004:34;:48::i;:::-;3965:87;;;;;;;;;;;;;;;;;;;;;3769:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:330;;;;;3483:592;;;:::o;2602:206:42:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2140:233::-;-1:-1:-1;;;;;2225:58:42;;:48;-1:-1:-1;;;578:36:59;2952:46;;2951:74;2225:19:42;:48::i;:::-;-1:-1:-1;;;;;2225:58:42;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;1862:322:59:-;1932:13;1953:14;1973:80;1989:2;1980:6;:11;1973:80;;;-1:-1:-1;;2007:34:59;;3218:1:2;3214:13;;3210:24;2007:39:59;;2003:50;2048:5;2003:50;1993:8;;1973:80;;;2089:30;;;-1:-1:-1;;11424:79:208;;2089:30:59;;;11412:92:208;2089:30:59;;11520:12:208;;;;2089:30:59;;;875:21:2;;;2089:30:59;2139:39;2125:54;1862:322;-1:-1:-1;;;;1862:322:59:o;3638::69:-;3764:16;;;3778:1;3764:16;;;;;;;;;3708:19;;;;3764:16;;;;;;;;;;;;-1:-1:-1;3764:16:69;3735:45;;3809:16;3801:25;;;3786:9;3796:1;3786:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3833:13;3849:62;1303:66;3884:9;3833:13;1432:66;3849:24;:62::i;7743:454::-;7849:24;7876:46;7889:8;7899:22;7876:12;:46::i;:::-;8025:16;;;8039:1;8025:16;;;;;;;;;7849:73;;-1:-1:-1;7929:29:69;;7964:25;;7929:29;;8025:16;;;;;;;;;;;;-1:-1:-1;8025:16:69;7996:45;;8070:16;8062:25;;;8047:9;8057:1;8047:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;8094:98;1303:66;8124:9;8135:11;8148:15;8165:12;1432:66;8094:19;:98::i;:::-;7843:354;;;;7743:454;;;:::o;3657:455:70:-;3744:24;3774:29;3806:32;3820:17;3806:13;:32::i;:::-;3774:64;;3844:25;3872:32;3886:17;3872:13;:32::i;:::-;3940:16;;;3954:1;3940:16;;;;;;;;;3844:60;;-1:-1:-1;3911:26:70;;3940:16;;;;;;;;;;;;-1:-1:-1;3940:16:70;3911:45;;3985:16;3977:25;;;3962:9;3972:1;3962:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;4009:98;1224:66;4039:9;4050:11;4063:15;4080:12;1353:66;4009:19;:98::i;3162:160:59:-;3225:7;3289:26;438:6;451:5:16;3289:26:59;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:59:o;4257:313:77:-;4366:16;;;4380:1;4366:16;;;;;;;;;4310:19;;;;4366:16;;;;;;;;;;;;-1:-1:-1;4366:16:77;4337:45;;4427:6;-1:-1:-1;;;;;4411:24:77;4403:33;;4388:9;4398:1;4388:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4443:13;4459:62;1298:66;4494:9;4443:13;-1:-1:-1;;;4459:24:77;:62::i;6235:222::-;6318:16;;;6332:1;6318:16;;;;;;;;;6289:26;;6318:16;;;;;;;;;;;-1:-1:-1;6318:16:77;6289:45;;6379:6;-1:-1:-1;;;;;6363:24:77;6355:33;;6340:9;6350:1;6340:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6395:57;1298:66;6428:9;-1:-1:-1;;;6395:22:77;:57::i;6795:295:75:-;6901:16;;;6915:1;6901:16;;;;;;;;6872:26;;6901:16;;;;;;;;;;-1:-1:-1;6901:16:75;6872:45;;6956:10;6923:9;6933:1;6923:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;7012:6;-1:-1:-1;;;;;6996:24:75;6988:33;;6973:9;6983:1;6973:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;7028:57;1298:66;7061:9;-1:-1:-1;;;7028:22:75;:57::i;4692:268:27:-;4792:16;;;4806:1;4792:16;;;;;;;;;4763:26;;4792:16;;;;;;;;;;;-1:-1:-1;4792:16:27;4763:45;;4847:10;4814:9;4824:1;4814:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4865:90;1102:66;1086:83;;4900:9;4911:1;4932:6;4914:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;4914:26:27;;;;-1:-1:-1;;4914:26:27;;;;;;;;;-1:-1:-1;;;4865:24:27;:90::i;7416:423:78:-;7501:24;7528:34;7541:6;7549:12;7528;:34::i;:::-;7665:16;;;7679:1;7665:16;;;;;;;;;7501:61;;-1:-1:-1;7569:29:78;;7604:25;;7569:29;;7665:16;;;;;;;;;;;;-1:-1:-1;7665:16:78;7636:45;;7720:8;7687:9;7697:1;7687:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7736:98;1284:66;7766:9;7777:11;7790:15;7807:12;1413:66;7736:19;:98::i;5618:286:77:-;5713:16;;;5727:1;5713:16;;;;;;;;;5684:26;;5713:16;;;;;;;;;;;-1:-1:-1;5713:16:77;5684:45;;5774:6;-1:-1:-1;;;;;5758:24:77;5750:33;;5735:9;5745:1;5735:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5790:109;1298:66;1282:83;;5825:9;5836:1;5874:8;5839:45;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6059:332:75;6169:16;;;6183:1;6169:16;;;;;;;;6140:26;;6169:16;;;;;;;;;;-1:-1:-1;6169:16:75;6140:45;;6224:10;6191:9;6201:1;6191:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6280:6;-1:-1:-1;;;;;6264:24:75;6256:33;;6241:9;6251:1;6241:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;6296:90;1298:66;1282:83;;6331:9;6342:1;6363:6;6345:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;1474:1069:4;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:4;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:4;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;596:401:94:-;-1:-1:-1;;;578:36:59;2952:46;;2951:74;821:10:94;803:79;799:196;;-1:-1:-1;;;956:10:94;968:21;:10;:19;:21::i;6443:214:73:-;6533:16;;;6547:1;6533:16;;;;;;;;;6504:26;;6533:16;;;;;;;;;;;-1:-1:-1;6533:16:73;6504:45;;6588:11;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6607;1312:66;6642:9;6607:24;:45::i;648:770:95:-;776:17;796:25;:10;451:5:16;2634:44:59;;2536:148;796:25:95;776:45;-1:-1:-1;825:30:95;858:45;-1:-1:-1;;858:45:95;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:95;;975:441;;1017:65;1036:16;1055:26;1080:1;1055:22;:26;:::i;:::-;2702:27:2;2716:4;2702:27;2696:34;;2575:165;1017:65:95;:72;;;;1013:146;;1106:46;;;;;-1:-1:-1;;12365:79:208;;1106:46:95;;;12347:98:208;12320:18;;1106:46:95;12201:250:208;1013:146:95;1170:9;1165:247;1185:26;1210:1;1185:22;:26;:::i;:::-;1181:1;:30;1165:247;;;2716:4:2;2702:27;;;;2696:34;1230:47:95;;;;;:102;;;;-1:-1:-1;1281:44:95;1300:16;1319:5;:1;1323;1319:5;:::i;1281:44::-;:51;;;;;1230:102;1226:180;;;1351:46;;;;;-1:-1:-1;;12365:79:208;;1351:46:95;;;12347:98:208;12320:18;;1351:46:95;12201:250:208;1226:180:95;1213:3;;1165:247;;3328:314:27;3442:16;;;3456:1;3442:16;;;;;;;;;3394:11;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:27;3413:45;;3497:10;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3515:13;3531:62;1102:66;3566:9;3515:13;-1:-1:-1;;;3531:24:27;:62::i;:::-;3515:78;;3607:29;3628:5;3615:20;;1650:10:16;1541:126;5493:265:74;5590:16;;;5604:1;5590:16;;;;;;;;;5561:26;;5590:16;;;;;;;;;;;-1:-1:-1;5590:16:74;5561:45;;5645:11;5612:9;5622:1;5612:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5664:89;1298:66;1282:83;;5699:9;5710:1;5731:5;5713:25;;;;;;;12605:2:208;12601:15;;;;-1:-1:-1;;12597:88:208;12585:101;;12711:2;12702:12;;12456:264;5713:25:74;;;;-1:-1:-1;;5713:25:74;;;;;;;;;1427:66;5664:24;:89::i;6033:349:73:-;6147:16;;;6161:1;6147:16;;;;;;;;;6118:26;;6147:16;;;;;;;;;;;-1:-1:-1;6147:16:73;6118:45;;6202:11;6169:9;6179:1;6169:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;6221:156;1312:66;1296:83;;6269:9;6286:1;6330:19;6295:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;7147:291:79;7251:16;;;7265:1;7251:16;;;;;;;;7222:26;;7251:16;;;;;;;;;;-1:-1:-1;7251:16:79;7222:45;;7312:9;-1:-1:-1;;;;;7296:27:79;7288:36;;7273:9;7283:1;7273:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;7369:9;-1:-1:-1;;;;;7353:27:79;7345:36;;7330:9;7340:1;7330:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;7388:45;1307:66;7423:9;7388:24;:45::i;10051:257:76:-;10148:16;;;10162:1;10148:16;;;;;;;;;10119:26;;10148:16;;;;;;;;;;;-1:-1:-1;10148:16:76;10119:45;;10203:8;10170:9;10180:1;10170:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;10219:84;1292:66;1276:83;;10260:9;10271:1;10292:8;10274:28;;;;;;;12878:66:208;12866:79;;;;12854:92;;12971:2;12962:12;;12725:255;10274:28:76;;;;;;;;;;;;;10219:30;:84::i;4048:97:58:-;4089:7;4111:29;:27;:29::i;25172:355:20:-;25344:178;25378:7;25403:8;25433:63;25472:11;25485:10;25433:38;:63::i;:::-;25511:4;25344:16;:178::i;1129:181:43:-;764:71:80;;;-1:-1:-1;;;764:71:80;;;8547:92:208;1205:4:43;8655:11:208;;;8648:100;;;814:20:80;8764:12:208;;;8757:101;1205:4:43;8874:12:208;764:71:80;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:43;;;;1129:181;-1:-1:-1;1129:181:43:o;38205:541:20:-;38362:7;38499:242;38543:59;38584:7;38593:8;38543:40;:59::i;:::-;38620:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38669:63:20;38708:11;38721:10;38669:38;:63::i;:::-;38499:17;:242::i;:::-;38486:255;38205:541;-1:-1:-1;;;;;38205:541:20:o;1312:272:45:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;:::-;1491:88;1312:272;-1:-1:-1;;;1312:272:45:o;3782:1003:55:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:97;4194:4:55;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:4;;;;;4240:49:55;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:55;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:55;-1:-1:-1;4560:9:55;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:97;4645:4:55;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:4;;;;;4690:48:55;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:55;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;348:217:96:-;551:6;545:13;538:4;530:6;526:17;519:40;4220:306:74;4331:16;;;4345:1;4331:16;;;;;;;;;4281:13;;;;4331:16;;;;;;;;;;;;-1:-1:-1;4331:16:74;4302:45;;4386:11;4353:9;4363:1;4353:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4405:13;4421:62;1298:66;4456:9;4405:13;1427:66;4421:24;:62::i;9649:179:69:-;9746:12;9790:8;9800:22;9773:50;;;;;;;;13616:19:208;;;-1:-1:-1;;;;;;13665:79:208;13660:2;13651:12;;13644:101;13770:2;13761:12;;13430:349;9773:50:69;;;;;;;;;;;;;9766:57;;9649:179;;;;:::o;15310:3138:20:-;15604:23;15583:7;:44;;;15579:198;;15697:7;15681:75;15706:8;15716:10;15728:14;15744:11;15681:75;;;;;;;;;:::i;:::-;;;;;;;;15764:7;;15579:198;15915:22;15940:24;15956:7;15940:15;:24::i;:::-;15915:49;;15975:9;15970:340;15990:5;:12;15986:1;:16;15970:340;;;16017:9;16039:5;16045:1;16039:8;;;;;;;;:::i;:::-;;;;;;;16017:31;;16060:33;409:6:32;16060:4:20;:14;;;;;:33;;;;:::i;:::-;16056:248;;;16105:190;;;;;3536:35:4;;;;;16105:47:20;;:190;;16164:7;;16183:8;;16203:10;;16225:14;;16251:11;;16274;;16105:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16056:248;-1:-1:-1;16004:3:20;;15970:340;;;;16374:7;16358:75;16383:8;16393:10;16405:14;16421:11;16358:75;;;;;;;;;:::i;:::-;;;;;;;;16497:26;16526:59;16567:7;16576:8;16526:40;:59::i;:::-;16497:88;-1:-1:-1;16591:21:20;894:4:14;884:15;;16591:54:20;;16651:149;16689:18;16723:1;16740:10;:17;16780:13;16651;:149::i;:::-;16900:1;16867:30;:11;:28;:30::i;:::-;:34;16863:1174;;;16986:33;17022:66;17070:7;17079:8;17022:47;:66::i;:::-;695:28:19;;;16986:102:20;-1:-1:-1;894:4:14;884:15;;17262:47:20;;17418:27;17453:25;17491:7;17486:545;17504:30;:11;:28;:30::i;:::-;17500:1;:34;;;17486:545;;;17570:63;17612:7;17621:8;17631:1;17570:41;:63::i;:::-;17548:85;-1:-1:-1;17663:25:20;:14;17686:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;17663:25:20;17643:45;;17698:170;17740:19;17779:1;17800:17;17844:13;17698;:170::i;:::-;17878:34;17895:17;17878:34;;:::i;:::-;;-1:-1:-1;18009:3:20;;17486:545;;;;16903:1134;;;16863:1174;18111:9;18106:338;18126:5;:12;18122:1;:16;18106:338;;;18153:9;18175:5;18181:1;18175:8;;;;;;;;:::i;:::-;;;;;;;18153:31;;18196:32;503:6:32;18196:4:20;:14;;;;;:32;;;;:::i;:::-;18192:246;;;18240:189;;;;;3536:35:4;;;;;18240:46:20;;:189;;18298:7;;18317:8;;18337:10;;18359:14;;18385:11;;18408;;18240:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18192:246;-1:-1:-1;18140:3:20;;18106:338;;;;15519:2929;;;15310:3138;;;;;;:::o;5751:304:70:-;5830:29;5990:54;6018:17;6012:31;900:16:15;1986:39;;;1968:58;;1829:263;6220:155:70;6299:12;6350:17;6326:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;6319:51;;6220:155;;;:::o;28360:1778:20:-;28548:23;28527:7;:44;;;28523:160;;28644:7;28625:37;28653:8;28625:37;;;;;;:::i;:::-;;;;;;;;28360:1778;;;:::o;28523:160::-;28824:22;28849:24;28865:7;28849:15;:24::i;:::-;28824:49;;28884:9;28879:235;28899:5;:12;28895:1;:16;28879:235;;;28926:9;28948:5;28954:1;28948:8;;;;;;;;:::i;:::-;;;;;;;28926:31;;28969:36;1049:6:32;28969:4:20;:14;;;;;:36;;;;:::i;:::-;28965:143;;;29017:82;;;;;3536:35:4;;;;;29017:50:20;;:82;;29068:7;;29077:8;;29087:11;;29017:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28965:143;-1:-1:-1;28913:3:20;;28879:235;;;;29181:7;29162:37;29190:8;29162:37;;;;;;:::i;:::-;;;;;;;;29232:26;29261:59;29302:7;29311:8;29261:40;:59::i;:::-;29232:88;;29326:113;29358:18;29386:1;29405:30;:11;:28;:30::i;:::-;29395:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29395:41:20;;29326:13;:113::i;:::-;29658:1;29625:30;:11;:28;:30::i;:::-;:34;29621:236;;;29669:33;29705:66;29753:7;29762:8;29705:47;:66::i;:::-;29669:102;;29779:71;29810:25;29845:2;29779:12;:71::i;:::-;29661:196;29621:236;29906:9;29901:233;29921:5;:12;29917:1;:16;29901:233;;;29948:9;29970:5;29976:1;29970:8;;;;;;;;:::i;:::-;;;;;;;29948:31;;29991:35;1149:6:32;29991:4:20;:14;;;;;:35;;;;:::i;:::-;29987:141;;;30038:81;;;;;3536:35:4;;;;;30038:49:20;;:81;;30088:7;;30097:8;;30107:11;;30038:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29987:141;-1:-1:-1;29935:3:20;;29901:233;;9239:150:78;9346:38;;9319:12;17019:15:208;;;-1:-1:-1;;17015:88:208;9346:38:78;;;17003:101:208;17150:14;;17143:22;17138:3;17134:32;17120:12;;;17113:54;9319:12:78;17183::208;;9346:38:78;16852:349:208;4001:369:26;4141:16;;;4155:1;4141:16;;;;;;;;;4082:22;;4112:26;;4141:16;;;;;;;;;;;;-1:-1:-1;4141:16:26;4112:45;;4196:10;4163:9;4173:1;4163:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4214:18;4235:49;4261:8;4271:9;4282:1;4235:25;:49::i;:::-;4214:70;;4298:66;:44;4319:5;4326:1;4329:5;:12;4298:20;:44::i;:::-;:64;:66::i;5388:282::-;5514:16;;;5528:1;5514:16;;;;;;;;;5485:26;;5514:16;;;;;;;;;;;-1:-1:-1;5514:16:26;5485:45;;5569:10;5536:9;5546:1;5536:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5587:78;5613:8;5623:9;5634:1;5637:27;5657:5;5637:18;:27::i;:::-;5587:25;:78::i;13842:301:24:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:24;-1:-1:-1;;;;;13977:30:24;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:24;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12340:451;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:24;-1:-1:-1;;;;;12551:30:24;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:24;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12494:297;12340:451;;;;:::o;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:24;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;53851:242:20:-;53947:7;;;53986:84;54006:10;54002:14;;:1;:14;53986:84;;;54031:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54031:32:20;;:::i;:::-;;-1:-1:-1;54018:3:20;;53986:84;;19084:1676;19284:23;19263:7;:44;;;19259:232;;19414:7;19370:100;19433:8;19450:5;19463:4;19370:100;;;;;;;;:::i;:::-;;;;;;;;19478:7;;19259:232;19497:16;19516:59;19557:7;19566:8;19516:40;:59::i;:::-;19497:78;;19721:22;19746:24;19762:7;19746:15;:24::i;:::-;19721:49;;19781:9;19776:328;19796:5;:12;19792:1;:16;19776:328;;;19823:9;19845:5;19851:1;19845:8;;;;;;;;:::i;:::-;;;;;;;19823:31;;19866:41;614:6:32;19866:4:20;:14;;;;;:41;;;;:::i;:::-;19862:236;;;19919:170;;;;;3536:35:4;;;;;19919:54:20;;:170;;19995:7;;20024:8;;20051:5;;20074:4;;19919:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19862:236;-1:-1:-1;19810:3:20;;19776:328;;;;20205:7;20161:100;20224:8;20241:5;20254:4;20161:100;;;;;;;;:::i;:::-;;;;;;;;20311:70;20343:8;20361:5;20311:70;;20374:4;20311:13;:70::i;:::-;20435:9;20430:326;20450:5;:12;20446:1;:16;20430:326;;;20477:9;20499:5;20505:1;20499:8;;;;;;;;:::i;:::-;;;;;;;20477:31;;20520:40;723:6:32;20520:4:20;:14;;;;;:40;;;;:::i;:::-;20516:234;;;20572:169;;;;;3536:35:4;;;;;20572:53:20;;:169;;20647:7;;20676:8;;20703:5;;20726:4;;20572:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20516:234;-1:-1:-1;20464:3:20;;20430:326;;52834:191;52936:7;53000;53009:8;52983:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52983:35:20;;;;;;;;;52973:46;;52983:35;52973:46;;;;44394:22;52966:53;;52834:191;-1:-1:-1;;;52834:191:20:o;8945:812:19:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;708:400:45:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:45;1073:7;-1:-1:-1;;;;;;4132:576:45;4295:56;;-1:-1:-1;;;;;;3126:79:208;;4295:56:45;;;3108:98:208;4234:4:45;;;;3081:18:208;;4295:56:45;;;-1:-1:-1;;4295:56:45;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:45;;-1:-1:-1;;4498:7:45;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:45:o;4331:344:76:-;4448:16;;;4462:1;4448:16;;;;;;;;;4389:22;;4419:26;;4448:16;;;;;;;;;;;;-1:-1:-1;4448:16:76;4419:45;;4503:8;4470:9;4480:1;4470:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4519:18;4540:49;1292:66;4576:9;4519:18;4540:25;:49::i;:::-;4519:70;;4603:66;:44;4624:5;4631:1;4634:5;:12;4603:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1386:55:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:55;-1:-1:-1;;;;;;2067:27:55;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:59;2952:46;;-1:-1:-1;;;2951:74:59;2432:22:55;2515:26;2951:74:59;2515:13:55;:26::i;:::-;2490:51;-1:-1:-1;2549:50:55;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:16;2634:44:59;;2536:148;2681:23:55;-1:-1:-1;;2681:41:55;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:55;-1:-1:-1;;;;;;;1761:1386:55:o;4132:342:28:-;4248:16;;;4262:1;4248:16;;;;;;;;;4189:22;;4219:26;;4248:16;;;;;;;;;;;;-1:-1:-1;4248:16:28;4219:45;;4303:7;4270:9;4280:1;4270:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4318:18;4339:49;1100:66;4375:9;4318:18;4339:25;:49::i;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;5731:173:3:-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5841:11:3;5820:79;5833:65;;5820:79;;5731:173;-1:-1:-1;;5731:173:3:o;55399:230:20:-;55520:7;55604;55613:8;55587:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55587:35:20;;;;;;;;;55577:46;;55587:35;55577:46;;;;44557:40;55550:73;;55399:230;-1:-1:-1;;;55399:230:20:o;54770:274::-;54914:7;55019;55028:8;55002:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54992:46;;;;;;54971:17;54964:25;;54944:45;;;44466:34;54944:45;:94;54936:103;;54929:110;;54770:274;;;;;:::o;4952:171:3:-;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;966:162:19:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;39214:522:20;39350:12;39474:257;39513:79;39555:7;39564:8;39574:17;39513:41;:79::i;:::-;39610:1;39629:93;39704:17;39629:66;39677:7;39686:8;39629:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39629:93:20;39474:12;:257::i;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;2194:80::-;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;40103:220:34:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:35:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;26217:737:20:-;26468:36;26507:66;26555:7;26564:8;26507:47;:66::i;:::-;26468:105;-1:-1:-1;26579:26:20;26615:49;26468:105;26646:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;26615:49:20;26579:86;;26672:277;26726:7;26751:8;26786:17;26829:1;26851:19;26884:4;26920:22;26672:36;:277::i;27616:145::-;27700:56;27713:7;27722:8;27732:23;27747:7;27732:14;:23::i;:::-;27700:12;:56::i;30802:790::-;31061:36;31100:66;31148:7;31157:8;31100:47;:66::i;:::-;31061:105;-1:-1:-1;31172:26:20;31208:49;31061:105;31239:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;31208:49:20;31172:86;;31296:291;31350:7;31375:8;31410:17;31460:19;31501:1;31516:10;31558:22;31296:36;:291::i;6430:432:78:-;6558:16;;;6572:1;6558:16;;;;;;;;;6488:14;;;;;;6558:16;;;;;;;;;;;-1:-1:-1;6558:16:78;6529:45;;6613:8;6580:9;6590:1;6580:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6630:24;;;6716:78;1284:66;6759:9;1413:66;6716:19;:78::i;:::-;-1:-1:-1;;2716:4:2;2702:27;;2696:34;2702:27;;;;2696:34;8063:32:78;;;;;;8127:30;;;;;;-1:-1:-1;6430:432:78;-1:-1:-1;;;;;;6430:432:78:o;1546:281:42:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;4228:308:68:-;4341:16;;;4355:1;4341:16;;;;;;;;;4289:15;;;;4341:16;;;;;;;;;;;;-1:-1:-1;4341:16:68;4312:45;;4396:11;4363:9;4373:1;4363:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4415:13;4431:62;1286:66;4466:9;4415:13;-1:-1:-1;;;4431:24:68;:62::i;5527:269::-;5626:16;;;5640:1;5626:16;;;;;;;;;5597:26;;5626:16;;;;;;;;;;;-1:-1:-1;5626:16:68;5597:45;;5681:11;5648:9;5658:1;5648:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5700:91;1286:66;1270:83;;5735:9;5746:1;5767:7;5749:27;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;5594:317:58;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:58;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:58;;;;-1:-1:-1;5594:317:58;-1:-1:-1;;;;;5594:317:58:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:58;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55967:301:20;56088:13;56180:82;56211:48;56241:7;56250:8;56211:29;:48::i;:::-;4711:21:19;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:19;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:36;1474:15;;-1:-1:-1;;5373:16:19;1531:32:36;;;5373:16:19;5369:32;1503:4:36;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;46287:3996:20;46705:14;46684:7;:35;;;46680:161;;46775:14;46791:7;46824;46807:25;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;46807:25:20;;;;-1:-1:-1;;46807:25:20;;;;;;;;;;46736:98;;;;;;;;;;:::i;46680:161::-;46847:27;46877:49;:22;46908:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;46877:49:20;46847:79;;46932:26;46997:4;:11;46983;46961:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46932:76;;47280:18;47257:19;:41;;:98;;;;-1:-1:-1;47336:19:20;47302:30;47321:11;47302:16;:30;:::i;:::-;:53;;;;47257:98;47253:218;;;47372:92;;;;;21761:12:208;21800:15;;;47372:92:20;;;21782:34:208;21852:15;;;21832:18;;;21825:43;21904:15;;21884:18;;;21877:43;21724:18;;47372:92:20;21555:371:208;47253:218:20;47577:19;47558:16;:38;;;47554:140;;;47613:74;;;;;;;;22104:25:208;;;22177:12;22165:25;;22145:18;;;22138:53;22077:18;;47613:74:20;21931:266:208;47554:140:20;47733:35;47771:72;:22;47805:17;47824:18;47771:33;:72::i;:::-;47733:110;;47990:22;48015:24;48031:7;48015:15;:24::i;:::-;47990:49;;48050:9;48045:486;48065:5;:12;48061:1;:16;48045:486;;;48092:9;48114:5;48120:1;48114:8;;;;;;;;:::i;:::-;;;;;;;48092:31;;48135:42;836:6:32;48135:4:20;:14;;;;;:42;;;;:::i;:::-;48131:394;;;3536:35:4;;;;-1:-1:-1;;;;;48189:55:20;;48266:7;48295:8;48334:17;48381:16;48422:11;48461:22;48501:4;48189:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48131:394;-1:-1:-1;48079:3:20;;48045:486;;;-1:-1:-1;48589:32:20;;;:13;48729:107;48747:17;48743:21;;:1;:21;;;48729:107;;;48792:33;:22;48823:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;48792:33:20;48783:42;;;;48766:3;;48729:107;;;;48958:7;48905:274;48985:8;49022:17;49063:5;49092:11;49129:21;49166:4;48905:274;;;;;;;;;;;:::i;:::-;;;;;;;;48537:649;49271:18;49248:19;:41;49244:248;;49299:31;49333:48;49363:7;49372:8;49333:29;:48::i;:::-;695:28:19;;;-1:-1:-1;49244:248:20;49549:27;49579:61;49603:7;49612:8;49622:17;49579:23;:61::i;:::-;49549:91;;49648:92;49680:19;49709:16;49648:92;;49733:4;49648:13;:92::i;:::-;49541:206;49801:9;49796:483;49816:5;:12;49812:1;:16;49796:483;;;49843:9;49865:5;49871:1;49865:8;;;;;;;;:::i;:::-;;;;;;;49843:31;;49886:41;947:6:32;49886:4:20;:14;;;;;:41;;;;:::i;:::-;49882:391;;;3536:35:4;;;;-1:-1:-1;;;;;49939:54:20;;50015:7;50044:8;50083:17;50130:16;50171:11;50210:21;50249:4;49939:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49882:391;-1:-1:-1;49830:3:20;;49796:483;;;;46530:3753;;;;46287:3996;;;;;;;:::o;6417:652::-;6484:11;6720:64;;;6716:111;;-1:-1:-1;1471:66:29;;6417:652:20;-1:-1:-1;6417:652:20:o;6716:111::-;6871:185;6917:85;1342:66:29;6993:7:20;6917:40;:85::i;:::-;7022:2;7044:1;6871:17;:185::i;34794:1314::-;34924:23;34949:28;34979:24;35045:20;35068:30;:11;:28;:30::i;:::-;35045:53;;35159:65;35192:7;35201:8;35211:12;35159:32;:65::i;:::-;35146:78;;35288:24;35315:30;:11;:28;:30::i;:::-;35288:57;-1:-1:-1;35355:20:20;;35351:753;;35448:66;35496:7;35505:8;35448:47;:66::i;:::-;35431:83;-1:-1:-1;6382:59:15;;;35566:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35566:33:20;-1:-1:-1;35552:47:20;-1:-1:-1;894:4:14;884:15;;35607:21:20;35671:427;35689:16;35685:1;:20;;;35671:427;;;35722:27;35752:63;35794:7;35803:8;35813:1;35752:41;:63::i;:::-;35722:93;-1:-1:-1;35825:14:20;35842:25;:14;35865:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;35842:25:20;35825:42;;35877:110;35908:19;35937:1;35948:6;35971:13;35877:12;:110::i;:::-;36066:23;36083:6;36066:23;;:::i;:::-;;;35712:386;;35707:3;;;;;:::i;:::-;;;;35671:427;;;;35377:727;35351:753;35005:1103;;34794:1314;;;;;;;:::o;955:327:42:-;1036:4;1178:56;-1:-1:-1;;;578:36:59;2952:46;;2951:74;1227:6:42;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:58:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;6076:2380:19:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;7395:1488:15:-;7521:13;1070:16;7546:25;;7542:97;;;7588:44;;;;;;;;3899:25:208;;;3872:18;;7588:44:15;3753:177:208;7542:97:15;7701:13;6382:59;;;6999:16;;;988;6999;900;6988:27;6948:68;;;6926:92;;7964:38;;;7960:192;;8047:19;8029:15;:37;8014:52;;;;7960:192;;;8128:15;8106:19;:37;8091:52;;;;7960:192;-1:-1:-1;8468:16:15;900;988;8335;;;;8324:27;8460:35;;;8774:5;8613:26;8594:45;;;;8593:61;;;8755:24;;;;8784:34;;;;;8754:65;;-1:-1:-1;7395:1488:15;;;;;:::o;53277:282:20:-;53522:30;;;;;;24801:19:208;;;24836:12;;;24829:28;;;53365:7:20;;24873:12:208;;53522:30:20;24613:278:208;50851:360:20;50977:12;51001:6;51011:1;51001:11;50997:26;;-1:-1:-1;51014:9:20;;;;;;;;;-1:-1:-1;51014:9:20;;;;50997:26;51064:16;51083:41;51106:7;51115:8;51083:22;:41::i;:::-;51064:60;;51137:69;51168:8;51186:1;51197:6;51137:12;:69::i;4507:378:75:-;4631:16;;;4645:1;4631:16;;;;;;;;4583:11;;;;4631:16;4645:1;4631:16;;;;;;;;;;-1:-1:-1;4631:16:75;4602:45;;4686:10;4653:9;4663:1;4653:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4742:6;-1:-1:-1;;;;;4726:24:75;4718:33;;4703:9;4713:1;4703:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4758:13;4774:62;1298:66;4809:9;4758:13;-1:-1:-1;;;4774:24:75;:62::i;:::-;4758:78;;4850:29;4871:5;4858:20;;1650:10:16;1541:126;14:219:208;81:20;;-1:-1:-1;;;;;;130:78:208;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;850:154::-;-1:-1:-1;;;;;929:5:208;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:208;1051:88;1158:4;1155:1;1148:15;1182:4;1179:1;1172:15;1198:777;1240:5;1293:3;1286:4;1278:6;1274:17;1270:27;1260:55;;1311:1;1308;1301:12;1260:55;1347:6;1334:20;1373:18;1410:2;1406;1403:10;1400:36;;;1416:18;;:::i;:::-;1550:2;1544:9;1612:4;1604:13;;-1:-1:-1;;1600:22:208;;;1624:2;1596:31;1592:40;1580:53;;;1648:18;;;1668:22;;;1645:46;1642:72;;;1694:18;;:::i;:::-;1734:10;1730:2;1723:22;1769:2;1761:6;1754:18;1815:3;1808:4;1803:2;1795:6;1791:15;1787:26;1784:35;1781:55;;;1832:1;1829;1822:12;1781:55;1896:2;1889:4;1881:6;1877:17;1870:4;1862:6;1858:17;1845:54;1943:1;1936:4;1931:2;1923:6;1919:15;1915:26;1908:37;1963:6;1954:15;;;;;;1198:777;;;;:::o;1980:554::-;2097:6;2105;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2221:9;2208:23;2240:31;2265:5;2240:31;:::i;:::-;2290:5;-1:-1:-1;2342:2:208;2327:18;;2314:32;;-1:-1:-1;2397:2:208;2382:18;;2369:32;2424:18;2413:30;;2410:50;;;2456:1;2453;2446:12;2410:50;2479:49;2520:7;2511:6;2500:9;2496:22;2479:49;:::i;:::-;2469:59;;;1980:554;;;;;:::o;2539:420::-;2648:6;2656;2709:2;2697:9;2688:7;2684:23;2680:32;2677:52;;;2725:1;2722;2715:12;2677:52;2761:9;2748:23;2738:33;;2822:2;2811:9;2807:18;2794:32;2849:18;2841:6;2838:30;2835:50;;;2881:1;2878;2871:12;2835:50;2904:49;2945:7;2936:6;2925:9;2921:22;2904:49;:::i;:::-;2894:59;;;2539:420;;;;;:::o;3217:531::-;3338:6;3346;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3459:9;3446:23;3436:33;;3519:2;3508:9;3504:18;3491:32;3532:31;3557:5;3532:31;:::i;:::-;3582:5;-1:-1:-1;3639:2:208;3624:18;;3611:32;3681:15;;3674:23;3662:36;;3652:64;;3712:1;3709;3702:12;3652:64;3735:7;3725:17;;;3217:531;;;;;:::o;3935:492::-;4052:6;4060;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4173:9;4160:23;4150:33;;4234:2;4223:9;4219:18;4206:32;4261:18;4253:6;4250:30;4247:50;;;4293:1;4290;4283:12;4247:50;4316:49;4357:7;4348:6;4337:9;4333:22;4316:49;:::i;:::-;4306:59;;;4384:37;4417:2;4406:9;4402:18;4384:37;:::i;:::-;4374:47;;3935:492;;;;;:::o;4432:367::-;4552:6;4560;4613:2;4601:9;4592:7;4588:23;4584:32;4581:52;;;4629:1;4626;4619:12;4581:52;4665:9;4652:23;4642:33;;4725:2;4714:9;4710:18;4697:32;4738:31;4763:5;4738:31;:::i;:::-;4788:5;4778:15;;;4432:367;;;;;:::o;4804:211::-;4894:6;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;-1:-1:-1;4986:23:208;;4804:211;-1:-1:-1;4804:211:208:o;5020:518::-;5168:6;5176;5184;5237:2;5225:9;5216:7;5212:23;5208:32;5205:52;;;5253:1;5250;5243:12;5205:52;5289:9;5276:23;5266:33;;5346:2;5335:9;5331:18;5318:32;5308:42;;5401:2;5390:9;5386:18;5373:32;5428:18;5420:6;5417:30;5414:50;;;5460:1;5457;5450:12;5543:247;5602:6;5655:2;5643:9;5634:7;5630:23;5626:32;5623:52;;;5671:1;5668;5661:12;5623:52;5710:9;5697:23;5729:31;5754:5;5729:31;:::i;5795:532::-;5922:6;5930;5938;5991:2;5979:9;5970:7;5966:23;5962:32;5959:52;;;6007:1;6004;5997:12;5959:52;6043:9;6030:23;6020:33;;6103:2;6092:9;6088:18;6075:32;6116:31;6141:5;6116:31;:::i;:::-;6166:5;-1:-1:-1;6223:2:208;6208:18;;6195:32;6271:4;6258:18;;6246:31;;6236:59;;6291:1;6288;6281:12;6332:250;6417:1;6427:113;6441:6;6438:1;6435:13;6427:113;;;6517:11;;;6511:18;6498:11;;;6491:39;6463:2;6456:10;6427:113;;;-1:-1:-1;;6574:1:208;6556:16;;6549:27;6332:250::o;6587:330::-;6629:3;6667:5;6661:12;6694:6;6689:3;6682:19;6710:76;6779:6;6772:4;6767:3;6763:14;6756:4;6749:5;6745:16;6710:76;:::i;:::-;6831:2;6819:15;-1:-1:-1;;6815:88:208;6806:98;;;;6906:4;6802:109;;6587:330;-1:-1:-1;;6587:330:208:o;6922:464::-;7168:66;7160:6;7156:79;7145:9;7138:98;7272:6;7267:2;7256:9;7252:18;7245:34;7315:2;7310;7299:9;7295:18;7288:30;7119:4;7335:45;7376:2;7365:9;7361:18;7353:6;7335:45;:::i;7391:641::-;7671:3;7709:6;7703:13;7725:66;7784:6;7779:3;7772:4;7764:6;7760:17;7725:66;:::i;:::-;7852:4;7813:16;;;7838:19;;;7882:13;;7904:78;7882:13;7969:1;7958:13;;7951:4;7939:17;;7904:78;:::i;:::-;8002:20;8024:1;7998:28;;7391:641;-1:-1:-1;;;;7391:641:208:o;8037:322::-;8245:6;8234:9;8227:25;8288:2;8283;8272:9;8268:18;8261:30;8208:4;8308:45;8349:2;8338:9;8334:18;8326:6;8308:45;:::i;8897:357::-;9015:12;;9062:4;9051:16;;;9045:23;;9015:12;9080:16;;9077:171;;;-1:-1:-1;;9160:6:208;9154:4;9150:17;9147:1;9143:25;9139:98;9132:5;9128:110;9119:119;;9077:171;;8897:357;;;:::o;9259:184::-;-1:-1:-1;;;9308:1:208;9301:88;9408:4;9405:1;9398:15;9432:4;9429:1;9422:15;10008:925;10457:66;10449:6;10445:79;10440:3;10433:92;10415:3;10544;10576:2;10572:1;10567:3;10563:11;10556:23;10608:6;10602:13;10624:74;10691:6;10687:1;10682:3;10678:11;10671:4;10663:6;10659:17;10624:74;:::i;:::-;10726:6;10721:3;10717:16;10707:26;;10761:2;10757:1;10753:2;10749:10;10742:22;10795:6;10789:13;10773:29;;10811:75;10877:8;10873:1;10869:2;10865:10;10858:4;10850:6;10846:17;10811:75;:::i;:::-;10906:17;10925:1;10902:25;;10008:925;-1:-1:-1;;;;;10008:925:208:o;10938:340::-;11115:2;11104:9;11097:21;11078:4;11135:45;11176:2;11165:9;11161:18;11153:6;11135:45;:::i;:::-;11127:53;;-1:-1:-1;;;;;11220:6:208;11216:55;11211:2;11200:9;11196:18;11189:83;10938:340;;;;;:::o;11543:184::-;-1:-1:-1;;;11592:1:208;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11732:125;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12068:128::-;12135:9;;;12156:11;;;12153:37;;;12170:18;;:::i;12985:440::-;-1:-1:-1;;;;;13223:6:208;13219:55;13208:9;13201:74;13311:6;13306:2;13295:9;13291:18;13284:34;13354:2;13349;13338:9;13334:18;13327:30;13182:4;13374:45;13415:2;13404:9;13400:18;13392:6;13374:45;:::i;13784:439::-;13837:3;13875:5;13869:12;13902:6;13897:3;13890:19;13928:4;13957;13952:3;13948:14;13941:21;;13996:4;13989:5;13985:16;14019:1;14029:169;14043:6;14040:1;14037:13;14029:169;;;14104:13;;14092:26;;14138:12;;;;14173:15;;;;14065:1;14058:9;14029:169;;;-1:-1:-1;14214:3:208;;13784:439;-1:-1:-1;;;;;13784:439:208:o;14228:690::-;14561:3;14550:9;14543:22;14524:4;14588:57;14640:3;14629:9;14625:19;14617:6;14588:57;:::i;:::-;14693:9;14685:6;14681:22;14676:2;14665:9;14661:18;14654:50;14727:33;14753:6;14745;14727:33;:::i;:::-;14713:47;;14796:6;14791:2;14780:9;14776:18;14769:34;14851:9;14843:6;14839:22;14834:2;14823:9;14819:18;14812:50;14879:33;14905:6;14897;14879:33;:::i;14923:896::-;15374:6;15363:9;15356:25;15417:3;15412:2;15401:9;15397:18;15390:31;15337:4;15444:57;15496:3;15485:9;15481:19;15473:6;15444:57;:::i;:::-;15549:9;15541:6;15537:22;15532:2;15521:9;15517:18;15510:50;15583:33;15609:6;15601;15583:33;:::i;:::-;15569:47;;15652:6;15647:2;15636:9;15632:18;15625:34;15708:9;15700:6;15696:22;15690:3;15679:9;15675:19;15668:51;15736:33;15762:6;15754;15736:33;:::i;:::-;15728:41;;;15806:6;15800:3;15789:9;15785:19;15778:35;14923:896;;;;;;;;;:::o;15824:287::-;15953:3;15991:6;15985:13;16007:66;16066:6;16061:3;16054:4;16046:6;16042:17;16007:66;:::i;:::-;16089:16;;;;;15824:287;-1:-1:-1;;15824:287:208:o;16116:261::-;16295:2;16284:9;16277:21;16258:4;16315:56;16367:2;16356:9;16352:18;16344:6;16315:56;:::i;16382:465::-;16679:6;16668:9;16661:25;16722:2;16717;16706:9;16702:18;16695:30;16642:4;16742:56;16794:2;16783:9;16779:18;16771:6;16742:56;:::i;:::-;16734:64;;16834:6;16829:2;16818:9;16814:18;16807:34;16382:465;;;;;;:::o;17206:363::-;17444:6;17433:9;17426:25;17487:2;17482;17471:9;17467:18;17460:30;17407:4;17507:56;17559:2;17548:9;17544:18;17536:6;17507:56;:::i;17574:604::-;17882:6;17871:9;17864:25;17925:3;17920:2;17909:9;17905:18;17898:31;17845:4;17952:57;18004:3;17993:9;17989:19;17981:6;17952:57;:::i;:::-;18057:4;18049:6;18045:17;18040:2;18029:9;18025:18;18018:45;18111:9;18103:6;18099:22;18094:2;18083:9;18079:18;18072:50;18139:33;18165:6;18157;18139:33;:::i;18183:512::-;18434:2;18423:9;18416:21;18397:4;18460:56;18512:2;18501:9;18497:18;18489:6;18460:56;:::i;:::-;18564:14;18556:6;18552:27;18547:2;18536:9;18532:18;18525:55;18628:9;18620:6;18616:22;18611:2;18600:9;18596:18;18589:50;18656:33;18682:6;18674;18656:33;:::i;18700:616::-;19010:6;18999:9;18992:25;19053:3;19048:2;19037:9;19033:18;19026:31;18973:4;19080:57;19132:3;19121:9;19117:19;19109:6;19080:57;:::i;:::-;19185:14;19177:6;19173:27;19168:2;19157:9;19153:18;19146:55;19249:9;19241:6;19237:22;19232:2;19221:9;19217:18;19210:50;19277:33;19303:6;19295;19277:33;:::i;19321:639::-;19571:6;19566:3;19559:19;19541:3;19597:2;19630;19625:3;19621:12;19662:6;19656:13;19727:2;19719:6;19715:15;19748:1;19758:175;19772:6;19769:1;19766:13;19758:175;;;19835:13;;19821:28;;19871:14;;;;19908:15;;;;19794:1;19787:9;19758:175;;;-1:-1:-1;19949:5:208;;19321:639;-1:-1:-1;;;;;;;19321:639:208:o;19965:184::-;-1:-1:-1;;;20014:1:208;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20154:168;20227:9;;;20258;;20275:15;;;20269:22;;20255:37;20245:71;;20296:18;;:::i;20327:274::-;20367:1;20393;20383:189;;-1:-1:-1;;;20425:1:208;20418:88;20529:4;20526:1;20519:15;20557:4;20554:1;20547:15;20383:189;-1:-1:-1;20586:9:208;;20327:274::o;20606:360::-;20809:2;20798:9;20791:21;20772:4;20829:45;20870:2;20859:9;20855:18;20847:6;20829:45;:::i;:::-;20905:2;20890:18;;20883:34;;;;-1:-1:-1;20948:2:208;20933:18;20926:34;20821:53;20606:360;-1:-1:-1;20606:360:208:o;21376:174::-;21443:12;21475:10;;;21487;;;21471:27;;21510:11;;;21507:37;;;21524:18;;:::i;:::-;21507:37;21376:174;;;;:::o;22202:899::-;22624:6;22613:9;22606:25;22667:3;22662:2;22651:9;22647:18;22640:31;22587:4;22694:57;22746:3;22735:9;22731:19;22723:6;22694:57;:::i;:::-;22799:4;22787:17;;22782:2;22767:18;;22760:45;22824:12;22872:15;;;22867:2;22852:18;;22845:43;22925:15;;22919:3;22904:19;;22897:44;22972:3;22957:19;;22950:35;;;23022:22;;;23016:3;23001:19;;22994:51;23062:33;23026:6;23080;23062:33;:::i;:::-;23054:41;22202:899;-1:-1:-1;;;;;;;;;;22202:899:208:o;23106:787::-;23469:3;23458:9;23451:22;23432:4;23496:57;23548:3;23537:9;23533:19;23525:6;23496:57;:::i;:::-;23601:4;23593:6;23589:17;23584:2;23573:9;23569:18;23562:45;23655:14;23647:6;23643:27;23638:2;23627:9;23623:18;23616:55;23719:12;23711:6;23707:25;23702:2;23691:9;23687:18;23680:53;23770:6;23764:3;23753:9;23749:19;23742:35;23826:9;23818:6;23814:22;23808:3;23797:9;23793:19;23786:51;23854:33;23880:6;23872;23854:33;:::i;:::-;23846:41;23106:787;-1:-1:-1;;;;;;;;;23106:787:208:o;23898:175::-;23935:3;23979:4;23972:5;23968:16;24008:4;23999:7;23996:17;23993:43;;24016:18;;:::i;:::-;24065:1;24052:15;;23898:175;-1:-1:-1;;23898:175:208:o;24078:530::-;24263:3;24301:6;24295:13;24317:66;24376:6;24371:3;24364:4;24356:6;24352:17;24317:66;:::i;:::-;24452:2;24448:15;;;;-1:-1:-1;;24444:88:208;24405:16;;;;24430:103;;;24560:2;24549:14;;24542:30;;;;24599:2;24588:14;;24078:530;-1:-1:-1;;24078:530:208:o","linkReferences":{},"immutableReferences":{"35856":[{"start":2602,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,bytes4)":"742d6118","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"WorldRegistrationSystem\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"notice\":\"Registers a root World function selector\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":\"WorldRegistrationSystem\"},\"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\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536\",\"dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544\",\"dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271\",\"dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761\",\"dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a\",\"dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5\",\"dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d\",\"dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a\",\"dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2\",\"dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca\",\"dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243\",\"dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb\",\"dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9\",\"dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729\",\"dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb\",\"dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9\",\"dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241\",\"dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,bytes4)":{"notice":"Registers a root World function selector"},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"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":{"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x1bbf8a76e921eadf1db34beae3f7b0825b8cc1bc0596edac30ae93be98a62654","urls":["bzz-raw://04b3dcf91a8d414d14a5446dc5a8e6b0df070bae8e2a9aee699d45f3faf5f536","dweb:/ipfs/QmZKeAH3enK4byQ65a3EJDdAuSwLsMDiWi2pyG1gC1RQLr"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x327bb7e9ff5f8d9318a62c3d63eecd761762dfac85c46c03fac7367430f4ea07","urls":["bzz-raw://456833b291763cb79ee0bc3fb8a6bb535c252e34632300475c98c480be6db544","dweb:/ipfs/Qmcyt2HY6NbWp51fwKQzaRnfdTrQ2NtkXqbt1bqeEjbk6g"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x0f5d48dd4f3ae0dbac332dc2c6c800ab30e68c1f45fe4556206492a7dd0aa2b0","urls":["bzz-raw://feb6dc7463223926885bbed22702a34f7f87868b4aa2bb0274a1c2f268238271","dweb:/ipfs/QmZLtZ76s4dMNttRSTGkdJ3H7NrYSXugF5BvcDAPeRLfH3"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x399169fa22a668a41b1372d16ae4b0ad542361bd40c033bb276eec37e8ab4fd7","urls":["bzz-raw://f0203f3c160feb9925734fe8a6292442da7c6bed0d21aa0f5a62759d0bb1f761","dweb:/ipfs/QmQ8cSYcpTMv37AcXB8jw5Wmv9sGBuW4q1Nyc8owAJLeff"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xaaae4e59300a6c0495d8636a5134ecc14b57613028884efb24a8a5de71d0e6c1","urls":["bzz-raw://3fd2f46fbcc0bf82949bb4182d9efd5b987d16f35be84c90133fc844ccd47d4a","dweb:/ipfs/QmQWeKxWD7oH1xYMaH4qFPXe5WSjn9RyHdUgu5RPZpYLtY"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x4ca92b682610ae2c6636a5c196ccf837417b67ce1495b06ed30ac6fd09ed964e","urls":["bzz-raw://16bdacafc7a9f73c753259fbe3d9de4e50578359efee9f523ceb367de3ae78e5","dweb:/ipfs/QmUBkgKVMSsYbn4wmEbCyHhGLBVrViCMR6u1SQdEvpyq7f"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0xa138b23cf8a6c7783e25c1daa359cd4208b410808f816eb8182ce4f284290fe6","urls":["bzz-raw://25f34ba67c233887b67bafc0eed258c873898bb4ee8bb054287e2c7abbc6621d","dweb:/ipfs/QmZsEu66KL3GsaKkCjSAf7RN7GBUXcBPuDsiot6TUtR97q"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0xef3b8ea518e69884ef8fcfa56a34b9b53ba9ddec43ec549da8e2e90543329ac8","urls":["bzz-raw://6ae33ee2ebaeb6c321c39742c2c8a5125444aa15ef825b8f6113f04ae0194c4a","dweb:/ipfs/Qme9myURbe5DzCT6oBiY4Gn7nGESsjXw7dBRUQWWBeXBq4"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0xb6a2475d33990b8c3646c62c22b92718955af66af95f2a1caac0cbb29b27efa4","urls":["bzz-raw://ebdbcb2da135f43f46a5acb4562422315bd6b3d7c4b8a224ec62b26d4326f0a2","dweb:/ipfs/QmTYFbcAEdn81FVkBCBjezo9F53E1uxsEk68gw2rLCUevP"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0xe801ed02d43684ecc54726f8780b64a235cc737dc75a2ca1038490fff6397a15","urls":["bzz-raw://71061afa978e0ab58a75598d3cdae62cff9914da477ab4ff367cf231064e7fca","dweb:/ipfs/QmSfXxysM2N4eD7YZxeHQ1a569DFWcut45Sb1oDHoxGoxg"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x967fd72a8ecda89a6b1892a3e50b3b9e94a8b7d13d17ac1dd654c5b0271a1fe9","urls":["bzz-raw://936310fa397119cfabcf81bc4bcec2039cef6f7d625cb9091cdf0d557399e243","dweb:/ipfs/QmaW598cbEvihxS6mECckHDaJ2MrPFKKESGjH5gxvVtaPj"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x0ccdb0f2e1d2586e9a7e433e6b927938663a214fab69ba5c857cfb43418f7746","urls":["bzz-raw://eb385a338d9697498beee8d9a9557ff33510ee5755c37a488f98c099111b9ceb","dweb:/ipfs/QmRvvbX54ADo4QeBRTLkmGBSqgMWu4fqkqc3Qcb954YgKE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x26b63187d6006915f13cdd978f53557c1add608ef6c3fbc222246eb178d68b2e","urls":["bzz-raw://6528ab7ab18056b60c941ca4038aea5ff00791a73fb83e2822213a9e5aade1d9","dweb:/ipfs/QmcQDJdn5oYLE9tQZZk9bzfhDLjEeq2PatDGBhVeNph2Mu"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xd3ac5771c2a9497022c52c7d3787d4687f4aca674d06b6712c98d8469cb988ac","urls":["bzz-raw://424fb263d531d88b71e3323f72341ccc7918f6202ea7bff56ee889b424571729","dweb:/ipfs/QmaLvuPV9fFjDs4P61cB9My3N6ogwZYqGe5C11qxkREUxT"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x7bef07381674a5aa5eed9e59c41feca3e7fc00283249bff4a9cd8690a68785dd","urls":["bzz-raw://9d6946cff935909a91e6638677f0b4df774e403d5daa21683cd6dbcff0eb6ecb","dweb:/ipfs/QmSJvMTqpgC2zSwyYNicmRiLrocuyQStTSe4oStZPUvkX7"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4","urls":["bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9","dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b","urls":["bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241","dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":91}
1
+ {"abi":[{"type":"function","name":"_msgSender","inputs":[],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_msgValue","inputs":[],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"_world","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"systemFunctionSignature","type":"string","internalType":"string"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespace","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"},{"name":"delegationControlId","type":"bytes32","internalType":"ResourceId"},{"name":"initCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerRootFunctionSelector","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"worldFunctionSignature","type":"string","internalType":"string"},{"name":"systemFunctionSelector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"worldFunctionSelector","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystem","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"system","type":"address","internalType":"contract System"},{"name":"publicAccess","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"},{"name":"enabledHooksBitmap","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"unregisterDelegation","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterNamespaceDelegation","inputs":[{"name":"namespaceId","type":"bytes32","internalType":"ResourceId"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unregisterSystemHook","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"hookAddress","type":"address","internalType":"contract ISystemHook"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Store_DeleteRecord","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"}],"anonymous":false},{"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_SpliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"deleteCount","type":"uint40","indexed":false,"internalType":"uint40"},{"name":"encodedLengths","type":"bytes32","indexed":false,"internalType":"PackedCounter"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Store_SpliceStaticData","inputs":[{"name":"tableId","type":"bytes32","indexed":true,"internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","indexed":false,"internalType":"bytes32[]"},{"name":"start","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"error","name":"PackedCounter_InvalidLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Slice_OutOfBounds","inputs":[{"name":"data","type":"bytes","internalType":"bytes"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_IndexOutOfBounds","inputs":[{"name":"length","type":"uint256","internalType":"uint256"},{"name":"accessedIndex","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Store_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"Store_InvalidSplice","inputs":[{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"fieldLength","type":"uint40","internalType":"uint40"}]},{"type":"error","name":"UnauthorizedCallContext","inputs":[]},{"type":"error","name":"World_AccessDenied","inputs":[{"name":"resource","type":"string","internalType":"string"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"World_AlreadyInitialized","inputs":[]},{"type":"error","name":"World_CallbackNotAllowed","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_DelegationNotFound","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"delegatee","type":"address","internalType":"address"}]},{"type":"error","name":"World_FunctionSelectorAlreadyExists","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_FunctionSelectorNotFound","inputs":[{"name":"functionSelector","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"World_InterfaceNotSupported","inputs":[{"name":"contractAddress","type":"address","internalType":"address"},{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"World_InvalidNamespace","inputs":[{"name":"namespace","type":"bytes14","internalType":"bytes14"}]},{"type":"error","name":"World_InvalidResourceId","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_InvalidResourceType","inputs":[{"name":"expected","type":"bytes2","internalType":"bytes2"},{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceAlreadyExists","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_ResourceNotFound","inputs":[{"name":"resourceId","type":"bytes32","internalType":"ResourceId"},{"name":"resourceIdString","type":"string","internalType":"string"}]},{"type":"error","name":"World_SystemAlreadyExists","inputs":[{"name":"system","type":"address","internalType":"address"}]},{"type":"error","name":"World_UnlimitedDelegationNotAllowed","inputs":[]}],"bytecode":{"object":"0x60a06040523060805234801561001457600080fd5b506080516148be6100306000396000610a2a01526148be6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:91:-:0;;;981:4:82;938:48;;2226:12847:91;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063a92813ad1161008c578063bfdfaff711610066578063bfdfaff7146101ea578063cdc938c5146101fd578063d5f8337f14610210578063e1af802c1461022357600080fd5b8063a92813ad146101b1578063aa66e9c8146101c4578063b29e4089146101d757600080fd5b806326d98102116100c857806326d981021461014c5780633350b6a91461017857806345ec93541461018b578063742d61181461019e57600080fd5b806301ffc9a7146100ef578063119df25f146101175780631d2257ba14610137575b600080fd5b6101026100fd366004613f95565b61022b565b60405190151581526020015b60405180910390f35b61011f610294565b6040516001600160a01b03909116815260200161010e565b61014a610145366004614068565b6102a3565b005b61015f61015a3660046140c1565b61031e565b6040516001600160e01b0319909116815260200161010e565b61014a610186366004614108565b610490565b604051601f19360135815260200161010e565b61015f6101ac36600461414f565b610664565b61014a6101bf3660046141a6565b610726565b61014a6101d23660046141d6565b610769565b61014a6101e53660046141d6565b61079b565b61014a6101f83660046141ef565b610830565b61014a61020b366004614229565b6108e5565b61014a61021e366004614246565b6108fe565b61011f6109e4565b60006001600160e01b031982167fb5dee12700000000000000000000000000000000000000000000000000000000148061028e57506001600160e01b031982167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b600061029e6109ee565b905090565b6102ab610a20565b6102bd6102b6610294565b8484610a84565b6102c682610b57565b156103195760006102d683610b73565b9050610302817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b61031661030d610294565b84846000610c6a565b50505b505050565b6000610328610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146103a45761737960f01b8361036685610c97565b6040517f5c30fb6f00000000000000000000000000000000000000000000000000000000815260040161039b939291906142d3565b60405180910390fd5b6103ad83610dab565b6103be836103b9610294565b610df6565b60006103e76103cd8560101b90565b71ffffffffffffffffffffffffffffffffffff1916610e7c565b9050600081846040516020016103fe929190614314565b604051602081830303815290604052905080805190602001209250600061042484610f06565b9050801561046a576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198516600482015260240161039b565b8451602086012061047c858883610fb6565b6104868584611081565b5050505092915050565b610498610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146104d65761737960f01b8361036685610c97565b7dffffffffffffffffffffffffffff000000000000000000000000000000008316616e7360f01b1761050781610dab565b610513816103b9610294565b61053d837fb5dee12700000000000000000000000000000000000000000000000000000000610c0f565b60006105488561114a565b6fffffffffffffffffffffffffffffffff19160361059e578361056a85610c97565b6040517fe4ac069e00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b60006105a984611161565b905080158015906105ba5750848114155b156105fc576040517fc0b707410000000000000000000000000000000000000000000000000000000081526001600160a01b038516600482015260240161039b565b600061060786610b73565b90506001600160a01b0381161561063057610621816111e6565b61062b8382611265565b61063b565b61063b866001611303565b6106468686866113a4565b6106508587611447565b61065c838660016114d2565b505050505050565b600061066e610a20565b60408051616e7360f01b602082015260006022820181905260308201526106b091016040516020818303038152906040526106a890614385565b6103b9610294565b508151602083012060006106c382610f06565b90508015610709576040517f3d1d1ae20000000000000000000000000000000000000000000000000000000081526001600160e01b03198316600482015260240161039b565b610714828685610fb6565b61071e8285611081565b509392505050565b61072e610a20565b61073a826103b9610294565b6107657f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611581565b5050565b610771610a20565b61077a816116a8565b61078381610dab565b61078f816103b9610294565b610798816116e6565b50565b6107a3610a20565b6107ac816116a8565b6107b581611751565b6107be81611943565b1561080157806107cd82610c97565b6040517f0dc28f6a00000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b61080c816001611303565b61081d81610818610294565b6119c8565b61079881610829610294565b60016114d2565b610838610a20565b610841836116a8565b61084a82610b57565b610880576040517f71ee9e8100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61088c836103b9610294565b600061089783610b73565b90506108c3817f1a86b55000000000000000000000000000000000000000000000000000000000610c0f565b6108cd8484611a92565b8151156108df5761031661030d610294565b50505050565b6108ed610a20565b6107986108f8610294565b82611b11565b610906610a20565b61737960f01b837fffff00000000000000000000000000000000000000000000000000000000000016146109445761737960f01b8361036685610c97565b61096e827f540fbfa800000000000000000000000000000000000000000000000000000000610c0f565b61097783610dab565b6109a7616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617610dab565b6109b3836103b9610294565b610319836bffffffffffffffffffffffff19606085901b166bff0000000000000000000000605885901b1617611bb3565b600061029e611c6c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcc36013560601c80610a1d5750335b90565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a82576040517f9f03a02600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110610ac557610ac56143ac565b602002602001018181525050826001600160a01b031660001b81600181518110610af157610af16143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005573657244656c65676174696f6e436f60001b82600085604051602001610b3a91815260200190565b60408051601f19818403018152919052630100080160dd1b611c76565b6000811515801561028e5750610b6c82611c8b565b1592915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110610bac57610bac6143ac565b60209081029190910101526000610c047f7462776f726c6400000000000000000053797374656d7300000000000000000083837e15020014010000000000000000000000000000000000000000000000000000611ceb565b60601c949350505050565b610c198282611d21565b610765576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b03198216602482015260440161039b565b6060600080610c7b87878787611d44565b9150915081610c8d57610c8d81611f14565b9695505050505050565b606081601081901b6000610caa8361114a565b90508271ffffffffffffffffffffffffffffffffffff19831615610ceb57610ce671ffffffffffffffffffffffffffffffffffff198416610e7c565b610d22565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b6fffffffffffffffffffffffffffffffff19831615610d4957610d4483610e7c565b610d80565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b604051602001610d92939291906143c2565b6040516020818303038152906040529350505050919050565b610db481611943565b6107985780610dc282610c97565b6040517ffbf10ce600000000000000000000000000000000000000000000000000000000815260040161039b92919061436c565b6001600160a01b038116610e30616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617611f1c565b6001600160a01b03161461076557610e4782610c97565b816040517fd787b73700000000000000000000000000000000000000000000000000000000815260040161039b929190614450565b606060005b6010811015610ed2576fffffffffffffffffffffffffffffffff198316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615610ed257600101610e81565b604080516fffffffffffffffffffffffffffffffff198516602082015281516030909101909152818152805b949350505050565b60408051600180825281830190925260009182919060208083019080368337019050509050827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610f5e57610f5e6143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f7283837e24020020040000000000000000000000000000000000000000000000000000611ceb565b6000610fc28383611fad565b60408051600180825281830190925291925060009160609183919060208083019080368337019050509050867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110611020576110206143ac565b60209081029190910101526110787f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72828686867e24020020040000000000000000000000000000000000000000000000000000611fec565b50505050505050565b6060600061108e83612331565b9050600061109b84612341565b6040805160018082528183019092529192506000919060208083019080368337019050509050857bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916816000815181106110f4576110f46143ac565b602090810291909101015261065c7f6f74776f726c6400000000000000000046756e6374696f6e5369676e61747572828686867c0100000000000000000000000000000000000000000000000000000000611fec565b600061115860706010614491565b9190911b919050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b816000815181106111a6576111a66143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050816001600160a01b031660001b81600081518110611228576112286143ac565b60209081029190910101526107657f7462776f726c6400000000000000000053797374656d5265676973747279000082630100080160dd1b61236a565b604080516002808252606082018352600092602083019080368337019050509050828160008151811061129a5761129a6143ac565b602002602001018181525050816001600160a01b031660001b816001815181106112c6576112c66143ac565b60209081029190910101526103197f7462776f726c640000000000000000005265736f75726365416363657373000082630101000160d81b61236a565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611339576113396143ac565b6020026020010181815250506103197f746273746f72650000000000000000005265736f75726365496473000000000060001b8260008560405160200161138791151560f81b815260010190565b60408051601f19818403018152919052630101000160d81b611c76565b60006113b08383612669565b6040805160018082528183019092529192506000916060918391906020808301908036833701905050905086816000815181106113ef576113ef6143ac565b60209081029190910101526110787f7462776f726c6400000000000000000053797374656d73000000000000000000828686867e15020014010000000000000000000000000000000000000000000000000000611fec565b60408051600180825281830190925260009160208083019080368337019050509050826001600160a01b031660001b81600081518110611489576114896143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d5265676973747279000060001b82600085604051602001610b3a91815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110611507576115076143ac565b602002602001018181525050826001600160a01b031660001b81600181518110611533576115336143ac565b6020026020010181815250506108df7f7462776f726c640000000000000000005265736f75726365416363657373000060001b8260008560405160200161138791151560f81b815260010190565b600061158d8484612699565b90506000815167ffffffffffffffff8111156115ab576115ab613fc5565b6040519080825280602002602001820160405280156115d4578160200160208202803683370190505b5090506000805b835181101561169957846001600160a01b031661161f858381518110611603576116036143ac565b60200260200101516affffffffffffffffffffff191660601c90565b6001600160a01b0316146116915783818151811061163f5761163f6143ac565b6020026020010151838381518110611659576116596143ac565b7fffffffffffffffffffffffffffffffffffffffffff0000000000000000000000909216602092830291909101909101526001909101905b6001016115db565b5080825261065c868684612704565b616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000821617811461079857616e7360f01b8161036683610c97565b60408051600180825281830190925260009160208083019080368337019050509050818160008151811061171c5761171c6143ac565b60209081029190910101526107657f7462776f726c640000000000000000004e616d65737061636544656c656761748261275b565b600061175d8260101b90565b9050600061177f71ffffffffffffffffffffffffffffffffffff198316610e7c565b805190915080156108df576117a1826117996001846144a4565b016020015190565b7fff00000000000000000000000000000000000000000000000000000000000000167f5f0000000000000000000000000000000000000000000000000000000000000003611832576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198416600482015260240161039b565b60005b6118406001836144a4565b81101561031657602081840101517effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f000000000000000000000000000000000000000000000000000000000000001480156118ed57506118a883611799836001614491565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f5f00000000000000000000000000000000000000000000000000000000000000145b1561193b576040517f0efb4b8500000000000000000000000000000000000000000000000000000000815271ffffffffffffffffffffffffffffffffffff198516600482015260240161039b565b600101611835565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061197c5761197c6143ac565b602090810291909101015260006119bc7f746273746f72650000000000000000005265736f7572636549647300000000008383630101000160d81b611ceb565b9050610efe8160f81c90565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106119fe576119fe6143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d6573706163654f776e6572000060001b82600085604051602001611a5d919060609190911b6bffffffffffffffffffffffff1916815260140190565b60408051601f198184030181529190527e14010014000000000000000000000000000000000000000000000000000000611c76565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611ac857611ac86143ac565b6020026020010181815250506103197f7462776f726c640000000000000000004e616d65737061636544656c6567617460001b82600085604051602001610b3a91815260200190565b604080516002808252606082018352600092602083019080368337019050509050826001600160a01b031660001b81600081518110611b5257611b526143ac565b602002602001018181525050816001600160a01b031660001b81600181518110611b7e57611b7e6143ac565b60209081029190910101526103197f7462776f726c640000000000000000005573657244656c65676174696f6e436f8261275b565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110611be957611be96143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000053797374656d486f6f6b73000000000060001b82600085604051602001611c5891907fffffffffffffffffffffffffffffffffffffffffff000000000000000000000091909116815260150190565b6040516020818303038152906040526127f6565b600061029e6128a7565b6103168585611c8584876128e6565b85612917565b6040805161737960f01b60208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052611ce390614385565b909114919050565b6000611d18611cfa8686612bb2565b60ff858116601b0360080285901c16611d1385876128e6565b612c08565b95945050505050565b6000611d2c83612c59565b8015611d3d5750611d3d8383612c9a565b9392505050565b600060606000611d5386612d52565b905060005b8151811015611e26576000828281518110611d7557611d756143ac565b60200260200101519050611da16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611e1d576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611dea908c908c908c906004016144b7565b600060405180830381600087803b158015611e0457600080fd5b505af1158015611e18573d6000803e3d6000fd5b505050505b50600101611d58565b50611e3387858888612df4565b909350915060005b8151811015611f09576000828281518110611e5857611e586143ac565b60200260200101519050611e846002826affffffffffffffffffffff1916612dd690919063ffffffff16565b15611f00576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ecd908c908c908c906004016144b7565b600060405180830381600087803b158015611ee757600080fd5b505af1158015611efb573d6000803e3d6000fd5b505050505b50600101611e3b565b505094509492505050565b805160208201fd5b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110611f5557611f556143ac565b60209081029190910101526000610c047f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e14010014000000000000000000000000000000000000000000000000000000611ceb565b60608282604051602001611fd59291909182526001600160e01b031916602082015260240190565b604051602081830303815290604052905092915050565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff000000000000000000000000000000000000000000000000000000000000160361207857857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98686868660405161206b949392919061451b565b60405180910390a261065c565b600061208387612ed3565b905060005b815181101561215c5760008282815181106120a5576120a56143ac565b602002602001015190506120d16001826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612153576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90612120908c908c908c908c908c908c9060040161455a565b600060405180830381600087803b15801561213a57600080fd5b505af115801561214e573d6000803e3d6000fd5b505050505b50600101612088565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051612193949392919061451b565b60405180910390a260006121a78888612bb2565b905060006020870190506121bf826000895184612f45565b60006121ca85613004565b111561224e5760006121dc8a8a613041565b878155905060208601915060008060005b6121f688613004565b8160ff1610156122495761220b8d8d83613097565b92506122268a8260ff166028026038011c64ffffffffff1690565b91506122358360008488612f45565b61223f8286614491565b94506001016121ed565b505050505b60005b835181101561232557600084828151811061226e5761226e6143ac565b6020026020010151905061229a6002826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561231c576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf906122e9908e908e908e908e908e908e9060040161455a565b600060405180830381600087803b15801561230357600080fd5b505af1158015612317573d6000803e3d6000fd5b505050505b50600101612251565b50505050505050505050565b600061028e8251603881901b1790565b60608160405160200161235491906145b3565b6040516020818303038152906040529050919050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036123f057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516123e391906145cf565b60405180910390a2505050565b60006123fb84612ed3565b905060005b81518110156124ce57600082828151811061241d5761241d6143ac565b602002602001015190506124496040826affffffffffffffffffffff1916612dd690919063ffffffff16565b156124c5576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590612492908990899089906004016145e2565b600060405180830381600087803b1580156124ac57600080fd5b505af11580156124c0573d6000803e3d6000fd5b505050505b50600101612400565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516124ff91906145cf565b60405180910390a260006125138585612bb2565b905061256c81600061252486613117565b67ffffffffffffffff81111561253c5761253c613fc5565b6040519080825280601f01601f191660200182016040528015612566576020820181803683370190505b5061313a565b600061257784613004565b11156125985760006125898686613041565b9050612596816020613150565b505b60005b825181101561065c5760008382815181106125b8576125b86143ac565b602002602001015190506125e46080826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612660576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b9061262d908a908a908a906004016145e2565b600060405180830381600087803b15801561264757600080fd5b505af115801561265b573d6000803e3d6000fd5b505050505b5060010161259b565b604051606083811b6bffffffffffffffffffffffff1916602083015282151560f81b603483015290603501611fd5565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106126d3576126d36143ac565b60200260200101818152505060006126ed8583600061318d565b9050611d186126ff82600084516131c7565b613255565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061273a5761273a6143ac565b6020026020010181815250506108df8482600061275686613266565b613276565b60006127656128a7565b9050306001600160a01b038216036127815761031983836132b1565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d906127c8908690869060040161460b565b600060405180830381600087803b1580156127e257600080fd5b505af1158015611078573d6000803e3d6000fd5b60006128006128a7565b9050306001600160a01b038216036128235761281e858585856132c4565b610316565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f32629061286e908890889088908890600401614624565b600060405180830381600087803b15801561288857600080fd5b505af115801561289c573d6000803e3d6000fd5b505050505050505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e1573391505090565b919050565b600080805b8360ff1681101561071e5761290d60ff601b83900360080287901c1683614491565b91506001016128eb565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036129a157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be84848460405161299493929190614658565b60405180910390a26108df565b60006129ad8585612bb2565b905060006129ba86612ed3565b905060005b8151811015612a8f5760008282815181106129dc576129dc6143ac565b60200260200101519050612a086004826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612a86576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90612a53908b908b908b908b9060040161468b565b600060405180830381600087803b158015612a6d57600080fd5b505af1158015612a81573d6000803e3d6000fd5b505050505b506001016129bf565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612ac493929190614658565b60405180910390a2612adf828565ffffffffffff168561313a565b60005b8151811015611078576000828281518110612aff57612aff6143ac565b60200260200101519050612b2b6008826affffffffffffffffffffff1916612dd690919063ffffffff16565b15612ba9576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612b76908b908b908b908b9060040161468b565b600060405180830381600087803b158015612b9057600080fd5b505af1158015612ba4573d6000803e3d6000fd5b505050505b50600101612ae2565b60008282604051602001612bc79291906146c4565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210612c2e57602082048401935060208281612c2a57612c2a614700565b0691505b508254600882021b60208290038084111561071e576001850154600882021c82179150509392505050565b6000612c85827f01ffc9a700000000000000000000000000000000000000000000000000000000612c9a565b801561028e5750610b6c826001600160e01b03195b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d91506000519050828015612d3b575060208210155b8015612d475750600081115b979650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d8c57612d8c6143ac565b60209081029190910101526000612dc47f7462776f726c6400000000000000000053797374656d486f6f6b730000000000838361318d565b9050610efe6126ff82600084516131c7565b60008160ff1682612de78560581c90565b1660ff1614905092915050565b60006060600080612e04866132ff565b90925090506001600160a01b038216612e215785610dc287610c97565b80612e3057612e3086896133b7565b8615612e81577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e69826133ce565b9050612e7e82612e798b84614491565b613447565b50505b6000612e8d8760101b90565b71ffffffffffffffffffffffffffffffffffff191614612eb857612eb3888884886134c6565b612ec4565b612ec48888848861353e565b90999098509650505050505050565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612f0d57612f0d6143ac565b60209081029190910101526000612dc47f746273746f726500000000000000000053746f7265486f6f6b73000000000000838361318d565b8215612fbf5760208310612f6f57602083048401935060208381612f6b57612f6b614700565b0692505b8215612fbf5760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411612fb05750506108df565b50600194909401939182900391015b5b60208210612fe15780518455600190930192601f1990910190602001612fc0565b81156108df576000600019600884021c8554835182191691161785555050505050565b60006008600180613017600260206144a4565b61302191906144a4565b61302b91906144a4565b6130359190614716565b8260ff911c1692915050565b600082826040516020016130569291906146c4565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600083836040516020016130ac9291906146c4565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b60006008613127600260206144a4565b6131319190614716565b9190911c919050565b6103198383835161314b8560200190565b612f45565b6000602061315f83601f614491565b613169919061472d565b6131739084614491565b90505b808310156103195760008355600183019250613176565b6060610efe61319d858585613097565b60006131c2856131ad898961359f565b9060ff166028026038011c64ffffffffff1690565b6135b2565b6000818311806131d75750835182115b15613214578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161039b9392919061474f565b602084016132228482614491565b9050600061323085856144a4565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000611d3d83601560006135d5565b606081611d3d8160156000613650565b6000613282858561359f565b9050600061329f828560ff166028026038011c64ffffffffff1690565b905061065c86868660008588886136a4565b61076582826132bf85613ade565b61236a565b60006132d0858561359f565b905060006132ed828560ff166028026038011c64ffffffffff1690565b905061065c86868684600088886136a4565b60408051600180825281830190925260009182918291602080830190803683370190505090508381600081518110613339576133396143ac565b6020908102919091010152600080806133927f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000613b63565b5050602081015160349091015160609190911c9860f89190911c975095505050505050565b6133c18282613c6b565b61076557610e4782610c97565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613407576134076143ac565b60209081029190910101526000610efe7f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611ceb565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061347d5761347d6143ac565b6020026020010181815250506103197f7462776f726c6400000000000000000042616c616e636573000000000000000060001b82600085604051602001610b3a91815260200190565b60006060836001600160a01b031660006134e1858989613cae565b6040516134ee91906145b3565b60006040518083038185875af1925050503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b606091505b509097909650945050505050565b60006060836001600160a01b0316613557848888613cae565b60405161356491906145b3565b600060405180830381855af49150503d806000811461352b576040519150601f19603f3d011682016040523d82523d6000602084013e613530565b6000611d3d6135ae8484613041565b5490565b60405160208101601f19603f848401011660405282825261071e85858584613cdd565b606060006135e38560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161360957613609614700565b04905060405193506020840160208202810160405281855260005b82811015613644578451871c825293870193602090910190600101613624565b50505050509392505050565b825160609060006136618583614716565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015613644578051871b83529187019160019190910190602001613683565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614613764577f7462000000000000000000000000000000000000000000000000000000000000878860405160200161372291815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261039b9392916004016142d3565b600061377f828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361379891906144a4565b6137a29190614491565b90508082141580156137c45750816137ba8688614774565b64ffffffffff1614155b15613814576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff808816600483015280871660248301528316604482015260640161039b565b818664ffffffffff161115613865576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff8716602482015260440161039b565b6000613872848984613da9565b9050600061387f8b612ed3565b905060005b815181101561394a5760008282815181106138a1576138a16143ac565b602002602001015190506138cd6010826affffffffffffffffffffff1916612dd690919063ffffffff16565b1561394157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161390e9796959493929190614799565b600060405180830381600087803b15801561392857600080fd5b505af115801561393c573d6000803e3d6000fd5b505050505b50600101613884565b5064ffffffffff881660005b8a60ff168160ff1610156139895761397d878260ff166028026038011c64ffffffffff1690565b90910190600101613956565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d6040516139c4969594939291906147f7565b60405180910390a2508284146139e55760006139e08c8c613041565b839055505b60006139f28c8c8c613097565b9050613a06818a64ffffffffff168961313a565b5060005b8151811015613ad0576000828281518110613a2757613a276143ac565b60200260200101519050613a536020826affffffffffffffffffffff1916612dd690919063ffffffff16565b15613ac757606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b8152600401613a949796959493929190614799565b600060405180830381600087803b158015613aae57600080fd5b505af1158015613ac2573d6000803e3d6000fd5b505050505b50600101613a0a565b505050505050505050505050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201613b2d57507e60030220202000000000000000000000000000000000000000000000000000919050565b61028e613b5a7f746273746f72650000000000000000005461626c65730000000000000000000084613e77565b60206000612c08565b6060600060606000613b7485613117565b9050613b81878783613e93565b93506000613b8e86613004565b90508015613c6057613ba0888861359f565b935066ffffffffffffff841667ffffffffffffffff811115613bc457613bc4613fc5565b6040519080825280601f01601f191660200182016040528015613bee576020820181803683370190505b5092506020830160005b828160ff161015613c5d576000613c108b8b84613097565b90506000613c2d888460ff166028026038011c64ffffffffff1690565b9050613c3c8260008387613cdd565b613c468185614491565b935050508080613c5590614853565b915050613bf8565b50505b505093509350939050565b6000613c9e616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613ecc565b80611d3d5750611d3d8383613ecc565b6060838383604051602001613cc593929190614872565b60405160208183030381529060405290509392505050565b8215613d645760208310613d0757602083048401935060208381613d0357613d03614700565b0692505b8215613d64576020839003600081841015613d2a5750600019600884021c613d34565b50600019600882021c5b8554600886021b818451168219821617845250818411613d555750506108df565b50600194909401939182900391015b5b60208210613d865783548152600190930192601f1990910190602001613d65565b81156108df576000600019600884021c8251865482191691161782525050505050565b600064ffffffffff821115613ded576040517f476705880000000000000000000000000000000000000000000000000000000081526004810183905260240161039b565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510613e1f5780850382019150613e27565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b6040805160208101849052908101829052600090606001612bc7565b606081600003613eb25750604080516020810190915260008152611d3d565b6000613ebe8585612bb2565b9050611d18816000856135b2565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613f0557613f056143ac565b602002602001018181525050826001600160a01b031660001b81600181518110613f3157613f316143ac565b60209081029190910101526000613f717f7462776f726c640000000000000000005265736f7572636541636365737300008383630101000160d81b611ceb565b9050611d188160f81c90565b80356001600160e01b0319811681146128e157600080fd5b600060208284031215613fa757600080fd5b611d3d82613f7d565b6001600160a01b038116811461079857600080fd5b634e487b7160e01b600052604160045260246000fd5b600082601f830112613fec57600080fd5b813567ffffffffffffffff8082111561400757614007613fc5565b604051601f8301601f19908116603f0116810190828211818310171561402f5761402f613fc5565b8160405283815286602085880101111561404857600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060006060848603121561407d57600080fd5b833561408881613fb0565b925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b6140b786828701613fdb565b9150509250925092565b600080604083850312156140d457600080fd5b82359150602083013567ffffffffffffffff8111156140f257600080fd5b6140fe85828601613fdb565b9150509250929050565b60008060006060848603121561411d57600080fd5b83359250602084013561412f81613fb0565b91506040840135801515811461414457600080fd5b809150509250925092565b60008060006060848603121561416457600080fd5b83359250602084013567ffffffffffffffff81111561418257600080fd5b61418e86828701613fdb565b92505061419d60408501613f7d565b90509250925092565b600080604083850312156141b957600080fd5b8235915060208301356141cb81613fb0565b809150509250929050565b6000602082840312156141e857600080fd5b5035919050565b60008060006060848603121561420457600080fd5b8335925060208401359150604084013567ffffffffffffffff8111156140ab57600080fd5b60006020828403121561423b57600080fd5b8135611d3d81613fb0565b60008060006060848603121561425b57600080fd5b83359250602084013561426d81613fb0565b9150604084013560ff8116811461414457600080fd5b60005b8381101561429e578181015183820152602001614286565b50506000910152565b600081518084526142bf816020860160208601614283565b601f01601f19169290920160200192915050565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000611d1860608301846142a7565b60008351614326818460208801614283565b7f5f5f0000000000000000000000000000000000000000000000000000000000009083019081528351614360816002840160208801614283565b01600201949350505050565b828152604060208201526000610efe60408301846142a7565b805160208083015191908110156143a6576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052603260045260246000fd5b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614423816003860160208901614283565b808401905081600382015284519150614443826004830160208801614283565b0160040195945050505050565b60408152600061446360408301856142a7565b90506001600160a01b03831660208301529392505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561028e5761028e61447b565b8181038181111561028e5761028e61447b565b6001600160a01b0384168152826020820152606060408201526000611d1860608301846142a7565b60008151808452602080850194506020840160005b83811015614510578151875295820195908201906001016144f4565b509495945050505050565b60808152600061452e60808301876144df565b828103602084015261454081876142a7565b90508460408401528281036060840152612d4781856142a7565b86815260c06020820152600061457360c08301886144df565b828103604084015261458581886142a7565b9050856060840152828103608084015261459f81866142a7565b9150508260a0830152979650505050505050565b600082516145c5818460208701614283565b9190910192915050565b602081526000611d3d60208301846144df565b8381526060602082015260006145fb60608301856144df565b9050826040830152949350505050565b828152604060208201526000610efe60408301846144df565b84815260806020820152600061463d60808301866144df565b60ff851660408401528281036060840152612d4781856142a7565b60608152600061466b60608301866144df565b65ffffffffffff851660208401528281036040840152610c8d81856142a7565b8481526080602082015260006146a460808301866144df565b65ffffffffffff851660408401528281036060840152612d4781856142a7565b8281526000602080830184516020860160005b828110156146f3578151845292840192908401906001016146d7565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b808202811582820484141761028e5761028e61447b565b60008261474a57634e487b7160e01b600052601260045260246000fd5b500490565b60608152600061476260608301866142a7565b60208301949094525060400152919050565b64ffffffffff8181168382160190808211156147925761479261447b565b5092915050565b87815260e0602082015260006147b260e08301896144df565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526147e981856142a7565b9a9950505050505050505050565b60c08152600061480a60c08301896144df565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a084015261484681856142a7565b9998505050505050505050565b600060ff821660ff81036148695761486961447b565b60010192915050565b60008451614884818460208901614283565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"2226:12847:91:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2331:198:58;;;;;;:::i;:::-;;:::i;:::-;;;592:14:208;;585:22;567:41;;555:2;540:18;2331:198:58;;;;;;;;1262:113;;;:::i;:::-;;;-1:-1:-1;;;;;783:55:208;;;765:74;;753:2;738:18;1262:113:58;619:226:208;11618:932:91;;;;;;:::i;:::-;;:::i;:::-;;8379:1508;;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;;3126:79:208;;;3108:98;;3096:2;3081:18;8379:1508:91;2964:248:208;5808:2236:91;;;;;;:::i;:::-;;:::i;1616:110:58:-;;;-1:-1:-1;;3800:14:58;3796:25;3783:39;3899:25:208;;3887:2;3872:18;1616:110:58;3753:177:208;10291:997:91;;;;;;:::i;:::-;;:::i;4742:388::-;;;;;;:::i;:::-;;:::i;14605:466::-;;;;;;:::i;:::-;;:::i;2536:736::-;;;;;;:::i;:::-;;:::i;13276:1145::-;;;;;;:::i;:::-;;:::i;12735:223::-;;;;;;:::i;:::-;;:::i;3576:936::-;;;;;;:::i;:::-;;:::i;1942:98:58:-;;;:::i;2331:198::-;2407:4;-1:-1:-1;;;;;;2426:54:58;;2441:39;2426:54;;:98;;-1:-1:-1;;;;;;;2484:40:58;;2499:25;2484:40;2426:98;2419:105;2331:198;-1:-1:-1;;2331:198:58:o;1262:113::-;1305:14;1334:36;:34;:36::i;:::-;1327:43;;1262:113;:::o;11618:932:91:-;1061:20:82;:18;:20::i;:::-;11823:141:91::1;11869:12;:10;:12::i;:::-;11900:9;11938:19;11823:26;:141::i;:::-;12014:41;12035:19;12014:20;:41::i;:::-;12010:536;;;12159:25;12187:39;12206:19;12187:18;:39::i;:::-;12159:67;;12234:73;12251:17;12270:36;12234:16;:73::i;:::-;12378:161;12429:12;:10;:12::i;:::-;12461:19;12500:12;12529:1;12378:32;:161::i;:::-;;12057:489;12010:536;11618:932:::0;;;:::o;8379:1508::-;8518:28;1061:20:82;:18;:20::i;:::-;-1:-1:-1;;;8625:8:91;:37;::::1;;8621:138;;-1:-1:-1::0;;;8722:8:91::1;8732:19;:8;:17;:19::i;:::-;8679:73;;;;;;;;;;;;;:::i;:::-;;;;;;;;8621:138;8802:40;8833:8;8802:30;:40::i;:::-;8896:50;8923:8;8933:12;:10;:12::i;:::-;8896:26;:50::i;:::-;8993:29;9025:59;9060:23;:8;451:5:16::0;2634:44:59;;2536:148;9060:23:91::1;-1:-1:-1::0;;9025:59:91::1;:34;:59::i;:::-;8993:91;;9090:35;9145:15;9168:23;9128:64;;;;;;;;;:::i;:::-;;;;;;;;;;;;;9090:102;;9239:22;9229:33;;;;;;9198:65;;9329:27;9359:53;9390:21;9359:30;:53::i;:::-;9329:83:::0;-1:-1:-1;9423:40:91;;9419:111:::1;;9472:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;9472:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;9472:58:91::1;2964:248:208::0;9419:111:91::1;9614:41:::0;;::::1;::::0;::::1;::::0;9662:79:::1;9685:21:::0;9708:8;9614:41;9662:22:::1;:79::i;:::-;9804:78;9828:21;9858:22;9804:23;:78::i;:::-;8548:1339;;;;8379:1508:::0;;;;:::o;5808:2236::-;1061:20:82;:18;:20::i;:::-;-1:-1:-1;;;5996:8:91;:37;::::1;;5992:138;;-1:-1:-1::0;;;6093:8:91::1;6103:19;:8;:17;:19::i;5992:138::-;578:36:59::0;2952:46;;-1:-1:-1;;;2951:74:59;6239:43:91::1;2951:74:59::0;6239:30:91::1;:43::i;:::-;6336:53;6363:11;6376:12;:10;:12::i;6336:53::-;6480:74;6505:6;6514:39;6480:16;:74::i;:::-;6647:9;6625:18;:8:::0;:16:::1;:18::i;:::-;-1:-1:-1::0;;6625:31:91::1;::::0;6621:98:::1;;6689:8;6699:19;:8;:17;:19::i;:::-;6665:54;;;;;;;;;;;;:::i;6621:98::-;6803:27;6833:36;6861:6;6833:19;:36::i;:::-;6803:66:::0;-1:-1:-1;6886:40:91;;;::::1;::::0;:110:::1;;;6987:8;6948:16;6930:66;;6886:110;6875:192;;;7018:42;::::0;::::1;::::0;;-1:-1:-1;;;;;783:55:208;;7018:42:91::1;::::0;::::1;765:74:208::0;738:18;;7018:42:91::1;619:226:208::0;6875:192:91::1;7131:22;7156:28;7175:8;7156:18;:28::i;:::-;7131:53:::0;-1:-1:-1;;;;;;7264:28:91;::::1;::::0;7260:411:::1;;7363:44;7392:14;7363:28;:44::i;:::-;7478:57;7507:11;7520:14;7478:28;:57::i;:::-;7260:411;;;7626:38;7649:8;7659:4;7626:22;:38::i;:::-;7758:53;7771:8;7789:6;7798:12;7758;:53::i;:::-;7883:46;7911:6;7920:8;7883:19;:46::i;:::-;7984:55;8004:11;8025:6;8034:4;7984:19;:55::i;:::-;5919:2125;;;5808:2236:::0;;;:::o;10291:997::-;10468:28;1061:20:82;:18;:20::i;:::-;625:63:80::1;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;8547:92:208::0;662:14:80::1;8655:11:208::0;;;8648:100;;;8764:12;;;8757:101;10556:59:91::1;::::0;8874:12:208;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;10602:12:91;:10;:12::i;10556:59::-;-1:-1:-1::0;10718:40:91;;::::1;::::0;::::1;::::0;10825:27:::1;10855:53;10718:40:::0;10855:30:::1;:53::i;:::-;10825:83:::0;-1:-1:-1;10919:40:91;;10915:111:::1;;10968:58;::::0;::::1;::::0;;-1:-1:-1;;;;;;3126:79:208;;10968:58:91::1;::::0;::::1;3108:98:208::0;3081:18;;10968:58:91::1;2964:248:208::0;10915:111:91::1;11071:79;11094:21;11117:8;11127:22;11071;:79::i;:::-;11213:70;11237:21;11260:22;11213:23;:70::i;:::-;10498:790;10291:997:::0;;;;;:::o;4742:388::-;1061:20:82;:18;:20::i;:::-;4899:50:91::1;4926:8;4936:12;:10;:12::i;4899:50::-;5044:81;1160:66:76;5094:8:91::0;5112:11;5044:27:::1;:81::i;:::-;4742:388:::0;;:::o;14605:466::-;1061:20:82;:18;:20::i;:::-;14746:29:91::1;14763:11;14746:16;:29::i;:::-;14820:43;14851:11;14820:30;:43::i;:::-;14917:53;14944:11;14957:12;:10;:12::i;14917:53::-;15014:52;15054:11;15014:39;:52::i;:::-;14605:466:::0;:::o;2536:736::-;1061:20:82;:18;:20::i;:::-;2673:29:91::1;2690:11;2673:16;:29::i;:::-;2767:34;2789:11;2767:21;:34::i;:::-;2854:35;2877:11;2854:22;:35::i;:::-;2850:127;;;2934:11;2947:22;:11;:20;:22::i;:::-;2906:64;;;;;;;;;;;;:::i;2850:127::-;3021:41;3044:11;3057:4;3021:22;:41::i;:::-;3115:46;3135:11;3148:12;:10;:12::i;:::-;3115:19;:46::i;:::-;3215:52;3235:11;3248:12;:10;:12::i;:::-;3262:4;3215:19;:52::i;13276:1145::-:0;1061:20:82;:18;:20::i;:::-;13490:29:91::1;13507:11;13490:16;:29::i;:::-;13581:41;13602:19;13581:20;:41::i;:::-;13576:107;;13639:37;;;;;;;;;;;;;;13576:107;13736:53;13763:11;13776:12;:10;:12::i;13736:53::-;13888:25;13916:39;13935:19;13916:18;:39::i;:::-;13888:67;;13961:73;13978:17;13997:36;13961:16;:73::i;:::-;14080:65;14112:11;14125:19;14080:31;:65::i;:::-;14216:19:::0;;:23;14212:205:::1;;14249:161;14300:12;:10;:12::i;14212:205::-;13436:985;13276:1145:::0;;;:::o;12735:223::-;1061:20:82;:18;:20::i;:::-;12868:85:91::1;12916:12;:10;:12::i;:::-;12941:9;12868:34;:85::i;3576:936::-:0;1061:20:82;:18;:20::i;:::-;-1:-1:-1;;;3801:8:91;:37;::::1;;3797:138;;-1:-1:-1::0;;;3898:8:91::1;3908:19;:8;:17;:19::i;3797:138::-;4016:69;4041:11;4055:29;4016:16;:69::i;:::-;4127:40;4158:8;4127:30;:40::i;:::-;4221:57;-1:-1:-1::0;;;578:36:59;2952:46;;2951:74;4221:30:91::1;:57::i;:::-;4328:50;4355:8;4365:12;:10;:12::i;4328:50::-;4410:97;4427:8:::0;-1:-1:-1;;1053:20:4;;;;1045:29;1077:30;;;;;;1045:62;4410:16:91::1;:97::i;1942:98:58:-:0;1981:7;2003:32;:30;:32::i;2992:383::-;3278:34;3282:14;3278:34;3265:48;3259:4;3255:59;;3325:45;;-1:-1:-1;3360:10:58;3325:45;2992:383;:::o;1179:189:82:-;-1:-1:-1;;;;;1265:6:82;1248:23;1256:4;1248:23;1237:127;;1332:25;;;;;;;;;;;;;;1237:127;1179:189::o;6156:426:79:-;6284:16;;;6298:1;6284:16;;;;;;;;6255:26;;6284:16;;;;;;;;;;-1:-1:-1;6284:16:79;6255:45;;6345:9;-1:-1:-1;;;;;6329:27:79;6321:36;;6306:9;6316:1;6306:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6402:9;-1:-1:-1;;;;;6386:27:79;6378:36;;6363:9;6373:1;6363:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6421:156;1175:66;1159:83;;6469:9;6486:1;6530:19;6495:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6495:56:79;;;;-1:-1:-1;;6495:56:79;;;;;;;;;-1:-1:-1;;;6421:24:79;:156::i;1509:162:43:-;1583:4;810:53;;;1602:64;;;;;1634:32;1646:19;1634:11;:32::i;:::-;1633:33;1595:71;1509:162;-1:-1:-1;;1509:162:43:o;3073:307:78:-;3188:16;;;3202:1;3188:16;;;;;;;;;3137:14;;;;3188:16;;;;;;;;;;;;-1:-1:-1;3188:16:78;3159:45;;3243:8;3210:9;3220:1;3210:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3259:13;3275:62;1152:66;3310:9;3259:13;1281:66;3275:24;:62::i;:::-;3351:23;;;3073:307;-1:-1:-1;;;;3073:307:78:o;692:238:93:-;777:61;809:15;826:11;777:31;:61::i;:::-;772:156;;853:70;;;;;-1:-1:-1;;;;;9825:55:208;;853:70:93;;;9807:74:208;-1:-1:-1;;;;;;9917:79:208;;9897:18;;;9890:107;9780:18;;853:70:93;9635:368:208;5258:401:55;5402:17;5428:12;5442:23;5469:115;5499:6;5543:8;5569;5520:5;5469:13;:115::i;:::-;5427:157;;;;5595:7;5590:41;;5604:27;5620:10;5604:15;:27::i;:::-;5644:10;5258:401;-1:-1:-1;;;;;;5258:401:55:o;3483:592:59:-;3547:13;3617:10;451:5:16;2634:44:59;;;3568:19;3715;3617:10;3715:7;:19::i;:::-;3692:42;-1:-1:-1;3797:12:59;-1:-1:-1;;3836:35:59;;;:102;;3885:53;-1:-1:-1;;3885:53:59;;:34;:53::i;:::-;3836:102;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3965:25:59;;;:87;;4004:48;4039:12;4004:34;:48::i;:::-;3965:87;;;;;;;;;;;;;;;;;;;;;3769:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3740:330;;;;;3483:592;;;:::o;2602:206:42:-;2676:34;2699:10;2676:22;:34::i;:::-;2671:133;;2763:10;2775:21;:10;:19;:21::i;:::-;2727:70;;;;;;;;;;;;:::i;2140:233::-;-1:-1:-1;;;;;2225:58:42;;:48;-1:-1:-1;;;578:36:59;2952:46;;2951:74;2225:19:42;:48::i;:::-;-1:-1:-1;;;;;2225:58:42;;2221:148;;2332:21;:10;:19;:21::i;:::-;2355:6;2300:62;;;;;;;;;;;;:::i;1862:322:59:-;1932:13;1953:14;1973:80;1989:2;1980:6;:11;1973:80;;;-1:-1:-1;;2007:34:59;;3218:1:2;3214:13;;3210:24;2007:39:59;;2003:50;2048:5;2003:50;1993:8;;1973:80;;;2089:30;;;-1:-1:-1;;11424:79:208;;2089:30:59;;;11412:92:208;2089:30:59;;11520:12:208;;;;2089:30:59;;;875:21:2;;;2089:30:59;2139:39;2125:54;1862:322;-1:-1:-1;;;;1862:322:59:o;3132::69:-;3258:16;;;3272:1;3258:16;;;;;;;;;3202:19;;;;3258:16;;;;;;;;;;;;-1:-1:-1;3258:16:69;3229:45;;3303:16;3295:25;;;3280:9;3290:1;3280:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3327:13;3343:62;1171:66;3378:9;3327:13;1300:66;3343:24;:62::i;7237:454::-;7343:24;7370:46;7383:8;7393:22;7370:12;:46::i;:::-;7519:16;;;7533:1;7519:16;;;;;;;;;7343:73;;-1:-1:-1;7423:29:69;;7458:25;;7423:29;;7519:16;;;;;;;;;;;;-1:-1:-1;7519:16:69;7490:45;;7564:16;7556:25;;;7541:9;7551:1;7541:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;7588:98;1171:66;7618:9;7629:11;7642:15;7659:12;1300:66;7588:19;:98::i;:::-;7337:354;;;;7237:454;;;:::o;3184:455:70:-;3271:24;3301:29;3333:32;3347:17;3333:13;:32::i;:::-;3301:64;;3371:25;3399:32;3413:17;3399:13;:32::i;:::-;3467:16;;;3481:1;3467:16;;;;;;;;;3371:60;;-1:-1:-1;3438:26:70;;3467:16;;;;;;;;;;;;-1:-1:-1;3467:16:70;3438:45;;3512:16;3504:25;;;3489:9;3499:1;3489:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;3536:98;1092:66;3566:9;3577:11;3590:15;3607:12;1221:66;3536:19;:98::i;3162:160:59:-;3225:7;3289:26;438:6;451:5:16;3289:26:59;:::i;:::-;3255:61;;;;;3162:160;-1:-1:-1;3162:160:59:o;3784:313:77:-;3893:16;;;3907:1;3893:16;;;;;;;;;3837:19;;;;3893:16;;;;;;;;;;;;-1:-1:-1;3893:16:77;3864:45;;3954:6;-1:-1:-1;;;;;3938:24:77;3930:33;;3915:9;3925:1;3915:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3970:13;3986:62;1166:66;4021:9;3970:13;-1:-1:-1;;;3986:24:77;:62::i;5762:222::-;5845:16;;;5859:1;5845:16;;;;;;;;;5816:26;;5845:16;;;;;;;;;;;-1:-1:-1;5845:16:77;5816:45;;5906:6;-1:-1:-1;;;;;5890:24:77;5882:33;;5867:9;5877:1;5867:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5922:57;1166:66;5955:9;-1:-1:-1;;;5922:22:77;:57::i;6291:295:75:-;6397:16;;;6411:1;6397:16;;;;;;;;6368:26;;6397:16;;;;;;;;;;-1:-1:-1;6397:16:75;6368:45;;6452:10;6419:9;6429:1;6419:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;6508:6;-1:-1:-1;;;;;6492:24:75;6484:33;;6469:9;6479:1;6469:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;6524:57;1166:66;6557:9;-1:-1:-1;;;6524:22:75;:57::i;4219:268:27:-;4319:16;;;4333:1;4319:16;;;;;;;;;4290:26;;4319:16;;;;;;;;;;;-1:-1:-1;4319:16:27;4290:45;;4374:10;4341:9;4351:1;4341:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4392:90;970:66;954:83;;4427:9;4438:1;4459:6;4441:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;4441:26:27;;;;-1:-1:-1;;4441:26:27;;;;;;;;;-1:-1:-1;;;4392:24:27;:90::i;6910:423:78:-;6995:24;7022:34;7035:6;7043:12;7022;:34::i;:::-;7159:16;;;7173:1;7159:16;;;;;;;;;6995:61;;-1:-1:-1;7063:29:78;;7098:25;;7063:29;;7159:16;;;;;;;;;;;;-1:-1:-1;7159:16:78;7130:45;;7214:8;7181:9;7191:1;7181:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;7230:98;1152:66;7260:9;7271:11;7284:15;7301:12;1281:66;7230:19;:98::i;5145:286:77:-;5240:16;;;5254:1;5240:16;;;;;;;;;5211:26;;5240:16;;;;;;;;;;;-1:-1:-1;5240:16:77;5211:45;;5301:6;-1:-1:-1;;;;;5285:24:77;5277:33;;5262:9;5272:1;5262:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5317:109;1166:66;1150:83;;5352:9;5363:1;5401:8;5366:45;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;5555:332:75;5665:16;;;5679:1;5665:16;;;;;;;;5636:26;;5665:16;;;;;;;;;;-1:-1:-1;5665:16:75;5636:45;;5720:10;5687:9;5697:1;5687:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5776:6;-1:-1:-1;;;;;5760:24:75;5752:33;;5737:9;5747:1;5737:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;5792:90;1166:66;1150:83;;5827:9;5838:1;5859:6;5841:26;;;;;;12013:14:208;12006:22;12001:3;11997:32;11985:45;;12055:1;12046:11;;11862:201;1474:1069:4;1617:29;1649:42;1660:11;1673:17;1649:10;:42::i;:::-;1617:74;;1809:25;1851:12;:19;1837:34;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1837:34:4;;1809:62;;1919:21;1969:25;1964:312;2016:12;:19;1996:17;:39;1964:312;;;2139:19;-1:-1:-1;;;;;2072:87:4;:55;2082:12;2095:17;2082:31;;;;;;;;:::i;:::-;;;;;;;2072:53;;;3536:35;;;3406:170;2072:55;-1:-1:-1;;;;;2072:87:4;;2068:200;;2199:12;2212:17;2199:31;;;;;;;;:::i;:::-;;;;;;;2173:8;2182:13;2173:23;;;;;;;;:::i;:::-;:57;;;;:23;;;;;;;;;;;:57;2242:15;;;;;2068:200;2037:19;;1964:312;;;;2429:13;2419:8;2412:31;2486:52;2497:11;2510:17;2529:8;2486:10;:52::i;596:401:94:-;-1:-1:-1;;;578:36:59;2952:46;;2951:74;821:10:94;803:79;799:196;;-1:-1:-1;;;956:10:94;968:21;:10;:19;:21::i;5970:214:73:-;6060:16;;;6074:1;6060:16;;;;;;;;;6031:26;;6060:16;;;;;;;;;;;-1:-1:-1;6060:16:73;6031:45;;6115:11;6082:9;6092:1;6082:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;6134;1180:66;6169:9;6134:24;:45::i;648:770:95:-;776:17;796:25;:10;451:5:16;2634:44:59;;2536:148;796:25:95;776:45;-1:-1:-1;825:30:95;858:45;-1:-1:-1;;858:45:95;;:34;:45::i;:::-;940:30;;825:78;;-1:-1:-1;979:26:95;;975:441;;1017:65;1036:16;1055:26;1080:1;1055:22;:26;:::i;:::-;2702:27:2;2716:4;2702:27;2696:34;;2575:165;1017:65:95;:72;;;;1013:146;;1106:46;;;;;-1:-1:-1;;12365:79:208;;1106:46:95;;;12347:98:208;12320:18;;1106:46:95;12201:250:208;1013:146:95;1170:9;1165:247;1185:26;1210:1;1185:22;:26;:::i;:::-;1181:1;:30;1165:247;;;2716:4:2;2702:27;;;;2696:34;1230:47:95;;;;;:102;;;;-1:-1:-1;1281:44:95;1300:16;1319:5;:1;1323;1319:5;:::i;1281:44::-;:51;;;;;1230:102;1226:180;;;1351:46;;;;;-1:-1:-1;;12365:79:208;;1351:46:95;;;12347:98:208;12320:18;;1351:46:95;12201:250:208;1226:180:95;1213:3;;1165:247;;2855:314:27;2969:16;;;2983:1;2969:16;;;;;;;;;2921:11;;;;2969:16;;;;;;;;;;;;-1:-1:-1;2969:16:27;2940:45;;3024:10;2991:9;3001:1;2991:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3042:13;3058:62;970:66;3093:9;3042:13;-1:-1:-1;;;3058:24:27;:62::i;:::-;3042:78;;3134:29;3155:5;3142:20;;1650:10:16;1541:126;5020:265:74;5117:16;;;5131:1;5117:16;;;;;;;;;5088:26;;5117:16;;;;;;;;;;;-1:-1:-1;5117:16:74;5088:45;;5172:11;5139:9;5149:1;5139:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5191:89;1166:66;1150:83;;5226:9;5237:1;5258:5;5240:25;;;;;;;12605:2:208;12601:15;;;;-1:-1:-1;;12597:88:208;12585:101;;12711:2;12702:12;;12456:264;5240:25:74;;;;-1:-1:-1;;5240:25:74;;;;;;;;;1295:66;5191:24;:89::i;5560:349:73:-;5674:16;;;5688:1;5674:16;;;;;;;;;5645:26;;5674:16;;;;;;;;;;;-1:-1:-1;5674:16:73;5645:45;;5729:11;5696:9;5706:1;5696:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5748:156;1180:66;1164:83;;5796:9;5813:1;5857:19;5822:56;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;6643:291:79;6747:16;;;6761:1;6747:16;;;;;;;;6718:26;;6747:16;;;;;;;;;;-1:-1:-1;6747:16:79;6718:45;;6808:9;-1:-1:-1;;;;;6792:27:79;6784:36;;6769:9;6779:1;6769:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;6865:9;-1:-1:-1;;;;;6849:27:79;6841:36;;6826:9;6836:1;6826:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;6884:45;1175:66;6919:9;6884:24;:45::i;9574:257:76:-;9671:16;;;9685:1;9671:16;;;;;;;;;9642:26;;9671:16;;;;;;;;;;;-1:-1:-1;9671:16:76;9642:45;;9726:8;9693:9;9703:1;9693:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;9742:84;1160:66;1144:83;;9783:9;9794:1;9815:8;9797:28;;;;;;;12878:66:208;12866:79;;;;12854:92;;12971:2;12962:12;;12725:255;9797:28:76;;;;;;;;;;;;;9742:30;:84::i;4048:97:58:-;4089:7;4111:29;:27;:29::i;25156:355:20:-;25328:178;25362:7;25387:8;25417:63;25456:11;25469:10;25417:38;:63::i;:::-;25495:4;25328:16;:178::i;1129:181:43:-;764:71:80;;;-1:-1:-1;;;764:71:80;;;8547:92:208;1205:4:43;8655:11:208;;;8648:100;;;814:20:80;8764:12:208;;;8757:101;1205:4:43;8874:12:208;764:71:80;;;;;;;;;;;;756:80;;;:::i;:::-;1224:81:43;;;;1129:181;-1:-1:-1;1129:181:43:o;38189:541:20:-;38346:7;38483:242;38527:59;38568:7;38577:8;38527:40;:59::i;:::-;38604:31;;;;4677:19:3;:27;579:1:30;4676:44:3;4642:79;;;4629:93;38653:63:20;38692:11;38705:10;38653:38;:63::i;:::-;38483:17;:242::i;:::-;38470:255;38189:541;-1:-1:-1;;;;;38189:541:20:o;1312:272:45:-;1399:4;1498:23;1513:7;1498:14;:23::i;:::-;:81;;;;;1525:54;1558:7;1567:11;1525:32;:54::i;:::-;1491:88;1312:272;-1:-1:-1;;;1312:272:45:o;3782:1003:55:-;3918:12;3932:17;3981:22;4006:26;4023:8;4006:16;:26::i;:::-;3981:51;;4109:9;4104:228;4124:5;:12;4120:1;:16;4104:228;;;4151:9;4173:5;4179:1;4173:8;;;;;;;;:::i;:::-;;;;;;;4151:31;;4194:34;458:6:97;4194:4:55;:14;;;;;:34;;;;:::i;:::-;4190:136;;;4240:77;;;;;3536:35:4;;;;;4240:49:55;;:77;;4290:6;;4298:8;;4308;;4240:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4190:136;-1:-1:-1;4138:3:55;;4104:228;;;;4407:78;4422:6;4437:5;4454:8;4474;4407:4;:78::i;:::-;4389:96;;-1:-1:-1;4389:96:55;-1:-1:-1;4560:9:55;4555:226;4575:5;:12;4571:1;:16;4555:226;;;4602:9;4624:5;4630:1;4624:8;;;;;;;;:::i;:::-;;;;;;;4602:31;;4645:33;586:6:97;4645:4:55;:14;;;;;:33;;;;:::i;:::-;4641:134;;;4690:76;;;;;3536:35:4;;;;;4690:48:55;;:76;;4739:6;;4747:8;;4757;;4690:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:134;-1:-1:-1;4589:3:55;;4555:226;;;;3951:834;3782:1003;;;;;;;:::o;348:217:96:-;551:6;545:13;538:4;530:6;526:17;519:40;3747:306:74;3858:16;;;3872:1;3858:16;;;;;;;;;3808:13;;;;3858:16;;;;;;;;;;;;-1:-1:-1;3858:16:74;3829:45;;3913:11;3880:9;3890:1;3880:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3932:13;3948:62;1166:66;3983:9;3932:13;1295:66;3948:24;:62::i;9143:179:69:-;9240:12;9284:8;9294:22;9267:50;;;;;;;;13616:19:208;;;-1:-1:-1;;;;;;13665:79:208;13660:2;13651:12;;13644:101;13770:2;13761:12;;13430:349;9267:50:69;;;;;;;;;;;;;9260:57;;9143:179;;;;:::o;15294:3138:20:-;15588:23;15567:7;:44;;;15563:198;;15681:7;15665:75;15690:8;15700:10;15712:14;15728:11;15665:75;;;;;;;;;:::i;:::-;;;;;;;;15748:7;;15563:198;15899:22;15924:24;15940:7;15924:15;:24::i;:::-;15899:49;;15959:9;15954:340;15974:5;:12;15970:1;:16;15954:340;;;16001:9;16023:5;16029:1;16023:8;;;;;;;;:::i;:::-;;;;;;;16001:31;;16044:33;409:6:32;16044:4:20;:14;;;;;:33;;;;:::i;:::-;16040:248;;;16089:190;;;;;3536:35:4;;;;;16089:47:20;;:190;;16148:7;;16167:8;;16187:10;;16209:14;;16235:11;;16258;;16089:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16040:248;-1:-1:-1;15988:3:20;;15954:340;;;;16358:7;16342:75;16367:8;16377:10;16389:14;16405:11;16342:75;;;;;;;;;:::i;:::-;;;;;;;;16481:26;16510:59;16551:7;16560:8;16510:40;:59::i;:::-;16481:88;-1:-1:-1;16575:21:20;894:4:14;884:15;;16575:54:20;;16635:149;16673:18;16707:1;16724:10;:17;16764:13;16635;:149::i;:::-;16884:1;16851:30;:11;:28;:30::i;:::-;:34;16847:1174;;;16970:33;17006:66;17054:7;17063:8;17006:47;:66::i;:::-;695:28:19;;;16970:102:20;-1:-1:-1;894:4:14;884:15;;17246:47:20;;17402:27;17437:25;17475:7;17470:545;17488:30;:11;:28;:30::i;:::-;17484:1;:34;;;17470:545;;;17554:63;17596:7;17605:8;17615:1;17554:41;:63::i;:::-;17532:85;-1:-1:-1;17647:25:20;:14;17670:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;17647:25:20;17627:45;;17682:170;17724:19;17763:1;17784:17;17828:13;17682;:170::i;:::-;17862:34;17879:17;17862:34;;:::i;:::-;;-1:-1:-1;17993:3:20;;17470:545;;;;16887:1134;;;16847:1174;18095:9;18090:338;18110:5;:12;18106:1;:16;18090:338;;;18137:9;18159:5;18165:1;18159:8;;;;;;;;:::i;:::-;;;;;;;18137:31;;18180:32;503:6:32;18180:4:20;:14;;;;;:32;;;;:::i;:::-;18176:246;;;18224:189;;;;;3536:35:4;;;;;18224:46:20;;:189;;18282:7;;18301:8;;18321:10;;18343:14;;18369:11;;18392;;18224:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18176:246;-1:-1:-1;18124:3:20;;18090:338;;;;15503:2929;;;15294:3138;;;;;;:::o;5278:304:70:-;5357:29;5517:54;5545:17;5539:31;900:16:15;1986:39;;;1968:58;;1829:263;5747:155:70;5826:12;5877:17;5853:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;5846:51;;5747:155;;;:::o;28344:1778:20:-;28532:23;28511:7;:44;;;28507:160;;28628:7;28609:37;28637:8;28609:37;;;;;;:::i;:::-;;;;;;;;28344:1778;;;:::o;28507:160::-;28808:22;28833:24;28849:7;28833:15;:24::i;:::-;28808:49;;28868:9;28863:235;28883:5;:12;28879:1;:16;28863:235;;;28910:9;28932:5;28938:1;28932:8;;;;;;;;:::i;:::-;;;;;;;28910:31;;28953:36;1049:6:32;28953:4:20;:14;;;;;:36;;;;:::i;:::-;28949:143;;;29001:82;;;;;3536:35:4;;;;;29001:50:20;;:82;;29052:7;;29061:8;;29071:11;;29001:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28949:143;-1:-1:-1;28897:3:20;;28863:235;;;;29165:7;29146:37;29174:8;29146:37;;;;;;:::i;:::-;;;;;;;;29216:26;29245:59;29286:7;29295:8;29245:40;:59::i;:::-;29216:88;;29310:113;29342:18;29370:1;29389:30;:11;:28;:30::i;:::-;29379:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29379:41:20;;29310:13;:113::i;:::-;29642:1;29609:30;:11;:28;:30::i;:::-;:34;29605:236;;;29653:33;29689:66;29737:7;29746:8;29689:47;:66::i;:::-;29653:102;;29763:71;29794:25;29829:2;29763:12;:71::i;:::-;29645:196;29605:236;29890:9;29885:233;29905:5;:12;29901:1;:16;29885:233;;;29932:9;29954:5;29960:1;29954:8;;;;;;;;:::i;:::-;;;;;;;29932:31;;29975:35;1149:6:32;29975:4:20;:14;;;;;:35;;;;:::i;:::-;29971:141;;;30022:81;;;;;3536:35:4;;;;;30022:49:20;;:81;;30072:7;;30081:8;;30091:11;;30022:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29971:141;-1:-1:-1;29919:3:20;;29885:233;;8733:150:78;8840:38;;8813:12;17019:15:208;;;-1:-1:-1;;17015:88:208;8840:38:78;;;17003:101:208;17150:14;;17143:22;17138:3;17134:32;17120:12;;;17113:54;8813:12:78;17183::208;;8840:38:78;16852:349:208;3524:369:26;3664:16;;;3678:1;3664:16;;;;;;;;;3605:22;;3635:26;;3664:16;;;;;;;;;;;;-1:-1:-1;3664:16:26;3635:45;;3719:10;3686:9;3696:1;3686:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;3737:18;3758:49;3784:8;3794:9;3805:1;3758:25;:49::i;:::-;3737:70;;3821:66;:44;3842:5;3849:1;3852:5;:12;3821:20;:44::i;:::-;:64;:66::i;4911:282::-;5037:16;;;5051:1;5037:16;;;;;;;;;5008:26;;5037:16;;;;;;;;;;;-1:-1:-1;5037:16:26;5008:45;;5092:10;5059:9;5069:1;5059:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5110:78;5136:8;5146:9;5157:1;5160:27;5180:5;5160:18;:27::i;:::-;5110:25;:78::i;13842:301:24:-;13926:21;13950:17;:15;:17::i;:::-;13926:41;-1:-1:-1;14002:4:24;-1:-1:-1;;;;;13977:30:24;;;13973:166;;14017:41;14040:7;14049:8;14017:22;:41::i;13973:166::-;14079:53;;;;;-1:-1:-1;;;;;14079:34:24;;;;;:53;;14114:7;;14123:8;;14079:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12340:451;12500:21;12524:17;:15;:17::i;:::-;12500:41;-1:-1:-1;12576:4:24;-1:-1:-1;;;;;12551:30:24;;;12547:240;;12591:78;12620:7;12629:8;12639:17;12658:10;12591:28;:78::i;:::-;12547:240;;;12690:90;;;;;-1:-1:-1;;;;;12690:40:24;;;;;:90;;12731:7;;12740:8;;12750:17;;12769:10;;12690:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12494:297;12340:451;;;;:::o;1832:227::-;1062:42;1921:22;1882:7;;-1:-1:-1;;;;;1921:22:24;;1949:106;;1997:10;1990:17;;;1832:227;:::o;1949:106::-;2035:13;1832:227;-1:-1:-1;1832:227:24:o;53835:242:20:-;53931:7;;;53970:84;53990:10;53986:14;;:1;:14;53970:84;;;54015:32;4629:93:3;4677:19;:27;;;579:1:30;4676:44:3;4642:79;;;4629:93;54015:32:20;;:::i;:::-;;-1:-1:-1;54002:3:20;;53970:84;;19068:1676;19268:23;19247:7;:44;;;19243:232;;19398:7;19354:100;19417:8;19434:5;19447:4;19354:100;;;;;;;;:::i;:::-;;;;;;;;19462:7;;19243:232;19481:16;19500:59;19541:7;19550:8;19500:40;:59::i;:::-;19481:78;;19705:22;19730:24;19746:7;19730:15;:24::i;:::-;19705:49;;19765:9;19760:328;19780:5;:12;19776:1;:16;19760:328;;;19807:9;19829:5;19835:1;19829:8;;;;;;;;:::i;:::-;;;;;;;19807:31;;19850:41;614:6:32;19850:4:20;:14;;;;;:41;;;;:::i;:::-;19846:236;;;19903:170;;;;;3536:35:4;;;;;19903:54:20;;:170;;19979:7;;20008:8;;20035:5;;20058:4;;19903:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19846:236;-1:-1:-1;19794:3:20;;19760:328;;;;20189:7;20145:100;20208:8;20225:5;20238:4;20145:100;;;;;;;;:::i;:::-;;;;;;;;20295:70;20327:8;20345:5;20295:70;;20358:4;20295:13;:70::i;:::-;20419:9;20414:326;20434:5;:12;20430:1;:16;20414:326;;;20461:9;20483:5;20489:1;20483:8;;;;;;;;:::i;:::-;;;;;;;20461:31;;20504:40;723:6:32;20504:4:20;:14;;;;;:40;;;;:::i;:::-;20500:234;;;20556:169;;;;;3536:35:4;;;;;20556:53:20;;:169;;20631:7;;20660:8;;20687:5;;20710:4;;20556:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20500:234;-1:-1:-1;20448:3:20;;20414:326;;52818:191;52920:7;52984;52993:8;52967:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52967:35:20;;;;;;;;;52957:46;;52967:35;52957:46;;;;44378:22;52950:53;;52818:191;-1:-1:-1;;;52818:191:20:o;8945:812:19:-;9043:14;9079:2;9069:6;:12;9065:112;;9138:2;9129:6;:11;9111:29;;;;9160:2;9150:12;;;;;;:::i;:::-;;;;9065:112;-1:-1:-1;9368:21:19;;9353:12;9341:25;;9337:53;9516:2;:11;;;9598:22;;;9594:159;;;9734:1;9718:14;9714:22;9708:29;9693:12;9678:13;9674:32;9670:68;9662:6;9659:80;9649:90;;9059:698;8945:812;;;;;:::o;708:400:45:-;772:4;961:68;994:7;1003:25;961:32;:68::i;:::-;:142;;;;-1:-1:-1;1040:63:45;1073:7;-1:-1:-1;;;;;;4132:576:45;4295:56;;-1:-1:-1;;;;;;3126:79:208;;4295:56:45;;;3108:98:208;4234:4:45;;;;3081:18:208;;4295:56:45;;;-1:-1:-1;;4295:56:45;;;;;;;;;;;;;;;;;;;;;4533:20;;4295:56;;-1:-1:-1;;;;;;;4295:56:45;;-1:-1:-1;;4498:7:45;4491:5;4480:86;4469:97;;4587:16;4573:30;;4631:4;4625:11;4610:26;;4655:7;:29;;;;;4680:4;4666:10;:18;;4655:29;:48;;;;;4702:1;4688:11;:15;4655:48;4648:55;4132:576;-1:-1:-1;;;;;;;4132:576:45:o;3854:344:76:-;3971:16;;;3985:1;3971:16;;;;;;;;;3912:22;;3942:26;;3971:16;;;;;;;;;;;;-1:-1:-1;3971:16:76;3942:45;;4026:8;3993:9;4003:1;3993:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4042:18;4063:49;1160:66;4099:9;4042:18;4063:25;:49::i;:::-;4042:70;;4126:66;:44;4147:5;4154:1;4157:5;:12;4126:20;:44::i;3035:136:4:-;3105:4;3157:9;3124:42;;3143:9;3125:15;3135:4;3934:26;;;3804:162;3125:15;:27;3124:42;;;3117:49;;3035:136;;;;:::o;1761:1386:55:-;1888:12;1902:17;1956:21;1979:17;2000:22;2013:8;2000:12;:22::i;:::-;1955:67;;-1:-1:-1;1955:67:55;-1:-1:-1;;;;;;2067:27:55;;2063:106;;2139:8;2149:19;:8;:17;:19::i;2063:106::-;2275:12;2270:64;;2289:45;2317:8;2327:6;2289:27;:45::i;:::-;2413:9;;2409:197;;578:36:59;2952:46;;-1:-1:-1;;;2951:74:59;2432:22:55;2515:26;2951:74:59;2515:13:55;:26::i;:::-;2490:51;-1:-1:-1;2549:50:55;2563:11;2576:22;2593:5;2490:51;2576:22;:::i;:::-;2549:13;:50::i;:::-;2424:182;;2409:197;2708:14;2681:23;:8;451:5:16;2634:44:59;;2536:148;2681:23:55;-1:-1:-1;;2681:41:55;;:461;;2982:160;3043:6;3069:5;3092:13;3125:8;2982:39;:160::i;:::-;2681:461;;;2805:168;2874:6;2900:5;2923:13;2956:8;2805:47;:168::i;:::-;2663:479;;;;-1:-1:-1;1761:1386:55;-1:-1:-1;;;;;;;1761:1386:55:o;3655:342:28:-;3771:16;;;3785:1;3771:16;;;;;;;;;3712:22;;3742:26;;3771:16;;;;;;;;;;;;-1:-1:-1;3771:16:28;3742:45;;3826:7;3793:9;3803:1;3793:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;3841:18;3862:49;968:66;3898:9;3841:18;3862:25;:49::i;1489:2340:19:-;1602:10;;1598:1504;;1755:2;1745:6;:12;1741:122;;1818:2;1809:6;:11;1791:29;;;;1842:2;1832:12;;;;;;:::i;:::-;;;;1741:122;1953:10;;1949:1147;;2161:2;:11;;;2035:21;-1:-1:-1;;579:1:30;804:25:31;;782:48;2208:18:19;2193:33;;2395:12;2387:6;2383:25;2442:4;2431:9;2427:20;2419:28;;2497:13;2491:20;2480:9;2476:36;2458:54;;2745:4;2741:9;2724:14;2718:21;2714:37;2645:4;2633:10;2629:21;2572:193;2544:14;2524:253;;2836:13;2826:6;:23;2822:36;;2851:7;;;;2822:36;-1:-1:-1;2999:1:19;2981:19;;;;;3054:23;;;;;3012:30;1949:1147;3132:253;3149:2;3139:6;:12;3132:253;;3244:20;;3221:44;;3318:1;3300:19;;;;-1:-1:-1;;3358:12:19;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;3761:21:19;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:19;;;;:::o;5731:173:3:-;5805:7;579:1:30;1705;;1685:13;1697:1;376:2;1685:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1684:38;;;;:::i;:::-;5841:11:3;5820:79;5833:65;;5820:79;;5731:173;-1:-1:-1;;5731:173:3:o;55383:230:20:-;55504:7;55588;55597:8;55571:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55571:35:20;;;;;;;;;55561:46;;55571:35;55561:46;;;;44541:40;55534:73;;55383:230;-1:-1:-1;;;55383:230:20:o;54754:274::-;54898:7;55003;55012:8;54986:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54976:46;;;;;;54955:17;54948:25;;54928:45;;;44450:34;54928:45;:94;54920:103;;54913:110;;54754:274;;;;;:::o;4952:171:3:-;5026:7;579:1:30;1355:13;1367:1;376:2;1355:13;:::i;:::-;1354:30;;;;:::i;:::-;5048:70:3;;;;;4952:171;-1:-1:-1;4952:171:3:o;966:162:19:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::14;884:15;;758:151;1098:24:19;1055:5;:68::i;4032:370::-;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;39198:522:20;39334:12;39458:257;39497:79;39539:7;39548:8;39558:17;39497:41;:79::i;:::-;39594:1;39613:93;39688:17;39613:66;39661:7;39670:8;39613:47;:66::i;:::-;:74;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;39613:93:20;39458:12;:257::i;2020:561:18:-;2111:5;2206:3;2198:5;:11;:32;;;;2219:4;:11;2213:3;:17;2198:32;2194:80;;;2257:4;2263:5;2270:3;2239:35;;;;;;;;;;;;;:::i;2194:80::-;2340:4;2330:15;;2387:16;2398:5;2330:15;2387:16;:::i;:::-;;-1:-1:-1;2409:12:18;2424:11;2430:5;2424:3;:11;:::i;:::-;709:17;2559:15;2551:3;2540:14;;;;2539:36;;;;;;-1:-1:-1;;;;;2020:561:18:o;40103:220:34:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;39802:222:35:-;39866:12;39956:6;39980:39;39956:6;40013:2;40017:1;39980:17;:39::i;26201:737:20:-;26452:36;26491:66;26539:7;26548:8;26491:47;:66::i;:::-;26452:105;-1:-1:-1;26563:26:20;26599:49;26452:105;26630:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;26599:49:20;26563:86;;26656:277;26710:7;26735:8;26770:17;26813:1;26835:19;26868:4;26904:22;26656:36;:277::i;27600:145::-;27684:56;27697:7;27706:8;27716:23;27731:7;27716:14;:23::i;:::-;27684:12;:56::i;30786:790::-;31045:36;31084:66;31132:7;31141:8;31084:47;:66::i;:::-;31045:105;-1:-1:-1;31156:26:20;31192:49;31045:105;31223:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;31192:49:20;31156:86;;31280:291;31334:7;31359:8;31394:17;31444:19;31485:1;31500:10;31542:22;31280:36;:291::i;5924:432:78:-;6052:16;;;6066:1;6052:16;;;;;;;;;5982:14;;;;;;6052:16;;;;;;;;;;;-1:-1:-1;6052:16:78;6023:45;;6107:8;6074:9;6084:1;6074:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6124:24;;;6210:78;1152:66;6253:9;1281:66;6210:19;:78::i;:::-;-1:-1:-1;;2716:4:2;2702:27;;2696:34;2702:27;;;;2696:34;7557:32:78;;;;;;7621:30;;;;;;-1:-1:-1;5924:432:78;-1:-1:-1;;;;;;5924:432:78:o;1546:281:42:-;1708:29;1718:10;1730:6;1708:9;:29::i;:::-;1703:120;;1786:21;:10;:19;:21::i;3755:308:68:-;3868:16;;;3882:1;3868:16;;;;;;;;;3816:15;;;;3868:16;;;;;;;;;;;;-1:-1:-1;3868:16:68;3839:45;;3923:11;3890:9;3900:1;3890:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3942:13;3958:62;1154:66;3993:9;3942:13;-1:-1:-1;;;3958:24:68;:62::i;5054:269::-;5153:16;;;5167:1;5153:16;;;;;;;;;5124:26;;5153:16;;;;;;;;;;;-1:-1:-1;5153:16:68;5124:45;;5208:11;5175:9;5185:1;5175:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5227:91;1154:66;1138:83;;5262:9;5273:1;5294:7;5276:27;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;5594:317:58;5733:12;5747:17;5790:6;-1:-1:-1;;;;;5790:11:58;5810:1;5821:79;5847:8;5868:9;5889:8;5821:13;:79::i;:::-;5790:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5772:134:58;;;;-1:-1:-1;5594:317:58;-1:-1:-1;;;;;5594:317:58:o;6415:321::-;6562:12;6576:17;6619:6;-1:-1:-1;;;;;6619:19:58;6646:79;6672:8;6693:9;6714:8;6646:13;:79::i;:::-;6619:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;55951:301:20;56072:13;56164:82;56195:48;56225:7;56234:8;56195:29;:48::i;:::-;4711:21:19;;4605:137;5042:669;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:19;5546:26;;;5373:16;5369:32;5518:4;5511:63;5618:6;5610;5603:22;5636:51;5641:14;5657:6;5665;5673:13;5636:4;:51::i;2681:1129:36:-;2801:22;2831:21;2855;:11;3001:3:18;2979:25;;2905:104;2855:21:36;2831:45;-1:-1:-1;709:17:18;3242:38;;2882:20:36;3044:11;3242:38:18;3044:11:36;3029:26;;;;:::i;:::-;;3015:40;;3164:4;3158:11;3149:20;;3207:4;3200:5;3196:16;3267:4;3254:11;3250:22;3236:12;3232:41;3226:4;3219:55;3317:11;3310:5;3303:26;3360:1;3337:463;3376:11;3373:1;3370:18;3337:463;;;3770:20;;3749:42;;3728:64;;3642:31;;;;3555:4;3537:23;;;;3463:1;3456:9;3337:463;;;3341:28;;3116:690;;;2681:1129;;;;;:::o;830:1343::-;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:36;1474:15;;-1:-1:-1;;5373:16:19;1531:32:36;;;5373:16:19;5369:32;1503:4:36;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;46271:3996:20;46689:14;46668:7;:35;;;46664:161;;46759:14;46775:7;46808;46791:25;;;;;;9577:19:208;;9621:2;9612:12;;9448:182;46791:25:20;;;;-1:-1:-1;;46791:25:20;;;;;;;;;;46720:98;;;;;;;;;;:::i;46664:161::-;46831:27;46861:49;:22;46892:17;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;46861:49:20;46831:79;;46916:26;46981:4;:11;46967;46945:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46916:76;;47264:18;47241:19;:41;;:98;;;;-1:-1:-1;47320:19:20;47286:30;47305:11;47286:16;:30;:::i;:::-;:53;;;;47241:98;47237:218;;;47356:92;;;;;21761:12:208;21800:15;;;47356:92:20;;;21782:34:208;21852:15;;;21832:18;;;21825:43;21904:15;;21884:18;;;21877:43;21724:18;;47356:92:20;21555:371:208;47237:218:20;47561:19;47542:16;:38;;;47538:140;;;47597:74;;;;;;;;22104:25:208;;;22177:12;22165:25;;22145:18;;;22138:53;22077:18;;47597:74:20;21931:266:208;47538:140:20;47717:35;47755:72;:22;47789:17;47808:18;47755:33;:72::i;:::-;47717:110;;47974:22;47999:24;48015:7;47999:15;:24::i;:::-;47974:49;;48034:9;48029:486;48049:5;:12;48045:1;:16;48029:486;;;48076:9;48098:5;48104:1;48098:8;;;;;;;;:::i;:::-;;;;;;;48076:31;;48119:42;836:6:32;48119:4:20;:14;;;;;:42;;;;:::i;:::-;48115:394;;;3536:35:4;;;;-1:-1:-1;;;;;48173:55:20;;48250:7;48279:8;48318:17;48365:16;48406:11;48445:22;48485:4;48173:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48115:394;-1:-1:-1;48063:3:20;;48029:486;;;-1:-1:-1;48573:32:20;;;:13;48713:107;48731:17;48727:21;;:1;:21;;;48713:107;;;48776:33;:22;48807:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;48776:33:20;48767:42;;;;48750:3;;48713:107;;;;48942:7;48889:274;48969:8;49006:17;49047:5;49076:11;49113:21;49150:4;48889:274;;;;;;;;;;;:::i;:::-;;;;;;;;48521:649;49255:18;49232:19;:41;49228:248;;49283:31;49317:48;49347:7;49356:8;49317:29;:48::i;:::-;695:28:19;;;-1:-1:-1;49228:248:20;49533:27;49563:61;49587:7;49596:8;49606:17;49563:23;:61::i;:::-;49533:91;;49632:92;49664:19;49693:16;49632:92;;49717:4;49632:13;:92::i;:::-;49525:206;49785:9;49780:483;49800:5;:12;49796:1;:16;49780:483;;;49827:9;49849:5;49855:1;49849:8;;;;;;;;:::i;:::-;;;;;;;49827:31;;49870:41;947:6:32;49870:4:20;:14;;;;;:41;;;;:::i;:::-;49866:391;;;3536:35:4;;;;-1:-1:-1;;;;;49923:54:20;;49999:7;50028:8;50067:17;50114:16;50155:11;50194:21;50233:4;49923:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49866:391;-1:-1:-1;49814:3:20;;49780:483;;;;46514:3753;;;;46271:3996;;;;;;;:::o;6401:652::-;6468:11;6704:64;;;6700:111;;-1:-1:-1;1339:66:29;;6401:652:20;-1:-1:-1;6401:652:20:o;6700:111::-;6855:185;6901:85;1210:66:29;6977:7:20;6901:40;:85::i;:::-;7006:2;7028:1;6855:17;:185::i;34778:1314::-;34908:23;34933:28;34963:24;35029:20;35052:30;:11;:28;:30::i;:::-;35029:53;;35143:65;35176:7;35185:8;35195:12;35143:32;:65::i;:::-;35130:78;;35272:24;35299:30;:11;:28;:30::i;:::-;35272:57;-1:-1:-1;35339:20:20;;35335:753;;35432:66;35480:7;35489:8;35432:47;:66::i;:::-;35415:83;-1:-1:-1;6382:59:15;;;35550:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35550:33:20;-1:-1:-1;35536:47:20;-1:-1:-1;894:4:14;884:15;;35591:21:20;35655:427;35673:16;35669:1;:20;;;35655:427;;;35706:27;35736:63;35778:7;35787:8;35797:1;35736:41;:63::i;:::-;35706:93;-1:-1:-1;35809:14:20;35826:25;:14;35849:1;6999:16:15;;988;6999;900;6988:27;6948:68;6926:92;;;6811:218;35826:25:20;35809:42;;35861:110;35892:19;35921:1;35932:6;35955:13;35861:12;:110::i;:::-;36050:23;36067:6;36050:23;;:::i;:::-;;;35696:386;;35691:3;;;;;:::i;:::-;;;;35655:427;;;;35361:727;35335:753;34989:1103;;34778:1314;;;;;;;:::o;955:327:42:-;1036:4;1178:56;-1:-1:-1;;;578:36:59;2952:46;;2951:74;1227:6:42;1178:19;:56::i;:::-;:99;;;;1238:39;1258:10;1270:6;1238:19;:39::i;4897:201:58:-;5019:12;5063:8;5073:9;5084:8;5046:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5039:54;;4897:201;;;;;:::o;6076:2380:19:-;6193:10;;6189:1542;;6346:2;6336:6;:12;6332:122;;6409:2;6400:6;:11;6382:29;;;;6433:2;6423:12;;;;;;:::i;:::-;;;;6332:122;6544:10;;6540:1185;;6752:2;:11;;;6626:21;6810:22;;;6806:135;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;;;-1:-1:-1;;;579:1:30;804:25:31;;782:48;6806:135:19;7135:14;7129:21;7114:12;7106:6;7102:25;7098:53;7375:4;7359:13;7353:20;7349:31;7285:4;7281:9;7269:10;7265:26;7210:184;7183:13;7163:243;;7465:13;7455:6;:23;7451:36;;7480:7;;;;7451:36;-1:-1:-1;7628:1:19;7610:19;;;;;7683:23;;;;;7641:30;6540:1185;7760:253;7777:2;7767:6;:12;7760:253;;7871:21;;7849:44;;7946:1;7928:19;;;;-1:-1:-1;;7986:12:19;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:30;804:25:31;;782:48;8389:20:19;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:19;;;;:::o;7395:1488:15:-;7521:13;1070:16;7546:25;;7542:97;;;7588:44;;;;;;;;3899:25:208;;;3872:18;;7588:44:15;3753:177:208;7542:97:15;7701:13;6382:59;;;6999:16;;;988;6999;900;6988:27;6948:68;;;6926:92;;7964:38;;;7960:192;;8047:19;8029:15;:37;8014:52;;;;7960:192;;;8128:15;8106:19;:37;8091:52;;;;7960:192;-1:-1:-1;8468:16:15;900;988;8335;;;;8324:27;8460:35;;;8774:5;8613:26;8594:45;;;;8593:61;;;8755:24;;;;8784:34;;;;;8754:65;;-1:-1:-1;7395:1488:15;;;;;:::o;53261:282:20:-;53506:30;;;;;;24801:19:208;;;24836:12;;;24829:28;;;53349:7:20;;24873:12:208;;53506:30:20;24613:278:208;50835:360:20;50961:12;50985:6;50995:1;50985:11;50981:26;;-1:-1:-1;50998:9:20;;;;;;;;;-1:-1:-1;50998:9:20;;;;50981:26;51048:16;51067:41;51090:7;51099:8;51067:22;:41::i;:::-;51048:60;;51121:69;51152:8;51170:1;51181:6;51121:12;:69::i;4003:378:75:-;4127:16;;;4141:1;4127:16;;;;;;;;4079:11;;;;4127:16;4141:1;4127:16;;;;;;;;;;-1:-1:-1;4127:16:75;4098:45;;4182:10;4149:9;4159:1;4149:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;4238:6;-1:-1:-1;;;;;4222:24:75;4214:33;;4199:9;4209:1;4199:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4254:13;4270:62;1166:66;4305:9;4254:13;-1:-1:-1;;;4270:24:75;:62::i;:::-;4254:78;;4346:29;4367:5;4354:20;;1650:10:16;1541:126;14:219:208;81:20;;-1:-1:-1;;;;;;130:78:208;;120:89;;110:117;;223:1;220;213:12;238:184;296:6;349:2;337:9;328:7;324:23;320:32;317:52;;;365:1;362;355:12;317:52;388:28;406:9;388:28;:::i;850:154::-;-1:-1:-1;;;;;929:5:208;925:54;918:5;915:65;905:93;;994:1;991;984:12;1009:184;-1:-1:-1;;;1058:1:208;1051:88;1158:4;1155:1;1148:15;1182:4;1179:1;1172:15;1198:777;1240:5;1293:3;1286:4;1278:6;1274:17;1270:27;1260:55;;1311:1;1308;1301:12;1260:55;1347:6;1334:20;1373:18;1410:2;1406;1403:10;1400:36;;;1416:18;;:::i;:::-;1550:2;1544:9;1612:4;1604:13;;-1:-1:-1;;1600:22:208;;;1624:2;1596:31;1592:40;1580:53;;;1648:18;;;1668:22;;;1645:46;1642:72;;;1694:18;;:::i;:::-;1734:10;1730:2;1723:22;1769:2;1761:6;1754:18;1815:3;1808:4;1803:2;1795:6;1791:15;1787:26;1784:35;1781:55;;;1832:1;1829;1822:12;1781:55;1896:2;1889:4;1881:6;1877:17;1870:4;1862:6;1858:17;1845:54;1943:1;1936:4;1931:2;1923:6;1919:15;1915:26;1908:37;1963:6;1954:15;;;;;;1198:777;;;;:::o;1980:554::-;2097:6;2105;2113;2166:2;2154:9;2145:7;2141:23;2137:32;2134:52;;;2182:1;2179;2172:12;2134:52;2221:9;2208:23;2240:31;2265:5;2240:31;:::i;:::-;2290:5;-1:-1:-1;2342:2:208;2327:18;;2314:32;;-1:-1:-1;2397:2:208;2382:18;;2369:32;2424:18;2413:30;;2410:50;;;2456:1;2453;2446:12;2410:50;2479:49;2520:7;2511:6;2500:9;2496:22;2479:49;:::i;:::-;2469:59;;;1980:554;;;;;:::o;2539:420::-;2648:6;2656;2709:2;2697:9;2688:7;2684:23;2680:32;2677:52;;;2725:1;2722;2715:12;2677:52;2761:9;2748:23;2738:33;;2822:2;2811:9;2807:18;2794:32;2849:18;2841:6;2838:30;2835:50;;;2881:1;2878;2871:12;2835:50;2904:49;2945:7;2936:6;2925:9;2921:22;2904:49;:::i;:::-;2894:59;;;2539:420;;;;;:::o;3217:531::-;3338:6;3346;3354;3407:2;3395:9;3386:7;3382:23;3378:32;3375:52;;;3423:1;3420;3413:12;3375:52;3459:9;3446:23;3436:33;;3519:2;3508:9;3504:18;3491:32;3532:31;3557:5;3532:31;:::i;:::-;3582:5;-1:-1:-1;3639:2:208;3624:18;;3611:32;3681:15;;3674:23;3662:36;;3652:64;;3712:1;3709;3702:12;3652:64;3735:7;3725:17;;;3217:531;;;;;:::o;3935:492::-;4052:6;4060;4068;4121:2;4109:9;4100:7;4096:23;4092:32;4089:52;;;4137:1;4134;4127:12;4089:52;4173:9;4160:23;4150:33;;4234:2;4223:9;4219:18;4206:32;4261:18;4253:6;4250:30;4247:50;;;4293:1;4290;4283:12;4247:50;4316:49;4357:7;4348:6;4337:9;4333:22;4316:49;:::i;:::-;4306:59;;;4384:37;4417:2;4406:9;4402:18;4384:37;:::i;:::-;4374:47;;3935:492;;;;;:::o;4432:367::-;4552:6;4560;4613:2;4601:9;4592:7;4588:23;4584:32;4581:52;;;4629:1;4626;4619:12;4581:52;4665:9;4652:23;4642:33;;4725:2;4714:9;4710:18;4697:32;4738:31;4763:5;4738:31;:::i;:::-;4788:5;4778:15;;;4432:367;;;;;:::o;4804:211::-;4894:6;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;-1:-1:-1;4986:23:208;;4804:211;-1:-1:-1;4804:211:208:o;5020:518::-;5168:6;5176;5184;5237:2;5225:9;5216:7;5212:23;5208:32;5205:52;;;5253:1;5250;5243:12;5205:52;5289:9;5276:23;5266:33;;5346:2;5335:9;5331:18;5318:32;5308:42;;5401:2;5390:9;5386:18;5373:32;5428:18;5420:6;5417:30;5414:50;;;5460:1;5457;5450:12;5543:247;5602:6;5655:2;5643:9;5634:7;5630:23;5626:32;5623:52;;;5671:1;5668;5661:12;5623:52;5710:9;5697:23;5729:31;5754:5;5729:31;:::i;5795:532::-;5922:6;5930;5938;5991:2;5979:9;5970:7;5966:23;5962:32;5959:52;;;6007:1;6004;5997:12;5959:52;6043:9;6030:23;6020:33;;6103:2;6092:9;6088:18;6075:32;6116:31;6141:5;6116:31;:::i;:::-;6166:5;-1:-1:-1;6223:2:208;6208:18;;6195:32;6271:4;6258:18;;6246:31;;6236:59;;6291:1;6288;6281:12;6332:250;6417:1;6427:113;6441:6;6438:1;6435:13;6427:113;;;6517:11;;;6511:18;6498:11;;;6491:39;6463:2;6456:10;6427:113;;;-1:-1:-1;;6574:1:208;6556:16;;6549:27;6332:250::o;6587:330::-;6629:3;6667:5;6661:12;6694:6;6689:3;6682:19;6710:76;6779:6;6772:4;6767:3;6763:14;6756:4;6749:5;6745:16;6710:76;:::i;:::-;6831:2;6819:15;-1:-1:-1;;6815:88:208;6806:98;;;;6906:4;6802:109;;6587:330;-1:-1:-1;;6587:330:208:o;6922:464::-;7168:66;7160:6;7156:79;7145:9;7138:98;7272:6;7267:2;7256:9;7252:18;7245:34;7315:2;7310;7299:9;7295:18;7288:30;7119:4;7335:45;7376:2;7365:9;7361:18;7353:6;7335:45;:::i;7391:641::-;7671:3;7709:6;7703:13;7725:66;7784:6;7779:3;7772:4;7764:6;7760:17;7725:66;:::i;:::-;7852:4;7813:16;;;7838:19;;;7882:13;;7904:78;7882:13;7969:1;7958:13;;7951:4;7939:17;;7904:78;:::i;:::-;8002:20;8024:1;7998:28;;7391:641;-1:-1:-1;;;;7391:641:208:o;8037:322::-;8245:6;8234:9;8227:25;8288:2;8283;8272:9;8268:18;8261:30;8208:4;8308:45;8349:2;8338:9;8334:18;8326:6;8308:45;:::i;8897:357::-;9015:12;;9062:4;9051:16;;;9045:23;;9015:12;9080:16;;9077:171;;;-1:-1:-1;;9160:6:208;9154:4;9150:17;9147:1;9143:25;9139:98;9132:5;9128:110;9119:119;;9077:171;;8897:357;;;:::o;9259:184::-;-1:-1:-1;;;9308:1:208;9301:88;9408:4;9405:1;9398:15;9432:4;9429:1;9422:15;10008:925;10457:66;10449:6;10445:79;10440:3;10433:92;10415:3;10544;10576:2;10572:1;10567:3;10563:11;10556:23;10608:6;10602:13;10624:74;10691:6;10687:1;10682:3;10678:11;10671:4;10663:6;10659:17;10624:74;:::i;:::-;10726:6;10721:3;10717:16;10707:26;;10761:2;10757:1;10753:2;10749:10;10742:22;10795:6;10789:13;10773:29;;10811:75;10877:8;10873:1;10869:2;10865:10;10858:4;10850:6;10846:17;10811:75;:::i;:::-;10906:17;10925:1;10902:25;;10008:925;-1:-1:-1;;;;;10008:925:208:o;10938:340::-;11115:2;11104:9;11097:21;11078:4;11135:45;11176:2;11165:9;11161:18;11153:6;11135:45;:::i;:::-;11127:53;;-1:-1:-1;;;;;11220:6:208;11216:55;11211:2;11200:9;11196:18;11189:83;10938:340;;;;;:::o;11543:184::-;-1:-1:-1;;;11592:1:208;11585:88;11692:4;11689:1;11682:15;11716:4;11713:1;11706:15;11732:125;11797:9;;;11818:10;;;11815:36;;;11831:18;;:::i;12068:128::-;12135:9;;;12156:11;;;12153:37;;;12170:18;;:::i;12985:440::-;-1:-1:-1;;;;;13223:6:208;13219:55;13208:9;13201:74;13311:6;13306:2;13295:9;13291:18;13284:34;13354:2;13349;13338:9;13334:18;13327:30;13182:4;13374:45;13415:2;13404:9;13400:18;13392:6;13374:45;:::i;13784:439::-;13837:3;13875:5;13869:12;13902:6;13897:3;13890:19;13928:4;13957;13952:3;13948:14;13941:21;;13996:4;13989:5;13985:16;14019:1;14029:169;14043:6;14040:1;14037:13;14029:169;;;14104:13;;14092:26;;14138:12;;;;14173:15;;;;14065:1;14058:9;14029:169;;;-1:-1:-1;14214:3:208;;13784:439;-1:-1:-1;;;;;13784:439:208:o;14228:690::-;14561:3;14550:9;14543:22;14524:4;14588:57;14640:3;14629:9;14625:19;14617:6;14588:57;:::i;:::-;14693:9;14685:6;14681:22;14676:2;14665:9;14661:18;14654:50;14727:33;14753:6;14745;14727:33;:::i;:::-;14713:47;;14796:6;14791:2;14780:9;14776:18;14769:34;14851:9;14843:6;14839:22;14834:2;14823:9;14819:18;14812:50;14879:33;14905:6;14897;14879:33;:::i;14923:896::-;15374:6;15363:9;15356:25;15417:3;15412:2;15401:9;15397:18;15390:31;15337:4;15444:57;15496:3;15485:9;15481:19;15473:6;15444:57;:::i;:::-;15549:9;15541:6;15537:22;15532:2;15521:9;15517:18;15510:50;15583:33;15609:6;15601;15583:33;:::i;:::-;15569:47;;15652:6;15647:2;15636:9;15632:18;15625:34;15708:9;15700:6;15696:22;15690:3;15679:9;15675:19;15668:51;15736:33;15762:6;15754;15736:33;:::i;:::-;15728:41;;;15806:6;15800:3;15789:9;15785:19;15778:35;14923:896;;;;;;;;;:::o;15824:287::-;15953:3;15991:6;15985:13;16007:66;16066:6;16061:3;16054:4;16046:6;16042:17;16007:66;:::i;:::-;16089:16;;;;;15824:287;-1:-1:-1;;15824:287:208:o;16116:261::-;16295:2;16284:9;16277:21;16258:4;16315:56;16367:2;16356:9;16352:18;16344:6;16315:56;:::i;16382:465::-;16679:6;16668:9;16661:25;16722:2;16717;16706:9;16702:18;16695:30;16642:4;16742:56;16794:2;16783:9;16779:18;16771:6;16742:56;:::i;:::-;16734:64;;16834:6;16829:2;16818:9;16814:18;16807:34;16382:465;;;;;;:::o;17206:363::-;17444:6;17433:9;17426:25;17487:2;17482;17471:9;17467:18;17460:30;17407:4;17507:56;17559:2;17548:9;17544:18;17536:6;17507:56;:::i;17574:604::-;17882:6;17871:9;17864:25;17925:3;17920:2;17909:9;17905:18;17898:31;17845:4;17952:57;18004:3;17993:9;17989:19;17981:6;17952:57;:::i;:::-;18057:4;18049:6;18045:17;18040:2;18029:9;18025:18;18018:45;18111:9;18103:6;18099:22;18094:2;18083:9;18079:18;18072:50;18139:33;18165:6;18157;18139:33;:::i;18183:512::-;18434:2;18423:9;18416:21;18397:4;18460:56;18512:2;18501:9;18497:18;18489:6;18460:56;:::i;:::-;18564:14;18556:6;18552:27;18547:2;18536:9;18532:18;18525:55;18628:9;18620:6;18616:22;18611:2;18600:9;18596:18;18589:50;18656:33;18682:6;18674;18656:33;:::i;18700:616::-;19010:6;18999:9;18992:25;19053:3;19048:2;19037:9;19033:18;19026:31;18973:4;19080:57;19132:3;19121:9;19117:19;19109:6;19080:57;:::i;:::-;19185:14;19177:6;19173:27;19168:2;19157:9;19153:18;19146:55;19249:9;19241:6;19237:22;19232:2;19221:9;19217:18;19210:50;19277:33;19303:6;19295;19277:33;:::i;19321:639::-;19571:6;19566:3;19559:19;19541:3;19597:2;19630;19625:3;19621:12;19662:6;19656:13;19727:2;19719:6;19715:15;19748:1;19758:175;19772:6;19769:1;19766:13;19758:175;;;19835:13;;19821:28;;19871:14;;;;19908:15;;;;19794:1;19787:9;19758:175;;;-1:-1:-1;19949:5:208;;19321:639;-1:-1:-1;;;;;;;19321:639:208:o;19965:184::-;-1:-1:-1;;;20014:1:208;20007:88;20114:4;20111:1;20104:15;20138:4;20135:1;20128:15;20154:168;20227:9;;;20258;;20275:15;;;20269:22;;20255:37;20245:71;;20296:18;;:::i;20327:274::-;20367:1;20393;20383:189;;-1:-1:-1;;;20425:1:208;20418:88;20529:4;20526:1;20519:15;20557:4;20554:1;20547:15;20383:189;-1:-1:-1;20586:9:208;;20327:274::o;20606:360::-;20809:2;20798:9;20791:21;20772:4;20829:45;20870:2;20859:9;20855:18;20847:6;20829:45;:::i;:::-;20905:2;20890:18;;20883:34;;;;-1:-1:-1;20948:2:208;20933:18;20926:34;20821:53;20606:360;-1:-1:-1;20606:360:208:o;21376:174::-;21443:12;21475:10;;;21487;;;21471:27;;21510:11;;;21507:37;;;21524:18;;:::i;:::-;21507:37;21376:174;;;;:::o;22202:899::-;22624:6;22613:9;22606:25;22667:3;22662:2;22651:9;22647:18;22640:31;22587:4;22694:57;22746:3;22735:9;22731:19;22723:6;22694:57;:::i;:::-;22799:4;22787:17;;22782:2;22767:18;;22760:45;22824:12;22872:15;;;22867:2;22852:18;;22845:43;22925:15;;22919:3;22904:19;;22897:44;22972:3;22957:19;;22950:35;;;23022:22;;;23016:3;23001:19;;22994:51;23062:33;23026:6;23080;23062:33;:::i;:::-;23054:41;22202:899;-1:-1:-1;;;;;;;;;;22202:899:208:o;23106:787::-;23469:3;23458:9;23451:22;23432:4;23496:57;23548:3;23537:9;23533:19;23525:6;23496:57;:::i;:::-;23601:4;23593:6;23589:17;23584:2;23573:9;23569:18;23562:45;23655:14;23647:6;23643:27;23638:2;23627:9;23623:18;23616:55;23719:12;23711:6;23707:25;23702:2;23691:9;23687:18;23680:53;23770:6;23764:3;23753:9;23749:19;23742:35;23826:9;23818:6;23814:22;23808:3;23797:9;23793:19;23786:51;23854:33;23880:6;23872;23854:33;:::i;:::-;23846:41;23106:787;-1:-1:-1;;;;;;;;;23106:787:208:o;23898:175::-;23935:3;23979:4;23972:5;23968:16;24008:4;23999:7;23996:17;23993:43;;24016:18;;:::i;:::-;24065:1;24052:15;;23898:175;-1:-1:-1;;23898:175:208:o;24078:530::-;24263:3;24301:6;24295:13;24317:66;24376:6;24371:3;24364:4;24356:6;24352:17;24317:66;:::i;:::-;24452:2;24448:15;;;;-1:-1:-1;;24444:88:208;24405:16;;;;24430:103;;;24560:2;24549:14;;24542:30;;;;24599:2;24588:14;;24078:530;-1:-1:-1;;24078:530:208:o","linkReferences":{},"immutableReferences":{"34868":[{"start":2602,"length":32}]}},"methodIdentifiers":{"_msgSender()":"119df25f","_msgValue()":"45ec9354","_world()":"e1af802c","registerDelegation(address,bytes32,bytes)":"1d2257ba","registerFunctionSelector(bytes32,string)":"26d98102","registerNamespace(bytes32)":"b29e4089","registerNamespaceDelegation(bytes32,bytes32,bytes)":"bfdfaff7","registerRootFunctionSelector(bytes32,string,bytes4)":"742d6118","registerSystem(bytes32,address,bool)":"3350b6a9","registerSystemHook(bytes32,address,uint8)":"d5f8337f","supportsInterface(bytes4)":"01ffc9a7","unregisterDelegation(address)":"cdc938c5","unregisterNamespaceDelegation(bytes32)":"aa66e9c8","unregisterSystemHook(bytes32,address)":"a92813ad"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"PackedCounter_InvalidLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Slice_OutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessedIndex\",\"type\":\"uint256\"}],\"name\":\"Store_IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"resource\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_CallbackNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"World_DelegationNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"functionSelector\",\"type\":\"bytes4\"}],\"name\":\"World_FunctionSelectorNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"World_InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"World_InterfaceNotSupported\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes14\",\"name\":\"namespace\",\"type\":\"bytes14\"}],\"name\":\"World_InvalidNamespace\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceId\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"World_ResourceNotFound\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"system\",\"type\":\"address\"}],\"name\":\"World_SystemAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"World_UnlimitedDelegationNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"Store_DeleteRecord\",\"type\":\"event\"},{\"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\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceDynamicData\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"Store_SpliceStaticData\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"_msgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_msgValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_world\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"systemFunctionSignature\",\"type\":\"string\"}],\"name\":\"registerFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"registerNamespace\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"},{\"internalType\":\"ResourceId\",\"name\":\"delegationControlId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"initCallData\",\"type\":\"bytes\"}],\"name\":\"registerNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"worldFunctionSignature\",\"type\":\"string\"},{\"internalType\":\"bytes4\",\"name\":\"systemFunctionSelector\",\"type\":\"bytes4\"}],\"name\":\"registerRootFunctionSelector\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"worldFunctionSelector\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract System\",\"name\":\"system\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"publicAccess\",\"type\":\"bool\"}],\"name\":\"registerSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"enabledHooksBitmap\",\"type\":\"uint8\"}],\"name\":\"registerSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"unregisterDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"namespaceId\",\"type\":\"bytes32\"}],\"name\":\"unregisterNamespaceDelegation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"contract ISystemHook\",\"name\":\"hookAddress\",\"type\":\"address\"}],\"name\":\"unregisterSystemHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"MUD (https://mud.dev) by Lattice (https://lattice.xyz)\",\"details\":\"This contract provides functions related to registering resources other than tables in the World.\",\"errors\":{\"World_AccessDenied(string,address)\":[{\"params\":{\"caller\":\"The address of the user trying to access the resource.\",\"resource\":\"The resource's identifier.\"}}],\"World_CallbackNotAllowed(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector of the disallowed callback.\"}}],\"World_DelegationNotFound(address,address)\":[{\"params\":{\"delegatee\":\"The address of the delegatee.\",\"delegator\":\"The address of the delegator.\"}}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"params\":{\"functionSelector\":\"The function selector in question.\"}}],\"World_InsufficientBalance(uint256,uint256)\":[{\"params\":{\"amount\":\"The amount needed.\",\"balance\":\"The current balance.\"}}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"params\":{\"contractAddress\":\"The address of the contract in question.\",\"interfaceId\":\"The ID of the interface.\"}}],\"World_InvalidNamespace(bytes14)\":[{\"params\":{\"namespace\":\"The invalid namespace.\"}}],\"World_InvalidResourceId(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"params\":{\"expected\":\"The expected resource type.\",\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_ResourceNotFound(bytes32,string)\":[{\"params\":{\"resourceId\":\"The ID of the resource.\",\"resourceIdString\":\"The string representation of the resource ID.\"}}],\"World_SystemAlreadyExists(address)\":[{\"params\":{\"system\":\"The address of the system.\"}}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"An array representing the composite key for the record.\",\"tableId\":\"The ID of the table where the record is deleted.\"}},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"params\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"staticData\":\"The static data of the record.\",\"tableId\":\"The ID of the table where the record is set.\"}},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"params\":{\"data\":\"The data to insert into the dynamic data of the record at the start byte.\",\"deleteCount\":\"The number of bytes to delete in the splice operation.\",\"dynamicFieldIndex\":\"The index of the dynamic field to splice data, relative to the start of the dynamic fields. (Dynamic field index = field index - number of static fields)\",\"encodedLengths\":\"The encoded lengths of the dynamic data of the record.\",\"keyTuple\":\"An array representing the composite key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"details\":\"In static data, data is always overwritten starting at the start position, so the total length of the data remains the same and no data is shifted.\",\"params\":{\"data\":\"The data to write to the static data of the record at the start byte.\",\"keyTuple\":\"An array representing the key for the record.\",\"start\":\"The start position in bytes for the splice operation.\",\"tableId\":\"The ID of the table where the data is spliced.\"}}},\"kind\":\"dev\",\"methods\":{\"_msgSender()\":{\"returns\":{\"sender\":\"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_msgValue()\":{\"returns\":{\"value\":\"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract.\"}},\"_world()\":{\"returns\":{\"_0\":\"The address of the World contract that routed the call to this WorldContextConsumer.\"}},\"registerDelegation(address,bytes32,bytes)\":{\"details\":\"Creates a new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\",\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\"}},\"registerFunctionSelector(bytes32,string)\":{\"details\":\"Creates a mapping between a World function and its associated system function\",\"params\":{\"systemFunctionSignature\":\"The signature of the system function\",\"systemId\":\"The system ID\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerNamespace(bytes32)\":{\"details\":\"Creates a new namespace resource with the given ID\",\"params\":{\"namespaceId\":\"The unique identifier for the new namespace\"}},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"details\":\"Sets up a new delegation control for a specific namespace\",\"params\":{\"delegationControlId\":\"The ID controlling the delegation\",\"initCallData\":\"The initialization data for the delegation\",\"namespaceId\":\"The ID of the namespace\"}},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"details\":\"Creates a mapping for a root World function without namespace or name prefix\",\"params\":{\"systemFunctionSelector\":\"The selector of the system function\",\"systemId\":\"The system ID\",\"worldFunctionSignature\":\"The signature of the World function\"},\"returns\":{\"worldFunctionSelector\":\"The selector of the World function\"}},\"registerSystem(bytes32,address,bool)\":{\"details\":\"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.\",\"params\":{\"publicAccess\":\"Flag indicating if access control check is bypassed\",\"system\":\"The system being registered\",\"systemId\":\"The unique identifier for the system\"}},\"registerSystemHook(bytes32,address,uint8)\":{\"details\":\"Adds a new hook for the system at the provided system ID\",\"params\":{\"enabledHooksBitmap\":\"Bitmap indicating which hooks are enabled\",\"hookAddress\":\"The address of the hook being registered\",\"systemId\":\"The ID of the system\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The ID of the interface in question.\"},\"returns\":{\"_0\":\"True if the interface is supported, false otherwise.\"}},\"unregisterDelegation(address)\":{\"details\":\"Deletes the new delegation from the caller to the specified delegatee\",\"params\":{\"delegatee\":\"The address of the delegatee\"}},\"unregisterNamespaceDelegation(bytes32)\":{\"details\":\"Deletes the delegation control for a specific namespace\",\"params\":{\"namespaceId\":\"The ID of the namespace\"}},\"unregisterSystemHook(bytes32,address)\":{\"details\":\"Removes a hook for the system at the provided system ID\",\"params\":{\"hookAddress\":\"The address of the hook being unregistered\",\"systemId\":\"The ID of the system\"}}},\"title\":\"WorldRegistrationSystem\",\"version\":1},\"userdoc\":{\"errors\":{\"World_AccessDenied(string,address)\":[{\"notice\":\"Raised when a user tries to access a resource they don't have permission for.\"}],\"World_AlreadyInitialized()\":[{\"notice\":\"Raised when trying to initialize an already initialized World.\"}],\"World_CallbackNotAllowed(bytes4)\":[{\"notice\":\"Raised when the World is calling itself via an external call.\"}],\"World_DelegationNotFound(address,address)\":[{\"notice\":\"Raised when the specified delegation is not found.\"}],\"World_FunctionSelectorAlreadyExists(bytes4)\":[{\"notice\":\"Raised when trying to register a function selector that already exists.\"}],\"World_FunctionSelectorNotFound(bytes4)\":[{\"notice\":\"Raised when the specified function selector is not found.\"}],\"World_InsufficientBalance(uint256,uint256)\":[{\"notice\":\"Raised when there's an insufficient balance for a particular operation.\"}],\"World_InterfaceNotSupported(address,bytes4)\":[{\"notice\":\"Raised when the specified interface is not supported by the contract.\"}],\"World_InvalidNamespace(bytes14)\":[{\"notice\":\"Raised when an namespace contains an invalid sequence of characters (\\\"__\\\").\"}],\"World_InvalidResourceId(bytes32,string)\":[{\"notice\":\"Raised when an invalid resource ID is provided.\"}],\"World_InvalidResourceType(bytes2,bytes32,string)\":[{\"notice\":\"Raised when an invalid resource type is provided.\"}],\"World_ResourceAlreadyExists(bytes32,string)\":[{\"notice\":\"Raised when trying to register a resource that already exists.\"}],\"World_ResourceNotFound(bytes32,string)\":[{\"notice\":\"Raised when the specified resource is not found.\"}],\"World_SystemAlreadyExists(address)\":[{\"notice\":\"Raised when trying to register a system that already exists.\"}],\"World_UnlimitedDelegationNotAllowed()\":[{\"notice\":\"Raised when trying to create an unlimited delegation in a context where it is not allowed, e.g. when registering a namespace fallback delegation.\"}]},\"events\":{\"Store_DeleteRecord(bytes32,bytes32[])\":{\"notice\":\"Emitted when a record is deleted from the store.\"},\"Store_SetRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Emitted when a new record is set in the store.\"},\"Store_SpliceDynamicData(bytes32,bytes32[],uint8,uint48,uint40,bytes32,bytes)\":{\"notice\":\"Emitted when dynamic data in the store is spliced.\"},\"Store_SpliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Emitted when static data in the store is spliced.\"}},\"kind\":\"user\",\"methods\":{\"_msgSender()\":{\"notice\":\"Extract the `msg.sender` from the context appended to the calldata.\"},\"_msgValue()\":{\"notice\":\"Extract the `msg.value` from the context appended to the calldata.\"},\"_world()\":{\"notice\":\"Get the address of the World contract that routed the call to this WorldContextConsumer.\"},\"registerDelegation(address,bytes32,bytes)\":{\"notice\":\"Registers a delegation for the caller\"},\"registerFunctionSelector(bytes32,string)\":{\"notice\":\"Registers a new World function selector\"},\"registerNamespace(bytes32)\":{\"notice\":\"Registers a new namespace\"},\"registerNamespaceDelegation(bytes32,bytes32,bytes)\":{\"notice\":\"Registers a delegation for a namespace\"},\"registerRootFunctionSelector(bytes32,string,bytes4)\":{\"notice\":\"Registers a root World function selector\"},\"registerSystem(bytes32,address,bool)\":{\"notice\":\"Registers a system\"},\"registerSystemHook(bytes32,address,uint8)\":{\"notice\":\"Registers a new system hook\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)\"},\"unregisterDelegation(address)\":{\"notice\":\"Unregisters a delegation\"},\"unregisterNamespaceDelegation(bytes32)\":{\"notice\":\"Unregisters a delegation for a namespace\"},\"unregisterSystemHook(bytes32,address)\":{\"notice\":\"Unregisters a system hook\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":\"WorldRegistrationSystem\"},\"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\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea\",\"dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40\",\"dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3\",\"dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky\"]},\"node_modules/@latticexyz/store/src/IERC165.sol\":{\"keccak256\":\"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2\",\"dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg\"]},\"node_modules/@latticexyz/store/src/IStore.sol\":{\"keccak256\":\"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd\",\"dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1\",\"dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S\"]},\"node_modules/@latticexyz/store/src/IStoreErrors.sol\":{\"keccak256\":\"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84\",\"dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6\"]},\"node_modules/@latticexyz/store/src/IStoreEvents.sol\":{\"keccak256\":\"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71\",\"dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09\",\"dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c\",\"dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a\",\"dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a\",\"dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392\",\"dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d\",\"dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539\",\"dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619\",\"dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2\",\"dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee\",\"dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0xb1a9b7aace51268930fcf876ac9e2ecacbbc48eca52ce57b35666e02f616bc90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0885ac113cf1c10187eeec9ca78b6fab01e83d5d6e42cba870d89f22e33f101e\",\"dweb:/ipfs/QmXGcXjD1zt6gB7y8SGeADc5UruxkDqbGHeb8AEmpe2gCE\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37\",\"dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4\",\"dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8\",\"dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8\",\"dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912\",\"dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c\",\"dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289\",\"dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754\",\"dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3\",\"dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586\",\"dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e\",\"dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea\",\"dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3\",\"dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b\",\"dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899\",\"dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5\",\"dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf\",\"dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3\",\"dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7\",\"dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f\",\"dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255\",\"dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf\",\"dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B\"]},\"node_modules/@latticexyz/world/src/System.sol\":{\"keccak256\":\"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f\",\"dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5\",\"dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e\",\"dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff\",\"dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd\",\"dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121\",\"dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol\":{\"keccak256\":\"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db\",\"dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b\",\"dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d\",\"dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73\",\"dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c\",\"dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62\",\"dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf\",\"dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0\",\"dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol\":{\"keccak256\":\"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25\",\"dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu\"]},\"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol\":{\"keccak256\":\"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9\",\"dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940\",\"dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW\"]},\"node_modules/@latticexyz/world/src/requireNamespace.sol\":{\"keccak256\":\"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5\",\"dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc\"]},\"node_modules/@latticexyz/world/src/requireValidNamespace.sol\":{\"keccak256\":\"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241\",\"dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359\",\"dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d\",\"dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"PackedCounter_InvalidLength"},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Slice_OutOfBounds"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"accessedIndex","type":"uint256"}],"type":"error","name":"Store_IndexOutOfBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[],"type":"error","name":"UnauthorizedCallContext"},{"inputs":[{"internalType":"string","name":"resource","type":"string"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"World_AccessDenied"},{"inputs":[],"type":"error","name":"World_AlreadyInitialized"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_CallbackNotAllowed"},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"address","name":"delegatee","type":"address"}],"type":"error","name":"World_DelegationNotFound"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorAlreadyExists"},{"inputs":[{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"type":"error","name":"World_FunctionSelectorNotFound"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"World_InsufficientBalance"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"type":"error","name":"World_InterfaceNotSupported"},{"inputs":[{"internalType":"bytes14","name":"namespace","type":"bytes14"}],"type":"error","name":"World_InvalidNamespace"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceId"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_InvalidResourceType"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceAlreadyExists"},{"inputs":[{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"World_ResourceNotFound"},{"inputs":[{"internalType":"address","name":"system","type":"address"}],"type":"error","name":"World_SystemAlreadyExists"},{"inputs":[],"type":"error","name":"World_UnlimitedDelegationNotAllowed"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false}],"type":"event","name":"Store_DeleteRecord","anonymous":false},{"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":"uint8","name":"dynamicFieldIndex","type":"uint8","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"uint40","name":"deleteCount","type":"uint40","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceDynamicData","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"Store_SpliceStaticData","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"_msgSender","outputs":[{"internalType":"address","name":"sender","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"_msgValue","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_world","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"systemFunctionSignature","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"registerFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespace"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"},{"internalType":"ResourceId","name":"delegationControlId","type":"bytes32"},{"internalType":"bytes","name":"initCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"string","name":"worldFunctionSignature","type":"string"},{"internalType":"bytes4","name":"systemFunctionSelector","type":"bytes4"}],"stateMutability":"nonpayable","type":"function","name":"registerRootFunctionSelector","outputs":[{"internalType":"bytes4","name":"worldFunctionSelector","type":"bytes4"}]},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract System","name":"system","type":"address"},{"internalType":"bool","name":"publicAccess","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"registerSystem"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"},{"internalType":"uint8","name":"enabledHooksBitmap","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"registerSystemHook"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"pure","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterDelegation"},{"inputs":[{"internalType":"ResourceId","name":"namespaceId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"unregisterNamespaceDelegation"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"contract ISystemHook","name":"hookAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"unregisterSystemHook"}],"devdoc":{"kind":"dev","methods":{"_msgSender()":{"returns":{"sender":"The `msg.sender` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_msgValue()":{"returns":{"value":"The `msg.value` in the call to the World contract before the World routed the call to the WorldContextConsumer contract."}},"_world()":{"returns":{"_0":"The address of the World contract that routed the call to this WorldContextConsumer."}},"registerDelegation(address,bytes32,bytes)":{"details":"Creates a new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee","delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation"}},"registerFunctionSelector(bytes32,string)":{"details":"Creates a mapping between a World function and its associated system function","params":{"systemFunctionSignature":"The signature of the system function","systemId":"The system ID"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerNamespace(bytes32)":{"details":"Creates a new namespace resource with the given ID","params":{"namespaceId":"The unique identifier for the new namespace"}},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"details":"Sets up a new delegation control for a specific namespace","params":{"delegationControlId":"The ID controlling the delegation","initCallData":"The initialization data for the delegation","namespaceId":"The ID of the namespace"}},"registerRootFunctionSelector(bytes32,string,bytes4)":{"details":"Creates a mapping for a root World function without namespace or name prefix","params":{"systemFunctionSelector":"The selector of the system function","systemId":"The system ID","worldFunctionSignature":"The signature of the World function"},"returns":{"worldFunctionSelector":"The selector of the World function"}},"registerSystem(bytes32,address,bool)":{"details":"Registers or upgrades a system at the given ID If the namespace doesn't exist yet, it is registered. The system is granted access to its namespace, so it can write to any table in the same namespace. If publicAccess is true, no access control check is performed for calling the system. This function doesn't check whether a system already exists at the given selector, making it possible to upgrade systems.","params":{"publicAccess":"Flag indicating if access control check is bypassed","system":"The system being registered","systemId":"The unique identifier for the system"}},"registerSystemHook(bytes32,address,uint8)":{"details":"Adds a new hook for the system at the provided system ID","params":{"enabledHooksBitmap":"Bitmap indicating which hooks are enabled","hookAddress":"The address of the hook being registered","systemId":"The ID of the system"}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The ID of the interface in question."},"returns":{"_0":"True if the interface is supported, false otherwise."}},"unregisterDelegation(address)":{"details":"Deletes the new delegation from the caller to the specified delegatee","params":{"delegatee":"The address of the delegatee"}},"unregisterNamespaceDelegation(bytes32)":{"details":"Deletes the delegation control for a specific namespace","params":{"namespaceId":"The ID of the namespace"}},"unregisterSystemHook(bytes32,address)":{"details":"Removes a hook for the system at the provided system ID","params":{"hookAddress":"The address of the hook being unregistered","systemId":"The ID of the system"}}},"version":1},"userdoc":{"kind":"user","methods":{"_msgSender()":{"notice":"Extract the `msg.sender` from the context appended to the calldata."},"_msgValue()":{"notice":"Extract the `msg.value` from the context appended to the calldata."},"_world()":{"notice":"Get the address of the World contract that routed the call to this WorldContextConsumer."},"registerDelegation(address,bytes32,bytes)":{"notice":"Registers a delegation for the caller"},"registerFunctionSelector(bytes32,string)":{"notice":"Registers a new World function selector"},"registerNamespace(bytes32)":{"notice":"Registers a new namespace"},"registerNamespaceDelegation(bytes32,bytes32,bytes)":{"notice":"Registers a delegation for a namespace"},"registerRootFunctionSelector(bytes32,string,bytes4)":{"notice":"Registers a root World function selector"},"registerSystem(bytes32,address,bool)":{"notice":"Registers a system"},"registerSystemHook(bytes32,address,uint8)":{"notice":"Registers a new system hook"},"supportsInterface(bytes4)":{"notice":"Checks if an interface is supported by the contract. using ERC-165 supportsInterface (see https://eips.ethereum.org/EIPS/eip-165)"},"unregisterDelegation(address)":{"notice":"Unregisters a delegation"},"unregisterNamespaceDelegation(bytes32)":{"notice":"Unregisters a delegation for a namespace"},"unregisterSystemHook(bytes32,address)":{"notice":"Unregisters a system hook"}},"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":{"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":"WorldRegistrationSystem"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"0x3ac04fbbbab8c94b12b5b285e6b96d3323b88677e8efaa4adac2bc98b0903ee4","urls":["bzz-raw://84d29c5ce5a343acbc5555fc70a726e9dc39c90468a7d4cbdf3fee5dd196aeea","dweb:/ipfs/QmSjdbZmcTwxLHsZNxSNp8TK2pmtAoUqcJ6EaCpBj19D5f"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0x330764978de66a98b0c40476892af5a74a2a0081c9414c9e958ca53c613db0cf","urls":["bzz-raw://adf51f83161aa7ba24a939ccfaf567b986034a687f998f59a75e17f68de83f40","dweb:/ipfs/QmWUjaXVjPj68eSWqixH8aPwpvgtUH9j4FdPZN8QBvm68Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0xd016a2e1260f5a81ff9a8dfac58d7947e114414df8cce7302a2629908ea5f18e","urls":["bzz-raw://0c558a6f3a5f540c0190fa6d642a094a185c5db1acfc2437c7dbde0340f00ac3","dweb:/ipfs/QmViAHvR7U7HNfBiBZEMFiy1TTSHDFNiDzBfQSeLBShCky"],"license":"MIT"},"node_modules/@latticexyz/store/src/IERC165.sol":{"keccak256":"0x0efbf9afc716c585621482221f75e5bd60bcf0e813c9f7800d7c0309dcc3c927","urls":["bzz-raw://31b6aeb5446a0a0d5bd71be15a68c5bde94b08c961369203b83c8abe36f401d2","dweb:/ipfs/QmXhComne4es9ZMKaGNqHCdJZrFoFssxMYgLaqvCXPL1Mg"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStore.sol":{"keccak256":"0xe68926b6ba2718fb2a15b5b8106c01180653962d81ed48985a96e09867cebaa0","urls":["bzz-raw://0361faa496c4e2d94f09d8d6e0f737c5c1fadec80bfe8df9d22cefbdbdae7ecd","dweb:/ipfs/Qmea7kL12do4RS9w6oeqi3zYXGLPzPYrU3nQds1w7mVVn2"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0xe3fb1996fa571471bf488d29519f70d71afb6071d6f164ad6c0ab10e2eb7dac1","urls":["bzz-raw://73f4882c6d337064bc95287877f94955bcb2add4b9b3b4b931083522b1e9f9a1","dweb:/ipfs/QmezagzYNuFW4A23xQWZA9abuShoFrANAX4wVzmJ6Sp15S"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreErrors.sol":{"keccak256":"0x4b471eb3b98a51f15992f7e4cfb7a7d8e842410f081ea03ef85d3a7b34c35f79","urls":["bzz-raw://e7e82faaea290036677562d8a3a8502f5f871b1368b58ac38897e0ef67216d84","dweb:/ipfs/QmfCj4CtNZ7LYkWUAYcMoyp3X7PFJkUjXgBwbzXkbkDFL6"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreEvents.sol":{"keccak256":"0xf255c05df7f87c53316aea76a5212e6f9bf86ad95408d6189b0fcfaf7d5a0006","urls":["bzz-raw://06873e63d2db6e00ddddec986cebfd4547e4de8c348437132ad76322e9f76c71","dweb:/ipfs/QmT1Fm6FSWt27Jskm5ZPxqWN3S1hsiEy63oR4yuU2qmzUv"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x3e9eb573557af7e7cf40281ba7b3ebdffb4e3b13ecc49827b307a5f061028087","urls":["bzz-raw://36391ca958dbb9fac695b28ebc5be2e9c47cbff3bab85ba779b08870ee32ef09","dweb:/ipfs/QmZBhQPg2X4HxHaBUyEL7dn4bnuGoKpiHHTTKSYUGNBLh7"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xabefed80f6691fd3b3362a5434e4c24a38d2ca5c51279b722aa25d897b5427d0","urls":["bzz-raw://a711569d612187f6738a4bb39d8d8419a03ff3da91c45209b4096e5dcdfca53c","dweb:/ipfs/QmWTGSZyrGmbpwfttR8nLzFYqbjg1L3G9P8xfrtzg8QVpH"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0x9e91a73f93cc9ebc00c265c83177f6a3f8a156749a9261202e2845e12aeaa96b","urls":["bzz-raw://a39280d87d22dd0a959d8f55925cb092dba1fee2f11d3dd8e3ffabed45a9ab6a","dweb:/ipfs/QmRMBFLJtT2KN43Xz9P3vUNWxXrP8rLTNBFw2P6Z7EGeaS"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x3f115843507290fa8b5dabee0a69b03397274fb1291d79ecb51ab80055bea5dd","urls":["bzz-raw://0733e8df7e6e5ca91800c97d4914e9743fbe84a4a16bad01c76c1539d0d8046a","dweb:/ipfs/QmeRqJ1tBBgEMc1z29m4UM46QSjxDvrmV2v86J8bNCb4o5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0xef6e7000b181c2991aeacbf99a9d886f8c4df88878b857713f851185b63a7811","urls":["bzz-raw://b079b4773d140ab2c01bdb04facfa56a78f753aea7122fa445b2bfa133411392","dweb:/ipfs/QmWYWKFpwtsPeGdCSxcANgxXUbwAuMMgR7iMVPDSCZxz2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x52f6cb7751e1e6c6770d4a6637313bf13c5ea02c3b595b4da527ccf1b9090c1e","urls":["bzz-raw://bc8a02d97e3e6f152bb03346ddf9b2ffe16697ee7fd17aeff7187bb43ae3c33d","dweb:/ipfs/QmfDqZRmxgpunmnj6h3pBvACVyKr65LSc4Z4ZFwoNBQ8pR"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0x167af6321dc89c2e5850e31949b1d64ab70bb1cc809daa54a030e8ff30f35411","urls":["bzz-raw://e4b1a2d5da7e4f79349f5257a62b4c6ffe110d6e18fe407099aec71a2f3b2539","dweb:/ipfs/QmQXqehp55UecYyuYTiPBKSnuedqYybXfCCjoPPrZ2hnRw"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0xfb31db07f1cdc199842650deee35ec74902e93542464d81c43e799413fb724a9","urls":["bzz-raw://2b8ff1b4aa291df8caea7bd04aca6049e3507d166c005fa49b658640e6753619","dweb:/ipfs/QmQnbkvTsRLFMMbEGucwkBs3N5eNr6JTUPpsGP17G31EYe"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0xa718d6adb347637f363591d1c6f69bf434606754ca55cf235421c445142d46a5","urls":["bzz-raw://0494d0dbf663af270ddfb50ad45f03e663a831e1a0bb5b409cb217537c14a4d2","dweb:/ipfs/QmYFDKjbDxnAF2ny8byydUz3BEoXm6TNsk2hNtbT7VEXRA"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x7e735a4c7fa8b8a5fe2371d90801e3287ddb78efed69b31e1a76f0b7b153c4c3","urls":["bzz-raw://9e6db36bd52144b6feeecd91a58fc311127a3892fc96c4171db5b570fe9876ee","dweb:/ipfs/QmS6LqnTZvpMc4eiz5JowBoNnh3RYemG6JHjqtYucT1rQi"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0xb1a9b7aace51268930fcf876ac9e2ecacbbc48eca52ce57b35666e02f616bc90","urls":["bzz-raw://0885ac113cf1c10187eeec9ca78b6fab01e83d5d6e42cba870d89f22e33f101e","dweb:/ipfs/QmXGcXjD1zt6gB7y8SGeADc5UruxkDqbGHeb8AEmpe2gCE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0x868d515c7579d909f73cc5353e7a58fdb361d0c9dde83b11fa1529f0c2dd21fe","urls":["bzz-raw://fdeb6ca2dc6cae645c13cba6a5b08ff495858e32f16f8b54d19784d4da012d37","dweb:/ipfs/QmPyHrJFDUddguyWcYEwfbTisRkzmwDx169feEZCJq8v9Z"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0x094a6f1e2910b345b6b254e0fc2c8882b3190c673f7ee19742e857057a4d3f85","urls":["bzz-raw://18908e2e7e878635abea72ef99851fddd204371e6b641f010e831ebfa0b1bfd4","dweb:/ipfs/QmSNAxXqxTrzPkZ4rSAQgBnuer1yLPq74hoqnzrZV3WGsb"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x02cc84859c7f2b57f2ca5e0bf27e6cb5c5a911f3891c6b12878fb31d18fd2f66","urls":["bzz-raw://0724e7df4b0752acab63a6f900e84aaafc2eac62f67ab499e9ee02da9abd73c8","dweb:/ipfs/QmQnvC3yBiCR61PfY2uiDG7JiLdy9Cw1a7YhLUd8bLFzab"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0xca6f60a79f25447aeb390156c987e77fef837e1b23db294076425759e9dc60f8","urls":["bzz-raw://bf6c4c5e25a0ed37abcba6346dc59259bb634634edf8cc86bd14db92a32768c8","dweb:/ipfs/QmbQxGchi71XtGAK5uF1H96Xfhh7fAx9c9LpEwc4q5hUxt"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0x59c633598dae70cb65fd0cd5fda434f2beed4421463340ba5ea99ba07843f9c2","urls":["bzz-raw://57738241ca53b9cd7883f7e24e7b1c98ca6cde65bae60c73a65f5a0372aa4912","dweb:/ipfs/Qmac9wp9ScJbS9KCCdzLqQikvNn7br293vzfkqXQcjtmeE"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0x5339c32885c7977bda845c0d82f50ad3e17f465c2a94163cfeba2ed809215cc4","urls":["bzz-raw://3f50e7b2db53ee935fa40af5f2692fc48442cabbbf45641e018607e43f091a5c","dweb:/ipfs/QmVRovK8SqG6PE5Mx1VmjUbKf9Me7yoG898t2MQkgSevwr"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x88689af9b661f7eb723123fbe212876c2f342cfdb3a01ea7f4e94e9c8f819877","urls":["bzz-raw://f39abf5a2306a4346d9909f98d7808474c85ed46d552a503d2a69f4dccb54289","dweb:/ipfs/QmcBLXR8ckXfoBCntFF8YcoTymKNJv7PkmFpgy4zZtTRUd"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0x28887aab8ad5ca598927e59d702999ca6e3b3128f1cddd2b995a381c8d04b275","urls":["bzz-raw://7710847f4689b7f5b81436c7d52ae4395f244a2eebf8d398b2edd43accb06754","dweb:/ipfs/QmTD2wYqryXTynHAn5Vf9wtjUUSGeCJWENZTnWtBAK38pa"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0x4f29001e53690ce74fe405a6d0376a564c9c743d1631d36fab04331865e4d572","urls":["bzz-raw://138c80abd63225a3eeb01ebfa1f9288e188a7ee5b2266b275fb4ed31b5aa30e3","dweb:/ipfs/QmdEx9uHgCCbTcetGwFH5a66Ft7ajmrMDXvP1fW7WjnnE2"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x1c4cb6b3ecf76f614479ab304d7de3ade0e99c7ccfd07717b57c92f699a27261","urls":["bzz-raw://2c9b0e0c9b3b5610d6fd65a8ffd7c54df390a34ccc70d58f4a055c49ad1ea586","dweb:/ipfs/QmP6ffpnR7aRyvq9AiUkVNH6LbGfFP3NDq7E2n2PVcHhp2"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0x310523f7f3acca841e62fe50be8d8b042cad5b3c239cb1105d6623cf83e63152","urls":["bzz-raw://1cc40ca233acf6502bc65677b381c05331dd7323953e54b5df969051e47f851e","dweb:/ipfs/QmTxy9mhodT8drezB5K1kPR78AMaARomoJqDyaWpLuCKui"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x259ee545fd9dfd4767f0b7fef31f52fd3c54c4a1c6657d6fbda4927800c937b3","urls":["bzz-raw://0a4e31efa9f476cd267af7c3e11fe0151252206a1f6407a80a4092444c2de8ea","dweb:/ipfs/QmRF4gWYw33mFTMh7nX8DJ1qzx3Ko6yMsnxubzYTRppdyo"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x0e74ff88ec94cb33f79d8afc1497c4fdccf02db40ab47f3701c7d02fc305d4d8","urls":["bzz-raw://36b7cd0c2a3f2dcdc83ab7ac5a93f123746ce29c0f1000f2b275ad2c647ff0f3","dweb:/ipfs/QmYdipHYUhHhS78wLdtmKZUK14FEwpto5mFy3rNeZssMLz"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0xfc030c5075377169d4384cf89e8a1037dacab1ee53bcb867d5ace75e4ee5df46","urls":["bzz-raw://d1c310ce30a1a39380108e75c5f893f58be159cf4b80706b43b8466f4bc4aa0b","dweb:/ipfs/QmXWTsz6Gk8XQKmNNNLHaRuHxJis1dHmoStWoANAYwfmcz"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xe9e1b1e588699a15ee81cc46f5959e14ff323787b576681abe7b0163d5988a4e","urls":["bzz-raw://f19076661965fcf60fbf5e58ee8a83daac63e174806af79f5fd4144929cab899","dweb:/ipfs/QmVQxPrkHpSo1fbsqGvToXc6q9x8zrVrGaZjKTKY413QBm"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0x1ad6ce468042f6ba104c8fa2cd5506e434e1bd458448492ae9e8d1993a7e5f1d","urls":["bzz-raw://ded3d879ad5a4119f9ff2320ff27f63a06bc3853e91d3697b3406ee3e6ab65d5","dweb:/ipfs/QmTMjjArXQxXa3WeFF4dvvkAFSEstHTTsNYDCckgCBUVeE"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0xc63b86705fd62b862e422f830604b7e14e18f1fab662b70a02f656f6ace4fdc7","urls":["bzz-raw://9d674c90bcc5b21e93b0b2a685c6cff86a69962cf900811af677ce77c3598dcf","dweb:/ipfs/QmVE4pv8AFQWP9RRdaqGo6FP1AR8svMaUQsPnEHZc5VLgF"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x7cc2fbdd8ff6c996e19fab46c1031b76355da74973cebf45ce4df4b035d566bf","urls":["bzz-raw://857d577f84a68018a3392ec4540c15e80326aaf4b0f224d0d239605abacfc0f3","dweb:/ipfs/QmVEr3rTH1F1BFaCTMd7MmuceTqASwKBcMRnuFZ4tUAYmR"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe3d9074a1be3247be67ff4dd2c9e41481650ddaa799285a249736bb85673e33d","urls":["bzz-raw://0b6743ee1e6d0c74927bf17fc1da0cad7575aa7634871b94190ffbdb4c28c2a7","dweb:/ipfs/Qma5bNsPJSBTesWxg3eAAMUBTDE7UjqWaHF7eMiGwP87jr"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0x81f1743d7ca6a9c7efc4997cf95e603ccb2070885265ca0e540f461aa7430721","urls":["bzz-raw://93d99e78b541b33ecd501bf0cd407a78cef490fec8eaef2f188bddb9e293a99f","dweb:/ipfs/QmPrcMDxwhvBZTr2AxoGqJA9L3Mjx27KBc98h3gXSsa3PM"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xb39e9d8cff4162e255f6c460ef9f9f0ad5b804627f745d967b2f10d0dd509299","urls":["bzz-raw://18d957cd87febccc00d82b9454047f0f5236250c9245befc0f57978671675255","dweb:/ipfs/QmdZ1eXBd15vLpLVqTNJDAAaTzzucpRLD8GPJahLKT4J7x"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x0abae6f4ed1b3070bddd0ed194c08b83a948b61ae959396202cf627bf1056a2b","urls":["bzz-raw://a7037954f281cc0188a5aafc1d0cca0aabc110fd0234e6c43dca35ad69ed3baf","dweb:/ipfs/Qmbv2nfK1qPpnoAbqNJFqWwo7AuyaX2ZEgZMFspMv7DR5B"],"license":"MIT"},"node_modules/@latticexyz/world/src/System.sol":{"keccak256":"0xadcb32bdc444a4420909b738d81fa662dc63739455fe93d5aa89c93a3ccfd2dd","urls":["bzz-raw://d303094c84ebfb0f9f114c54ff4dfc68bfa1e526d0ebe304be6fbeb7cb2f0d3f","dweb:/ipfs/QmYvUx1mNDhkxZFqxLeswW3w9HkvVqeoJiJKj1HN1SB7Gi"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x5012c0607c8d41a4eed69d8a0430f742844883d3c3f17a6717ac287608b4e6af","urls":["bzz-raw://c389f65d050849cc95a7df9f45145186a60ae892b7d02b26ec92f8a38f8e2ee5","dweb:/ipfs/QmNQPBewaXghhVeJDaC1XUK6BbFrZ5qUjryhmJuyvgWdbF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x50ca52bdd89a9f27d6b03ad00ef45c8c5a6884ea9d75e18f8fa53524ac2feed9","urls":["bzz-raw://55febdece37b291527094fb654919d4c8fe0b231792996a14c5e5cc76512b19e","dweb:/ipfs/QmZHFbDDNmdFHWc1uTSvDgMUUgb8NgBPb1cDUJYajswbHT"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0x6475af14127236618ac8ba4a5549bba13d92f4839df9c17d9b2a730400be9797","urls":["bzz-raw://5491d7aa712f0d3a13e237743ab1b46e9f9cfe2025a761aeadbb9024b36f52ff","dweb:/ipfs/QmQarLY1e6paD1kVjpiUNLrdQszTxHJ2NuaivMbjGarLqw"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x20fc943df3df3fff11f26ac37d4b6aac578e7c80958d255cad688ee40f4c7dd2","urls":["bzz-raw://bb433dc2023b727c6bc01989e93c98d7f26102ae2be3a5f1609dcc9dd4ddf3bd","dweb:/ipfs/QmXy5Mj6g1RmVeadLE83cFSa8SdW5YHfRGUgngkBUBKV9Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x79c8a22f4b12768e44278a8375ec4cb9e5947bae51009ea67df5cb047d8eb864","urls":["bzz-raw://0f2efa3ffa8bd510f214f1fe14f3af484d1b17aeb5f3b7fe02c88b9e84343121","dweb:/ipfs/QmRxqUHVbGy19cHciciKfZrS4z6SxR5UjbVoK1sR5a9Sid"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSignatures.sol":{"keccak256":"0x97b9a1815cf8248269f7f2eeaa6d6275e0a259648126a11af6fc59ed60ccfe02","urls":["bzz-raw://9a8084a09d927df2fd31499a815a6ceb88911506dad18130853dabfedf6a29db","dweb:/ipfs/QmVMi4ybNLjArKvbA6ZMRRxX4jdzPPCoWdacNiFYKu72w1"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x003c03d7e8be675abe422eab801b0ebb6a5d795dea499f76c09101cc1b4f7867","urls":["bzz-raw://2ff0d412d17835b30fe7e923e4b4db1fc16f7cb16e1702fc2151a0086e08924b","dweb:/ipfs/QmcHoBWUBHYVt4gs5qwsDvDJPg2gPRgmd14SzJN2AtQipt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x08f47dfce2d68f889a929040f0456e2a9c1b0052942fda9e24910362c66e811c","urls":["bzz-raw://e713e64128ec4de5ac4809a26b8618255153f7139a01b545381b18e6ca77362d","dweb:/ipfs/QmSozw8WXSxgp29yVCwgQiZ2kPCiqJLZVWxuRQZ6yMZhR7"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x3c01fede84dbf9894a5f077953c6296bb69afdd683300599d8560288ab0b02fa","urls":["bzz-raw://d216ae4cb61b2f8b67d037f0b53e8c11cc3863d60a1b4926f318f177308d9c73","dweb:/ipfs/QmdvcY4SvUJwV4j3ALYMVfjFRxzgXyACVTJDuVQcTt2yUt"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x2af4c6fc1be378742dd873ea5904c83379dcc2ddc82c1bd520c4f3ad060bb36b","urls":["bzz-raw://fdab8aa666d0019068fe24cc974ce6bc707f9b53f54d9b538aca64f2434c9a4c","dweb:/ipfs/Qmc1G4MZTzZMAqRuHPwqsozP3cNGGGDvpxqppmqrGA39vh"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x36e956904cd2049d910560725f49cd4b6a203d41c179dafdb44eb58d3912ed91","urls":["bzz-raw://71e5088419d47a1d9ea9db79f08b99aa01a2d781d7c7f03e462c2af0efeb8f62","dweb:/ipfs/QmU1cZxtDW1UAMR6kMtNk4NVFf6aUQdtMPQ9P4bi5Tr6iX"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0x37e75efc870375d6ef1d4f301523ce50293d1cdf2a99b2f407bf691b610bf5bd","urls":["bzz-raw://239f26f064c60afd13a3ee539fc786c1b2aa9c60a66fce4311dabbddf82d59bf","dweb:/ipfs/QmcnyTQkRFoHZhUe6BmYpTmM6PtzjBE7o9G7iZ48NWXjFc"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x5cc51a00ec1d040fd8c189cf3eab048dc4a1ea6249cd68d4003239f2f665c27f","urls":["bzz-raw://5e1622570fd947d29246a60b8e30735b6b87b10ef02ff69d3b248643a3c54fc0","dweb:/ipfs/QmS9M1v3Dd9VmVRBa1gKUdPo4gp5QbT6cm8gNDnLA8dcEi"],"license":"MIT"},"node_modules/@latticexyz/world/src/constants.sol":{"keccak256":"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5","urls":["bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22","dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/LimitedCallContext.sol":{"keccak256":"0x1aa994d09220ac38bd4f47e2be9f54e4b1a46ffb14be40552ac64998059105fe","urls":["bzz-raw://88ba9f14551c18238056f6f5daf6166acc93c531f66cf32bbadb4142eca04a25","dweb:/ipfs/QmQfiy93ewydVkwLdbUSXHn5K29r1SJaiw51sgoFWJXsmu"],"license":"MIT"},"node_modules/@latticexyz/world/src/modules/init/implementations/WorldRegistrationSystem.sol":{"keccak256":"0xa832d2f9e97f6f4d8a59fce75a749eab17f7e0aa0e87da394e735fe697483ec4","urls":["bzz-raw://e872d0efa21d1d1fa0913a447805f1b6ab9759868cfee5dd0128b445118d17c9","dweb:/ipfs/QmebxB45ncxaVLccDxN78DdhqaFj8MuaXYNhxrnpWd5e2E"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireInterface.sol":{"keccak256":"0x5b94a21fd46abb4aac8f38809c0d6105f30792042c927f8a6a4f40cfe35c7ab8","urls":["bzz-raw://8bade9d52cf370f3b5435abb47a5338dca5498bee773e97518e7a080fa882940","dweb:/ipfs/QmTtaXUWwMQmHW8oKEoRZxagidZcCiN3oLQs7kN3nycrkW"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireNamespace.sol":{"keccak256":"0xda4a4a55bde8e55c28472d37009a194aa221ad11feb233d1c17a87b303977567","urls":["bzz-raw://ef691f35102f6ce85cc1cdaf3ec29b4ba632384a0358629dd642292c709f34e5","dweb:/ipfs/QmYuewEaRZ1UWxd231AK4SpjsiLrd7o4nyaPTeEzLCswcc"],"license":"MIT"},"node_modules/@latticexyz/world/src/requireValidNamespace.sol":{"keccak256":"0xfad78b977794de8301ba73ac1a871e3ca24c31584a97fdcb2c2c4039ff01b30b","urls":["bzz-raw://784f5049a467eeef2dbc24911d64cb65c283c4d468aab68a60d7bbf6b2ee3241","dweb:/ipfs/QmYrpoWRGu8t3mf1aEUpEBJBkZhBwRzz2AYoori68qeZkz"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0xa1147f218a0152b153d4e8bada0f606bfed40ac1f184fd16a941c2d0033c53f5","urls":["bzz-raw://3f5e0f6d1b51a3a04d4bd84537b2ced373b32824898cf6fbfd13ae1cbdf06359","dweb:/ipfs/QmayYRmBZRUV9m4UnFxuC62VvHriXhkYXeH3HibZ3Gmxxf"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0x15c25ae4b21e091209970e45a198cb51f31eeae482828862641099c1a9b2448a","urls":["bzz-raw://0ce3c3eb58dc5c262d36babf372ad028d2846beea73a59d6e70f0eb8c90ee00d","dweb:/ipfs/QmWUkgegTRtSJM3awvjg4J7DWZ2ME7Pnxp1dP2TWWzLNoo"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"}},"version":1},"id":91}