@latticexyz/world-modules 2.0.0-transaction-context-324984c5 → 2.0.0-transaction-context-af4b168c

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 (283) 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.abi.json +0 -13
  4. package/out/AccessManagementSystem.sol/AccessManagementSystem.abi.json.d.ts +0 -13
  5. package/out/AccessManagementSystem.sol/AccessManagementSystem.json +1 -1
  6. package/out/AddressArray.sol/AddressArray.json +1 -1
  7. package/out/Allowances.sol/Allowances.json +1 -1
  8. package/out/ArrayLib.sol/ArrayLib.json +1 -1
  9. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json +0 -13
  10. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.abi.json.d.ts +0 -13
  11. package/out/BalanceTransferSystem.sol/BalanceTransferSystem.json +1 -1
  12. package/out/Balances.sol/Balances.json +1 -1
  13. package/out/Base.sol/CommonBase.json +1 -1
  14. package/out/Base.sol/ScriptBase.json +1 -1
  15. package/out/Base.sol/TestBase.json +1 -1
  16. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json +0 -13
  17. package/out/BatchCallSystem.sol/BatchCallSystem.abi.json.d.ts +0 -13
  18. package/out/BatchCallSystem.sol/BatchCallSystem.json +1 -1
  19. package/out/Bool.sol/Bool.json +1 -1
  20. package/out/Bytes.sol/Bytes.json +1 -1
  21. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.abi.json +0 -13
  22. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.abi.json.d.ts +0 -13
  23. package/out/CallboundDelegationControl.sol/CallboundDelegationControl.json +1 -1
  24. package/out/CallboundDelegations.sol/CallboundDelegations.json +1 -1
  25. package/out/DecodeSlice.sol/DecodeSlice.json +1 -1
  26. package/out/Delegation.sol/Delegation.json +1 -1
  27. package/out/DelegationControl.sol/DelegationControl.abi.json +0 -13
  28. package/out/DelegationControl.sol/DelegationControl.abi.json.d.ts +0 -13
  29. package/out/DelegationControl.sol/DelegationControl.json +1 -1
  30. package/out/DelegationControlMock.sol/DelegationControlMock.abi.json +0 -13
  31. package/out/DelegationControlMock.sol/DelegationControlMock.abi.json.d.ts +0 -13
  32. package/out/DelegationControlMock.sol/DelegationControlMock.json +1 -1
  33. package/out/ERC165Checker.sol/ERC165Checker.json +1 -1
  34. package/out/ERC20.t.sol/ERC20Test.json +1 -1
  35. package/out/ERC20Metadata.sol/ERC20Metadata.json +1 -1
  36. package/out/ERC20Module.sol/ERC20Module.abi.json +0 -13
  37. package/out/ERC20Module.sol/ERC20Module.abi.json.d.ts +0 -13
  38. package/out/ERC20Module.sol/ERC20Module.json +1 -1
  39. package/out/ERC20Module.sol/ERC20ModuleRegistrationLibrary.json +1 -1
  40. package/out/ERC20Registry.sol/ERC20Registry.json +1 -1
  41. package/out/ERC20System.sol/ERC20System.abi.json +0 -13
  42. package/out/ERC20System.sol/ERC20System.abi.json.d.ts +0 -13
  43. package/out/ERC20System.sol/ERC20System.json +1 -1
  44. package/out/ERC721.t.sol/ERC721Recipient.json +1 -1
  45. package/out/ERC721.t.sol/ERC721Test.json +1 -1
  46. package/out/ERC721.t.sol/ERC721TokenReceiver.json +1 -1
  47. package/out/ERC721.t.sol/NonERC721Recipient.json +1 -1
  48. package/out/ERC721.t.sol/RevertingERC721Recipient.json +1 -1
  49. package/out/ERC721.t.sol/WrongReturnDataERC721Recipient.json +1 -1
  50. package/out/ERC721Metadata.sol/ERC721Metadata.json +1 -1
  51. package/out/ERC721Module.sol/ERC721Module.abi.json +0 -13
  52. package/out/ERC721Module.sol/ERC721Module.abi.json.d.ts +0 -13
  53. package/out/ERC721Module.sol/ERC721Module.json +1 -1
  54. package/out/ERC721Module.sol/ERC721ModuleRegistrationLibrary.json +1 -1
  55. package/out/ERC721Registry.sol/ERC721Registry.json +1 -1
  56. package/out/ERC721System.sol/ERC721System.abi.json +0 -13
  57. package/out/ERC721System.sol/ERC721System.abi.json.d.ts +0 -13
  58. package/out/ERC721System.sol/ERC721System.json +1 -1
  59. package/out/EchoSubscriber.sol/EchoSubscriber.json +1 -1
  60. package/out/EncodeArray.sol/EncodeArray.json +1 -1
  61. package/out/FieldLayout.sol/FieldLayoutInstance.json +1 -1
  62. package/out/FieldLayout.sol/FieldLayoutLib.json +1 -1
  63. package/out/FieldLayoutEncodeHelper.sol/FieldLayoutEncodeHelper.json +1 -1
  64. package/out/FunctionSelectors.sol/FunctionSelectors.json +1 -1
  65. package/out/FunctionSignatures.sol/FunctionSignatures.json +1 -1
  66. package/out/GasReporter.sol/GasReporter.json +1 -1
  67. package/out/Hook.sol/HookInstance.json +1 -1
  68. package/out/Hook.sol/HookLib.json +1 -1
  69. package/out/Hooks.sol/Hooks.json +1 -1
  70. package/out/IAccessManagementSystem.sol/IAccessManagementSystem.json +1 -1
  71. package/out/IBalanceTransferSystem.sol/IBalanceTransferSystem.json +1 -1
  72. package/out/IBaseWorld.sol/IBaseWorld.abi.json +13 -0
  73. package/out/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +13 -0
  74. package/out/IBaseWorld.sol/IBaseWorld.json +1 -1
  75. package/out/IBatchCallSystem.sol/IBatchCallSystem.json +1 -1
  76. package/out/IDelegationControl.sol/IDelegationControl.abi.json +0 -13
  77. package/out/IDelegationControl.sol/IDelegationControl.abi.json.d.ts +0 -13
  78. package/out/IDelegationControl.sol/IDelegationControl.json +1 -1
  79. package/out/IERC20.sol/IERC20.json +1 -1
  80. package/out/IERC20Errors.sol/IERC20Errors.json +1 -1
  81. package/out/IERC20Events.sol/IERC20Events.json +1 -1
  82. package/out/IERC20Mintable.sol/IERC20Mintable.json +1 -1
  83. package/out/IERC20System.sol/IERC20System.json +1 -1
  84. package/out/IERC721.sol/IERC721.json +1 -1
  85. package/out/IERC721Errors.sol/IERC721Errors.json +1 -1
  86. package/out/IERC721Events.sol/IERC721Events.json +1 -1
  87. package/out/IERC721Metadata.sol/IERC721Metadata.json +1 -1
  88. package/out/IERC721Mintable.sol/IERC721Mintable.json +1 -1
  89. package/out/IERC721Receiver.sol/IERC721Receiver.json +1 -1
  90. package/out/IModule.sol/IModule.json +1 -1
  91. package/out/IModuleInstallationSystem.sol/IModuleInstallationSystem.json +1 -1
  92. package/out/IMulticall3.sol/IMulticall3.json +1 -1
  93. package/out/IPuppetFactorySystem.sol/IPuppetFactorySystem.json +1 -1
  94. package/out/IRegistrationSystem.sol/IRegistrationSystem.json +1 -1
  95. package/out/IStore.sol/IStore.json +1 -1
  96. package/out/IStoreData.sol/IStoreData.json +1 -1
  97. package/out/IStoreErrors.sol/IStoreErrors.json +1 -1
  98. package/out/IStoreEvents.sol/IStoreEvents.json +1 -1
  99. package/out/IStoreHook.sol/IStoreHook.json +1 -1
  100. package/out/IStoreRead.sol/IStoreRead.json +1 -1
  101. package/out/IStoreRegistration.sol/IStoreRegistration.json +1 -1
  102. package/out/IStoreWrite.sol/IStoreWrite.json +1 -1
  103. package/out/ISystemHook.sol/ISystemHook.json +1 -1
  104. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.abi.json +0 -13
  105. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.abi.json.d.ts +0 -13
  106. package/out/IWorldContextConsumer.sol/IWorldContextConsumer.json +1 -1
  107. package/out/IWorldErrors.sol/IWorldErrors.json +1 -1
  108. package/out/IWorldKernel.sol/IWorldCall.json +1 -1
  109. package/out/IWorldKernel.sol/IWorldKernel.abi.json +13 -0
  110. package/out/IWorldKernel.sol/IWorldKernel.abi.json.d.ts +13 -0
  111. package/out/IWorldKernel.sol/IWorldKernel.json +1 -1
  112. package/out/IWorldKernel.sol/IWorldModuleInstallation.json +1 -1
  113. package/out/IWorldRegistrationSystem.sol/IWorldRegistrationSystem.json +1 -1
  114. package/out/InitModule.sol/InitModule.abi.json +0 -13
  115. package/out/InitModule.sol/InitModule.abi.json.d.ts +0 -13
  116. package/out/InitModule.sol/InitModule.json +1 -1
  117. package/out/InitModuleAddress.sol/InitModuleAddress.json +1 -1
  118. package/out/InstalledModules.sol/InstalledModules.json +1 -1
  119. package/out/KeysInTable.sol/KeysInTable.json +1 -1
  120. package/out/KeysInTableHook.sol/KeysInTableHook.json +1 -1
  121. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json +0 -13
  122. package/out/KeysInTableModule.sol/KeysInTableModule.abi.json.d.ts +0 -13
  123. package/out/KeysInTableModule.sol/KeysInTableModule.json +1 -1
  124. package/out/KeysInTableModule.t.sol/KeysInTableModuleTest.json +1 -1
  125. package/out/KeysWithValue.sol/KeysWithValue.json +1 -1
  126. package/out/KeysWithValueHook.sol/KeysWithValueHook.json +1 -1
  127. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json +0 -13
  128. package/out/KeysWithValueModule.sol/KeysWithValueModule.abi.json.d.ts +0 -13
  129. package/out/KeysWithValueModule.sol/KeysWithValueModule.json +1 -1
  130. package/out/KeysWithValueModule.t.sol/KeysWithValueModuleTest.json +1 -1
  131. package/out/LimitedCallContext.sol/LimitedCallContext.json +1 -1
  132. package/out/Memory.sol/Memory.json +1 -1
  133. package/out/Module.sol/Module.abi.json +0 -13
  134. package/out/Module.sol/Module.abi.json.d.ts +0 -13
  135. package/out/Module.sol/Module.json +1 -1
  136. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json +0 -13
  137. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.abi.json.d.ts +0 -13
  138. package/out/ModuleInstallationSystem.sol/ModuleInstallationSystem.json +1 -1
  139. package/out/NamespaceDelegationControl.sol/NamespaceDelegationControl.json +1 -1
  140. package/out/NamespaceOwner.sol/NamespaceOwner.json +1 -1
  141. package/out/OperatorApproval.sol/OperatorApproval.json +1 -1
  142. package/out/Owners.sol/Owners.json +1 -1
  143. package/out/PackedCounter.sol/PackedCounterInstance.json +1 -1
  144. package/out/PackedCounter.sol/PackedCounterLib.json +1 -1
  145. package/out/Puppet.sol/Puppet.json +1 -1
  146. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.abi.json +0 -13
  147. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.abi.json.d.ts +0 -13
  148. package/out/PuppetDelegationControl.sol/PuppetDelegationControl.json +1 -1
  149. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.abi.json +0 -13
  150. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.abi.json.d.ts +0 -13
  151. package/out/PuppetFactorySystem.sol/PuppetFactorySystem.json +1 -1
  152. package/out/PuppetMaster.sol/PuppetMaster.json +1 -1
  153. package/out/PuppetModule.sol/PuppetModule.abi.json +0 -13
  154. package/out/PuppetModule.sol/PuppetModule.abi.json.d.ts +0 -13
  155. package/out/PuppetModule.sol/PuppetModule.json +1 -1
  156. package/out/PuppetModule.t.sol/PuppetModuleTest.json +1 -1
  157. package/out/PuppetModule.t.sol/PuppetTestSystem.abi.json +0 -13
  158. package/out/PuppetModule.t.sol/PuppetTestSystem.abi.json.d.ts +0 -13
  159. package/out/PuppetModule.t.sol/PuppetTestSystem.json +1 -1
  160. package/out/PuppetRegistry.sol/PuppetRegistry.json +1 -1
  161. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json +0 -13
  162. package/out/RegistrationSystem.sol/RegistrationSystem.abi.json.d.ts +0 -13
  163. package/out/RegistrationSystem.sol/RegistrationSystem.json +1 -1
  164. package/out/ResourceAccess.sol/ResourceAccess.json +1 -1
  165. package/out/ResourceId.sol/ResourceIdInstance.json +1 -1
  166. package/out/ResourceId.sol/ResourceIdLib.json +1 -1
  167. package/out/ResourceIds.sol/ResourceIds.json +1 -1
  168. package/out/RevertSubscriber.sol/RevertSubscriber.json +1 -1
  169. package/out/Schema.sol/SchemaInstance.json +1 -1
  170. package/out/Schema.sol/SchemaLib.json +1 -1
  171. package/out/SchemaEncodeHelper.sol/SchemaEncodeHelper.json +1 -1
  172. package/out/Slice.sol/SliceInstance.json +1 -1
  173. package/out/Slice.sol/SliceLib.json +1 -1
  174. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json +0 -13
  175. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.abi.json.d.ts +0 -13
  176. package/out/StandardDelegationsModule.sol/StandardDelegationsModule.json +1 -1
  177. package/out/StandardDelegationsModule.t.sol/StandardDelegationsModuleTest.json +1 -1
  178. package/out/StdAssertions.sol/StdAssertions.json +1 -1
  179. package/out/StdChains.sol/StdChains.json +1 -1
  180. package/out/StdCheats.sol/StdCheats.json +1 -1
  181. package/out/StdCheats.sol/StdCheatsSafe.json +1 -1
  182. package/out/StdError.sol/stdError.json +1 -1
  183. package/out/StdInvariant.sol/StdInvariant.json +1 -1
  184. package/out/StdJson.sol/stdJson.json +1 -1
  185. package/out/StdMath.sol/stdMath.json +1 -1
  186. package/out/StdStorage.sol/stdStorage.json +1 -1
  187. package/out/StdStorage.sol/stdStorageSafe.json +1 -1
  188. package/out/StdStyle.sol/StdStyle.json +1 -1
  189. package/out/StdUtils.sol/StdUtils.json +1 -1
  190. package/out/Storage.sol/Storage.json +1 -1
  191. package/out/StoreCore.sol/StoreCore.json +1 -1
  192. package/out/StoreCore.sol/StoreCoreInternal.json +1 -1
  193. package/out/StoreData.sol/StoreData.json +1 -1
  194. package/out/StoreHook.sol/StoreHook.json +1 -1
  195. package/out/StoreHooks.sol/StoreHooks.json +1 -1
  196. package/out/StoreRead.sol/StoreRead.json +1 -1
  197. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json +0 -13
  198. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.abi.json.d.ts +0 -13
  199. package/out/StoreRegistrationSystem.sol/StoreRegistrationSystem.json +1 -1
  200. package/out/StoreSwitch.sol/StoreSwitch.json +1 -1
  201. package/out/System.sol/System.abi.json +0 -13
  202. package/out/System.sol/System.abi.json.d.ts +0 -13
  203. package/out/System.sol/System.json +1 -1
  204. package/out/SystemCall.sol/SystemCall.json +1 -1
  205. package/out/SystemHook.sol/SystemHook.json +1 -1
  206. package/out/SystemHooks.sol/SystemHooks.json +1 -1
  207. package/out/SystemRegistry.sol/SystemRegistry.json +1 -1
  208. package/out/SystemSwitch.sol/SystemSwitch.json +1 -1
  209. package/out/SystemSwitch.t.sol/EchoSystem.abi.json +0 -13
  210. package/out/SystemSwitch.t.sol/EchoSystem.abi.json.d.ts +0 -13
  211. package/out/SystemSwitch.t.sol/EchoSystem.json +1 -1
  212. package/out/SystemSwitch.t.sol/SystemSwitchTest.json +1 -1
  213. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.abi.json +0 -13
  214. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.abi.json.d.ts +0 -13
  215. package/out/SystemboundDelegationControl.sol/SystemboundDelegationControl.json +1 -1
  216. package/out/SystemboundDelegations.sol/SystemboundDelegations.json +1 -1
  217. package/out/Systems.sol/Systems.json +1 -1
  218. package/out/Tables.sol/Tables.json +1 -1
  219. package/out/Test.sol/Test.json +1 -1
  220. package/out/TightCoder.sol/TightCoder.json +1 -1
  221. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.abi.json +0 -13
  222. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.abi.json.d.ts +0 -13
  223. package/out/TimeboundDelegationControl.sol/TimeboundDelegationControl.json +1 -1
  224. package/out/TimeboundDelegations.sol/TimeboundDelegations.json +1 -1
  225. package/out/TokenApproval.sol/TokenApproval.json +1 -1
  226. package/out/TokenURI.sol/TokenURI.json +1 -1
  227. package/out/TotalSupply.sol/TotalSupply.json +1 -1
  228. package/out/TwoFields.sol/TwoFields.json +1 -1
  229. package/out/UniqueEntity.sol/UniqueEntity.json +1 -1
  230. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json +0 -13
  231. package/out/UniqueEntityModule.sol/UniqueEntityModule.abi.json.d.ts +0 -13
  232. package/out/UniqueEntityModule.sol/UniqueEntityModule.json +1 -1
  233. package/out/UniqueEntityModule.t.sol/UniqueEntityModuleTest.json +1 -1
  234. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json +0 -13
  235. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.abi.json.d.ts +0 -13
  236. package/out/UniqueEntityModule.t.sol/UniqueEntityTestSystem.json +1 -1
  237. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.abi.json +0 -13
  238. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.abi.json.d.ts +0 -13
  239. package/out/UniqueEntitySystem.sol/UniqueEntitySystem.json +1 -1
  240. package/out/UsedKeysIndex.sol/UsedKeysIndex.json +1 -1
  241. package/out/UserDelegationControl.sol/UserDelegationControl.json +1 -1
  242. package/out/Vm.sol/Vm.json +1 -1
  243. package/out/Vm.sol/VmSafe.json +1 -1
  244. package/out/World.sol/World.abi.json +13 -0
  245. package/out/World.sol/World.abi.json.d.ts +13 -0
  246. package/out/World.sol/World.json +1 -1
  247. package/out/World.t.sol/EchoSystemHook.json +1 -1
  248. package/out/World.t.sol/IWorldTestSystem.json +1 -1
  249. package/out/World.t.sol/PayableFallbackSystem.abi.json +0 -13
  250. package/out/World.t.sol/PayableFallbackSystem.abi.json.d.ts +0 -13
  251. package/out/World.t.sol/PayableFallbackSystem.json +1 -1
  252. package/out/World.t.sol/RevertSystemHook.json +1 -1
  253. package/out/World.t.sol/WorldTest.abi.json +7 -0
  254. package/out/World.t.sol/WorldTest.abi.json.d.ts +7 -0
  255. package/out/World.t.sol/WorldTest.json +1 -1
  256. package/out/World.t.sol/WorldTestSystem.abi.json +13 -13
  257. package/out/World.t.sol/WorldTestSystem.abi.json.d.ts +13 -13
  258. package/out/World.t.sol/WorldTestSystem.json +1 -1
  259. package/out/WorldContext.sol/WorldContextConsumer.abi.json +0 -13
  260. package/out/WorldContext.sol/WorldContextConsumer.abi.json.d.ts +0 -13
  261. package/out/WorldContext.sol/WorldContextConsumer.json +1 -1
  262. package/out/WorldContext.sol/WorldContextConsumerLib.json +1 -1
  263. package/out/WorldContext.sol/WorldContextProviderLib.json +1 -1
  264. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json +0 -13
  265. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.abi.json.d.ts +0 -13
  266. package/out/WorldRegistrationSystem.sol/WorldRegistrationSystem.json +1 -1
  267. package/out/WorldResourceId.sol/WorldResourceIdInstance.json +1 -1
  268. package/out/WorldResourceId.sol/WorldResourceIdLib.json +1 -1
  269. package/out/console.sol/console.json +1 -1
  270. package/out/console2.sol/console2.json +1 -1
  271. package/out/constants.sol/LayoutOffsets.json +1 -1
  272. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json +13 -0
  273. package/out/interfaces/IBaseWorld.sol/IBaseWorld.abi.json.d.ts +13 -0
  274. package/out/interfaces/IBaseWorld.sol/IBaseWorld.json +1 -1
  275. package/out/query.t.sol/QueryTest.json +1 -1
  276. package/out/safeconsole.sol/safeconsole.json +1 -1
  277. package/out/src/IERC165.sol/IERC165.json +1 -1
  278. package/out/tables/Balances.sol/Balances.json +1 -1
  279. package/out/test.sol/DSTest.json +1 -1
  280. package/out/world/src/IERC165.sol/IERC165.json +1 -1
  281. package/package.json +8 -8
  282. package/out/TransactionContext.sol/TransactionContext.abi.json +0 -1
  283. package/out/TransactionContext.sol/TransactionContext.json +0 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"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_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_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":"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_SpliceDynamicData","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":"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":"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_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","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":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_DirectCallToSystemForbidden","inputs":[{"name":"caller","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":"0x60a060405234801561001057600080fd5b506100477f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e17580546001600160a01b03191630179055565b6040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c00590600090a2336080526040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907f7f8f36afe3fb61c459c1a54a60b8a477eab02cc58e49f547561a40906239cb8290600090a26080516154fc620000e8600039600081816103ee01526115ac01526154fc6000f3fe6080604052600436106101d15760003560e01c80638c364d59116100f7578063c4d66de811610095578063d9c03a0411610064578063d9c03a0414610750578063dbbf0e2114610650578063e228a4a314610770578063ef6ea8621461079057610266565b8063c4d66de8146106d0578063cc49db7e146106f0578063d03edb8c14610710578063d4285dc21461073057610266565b8063af068c9e116100d1578063af068c9e14610670578063b047c1eb14610690578063c0a2895a146106b0578063c1122229146105ca57610266565b80638c364d59146106105780639f1fcf0a14610630578063a53417ed1461065057610266565b8063390baae01161016f5780634dc77d971161013e5780634dc77d971461058a578063505a181d146105aa5780636951955d146105ca578063894ecc58146105fd57610266565b8063390baae0146104fa5780633a77c2c21461051a5780633ae7af0814610548578063419b58fd1461055b57610266565b8063150f3262116101ab578063150f32621461047a5780631e7889771461049a578063298314fb146104ba5780633708196e146104da57610266565b806302d05d3f146103dc57806305242d2f1461042d578063114a72661461045a57610266565b366102665760408051616e7360f01b60208201526000602282018190526030820181905291610218910160405160208183030381529060405261021390614616565b6107b0565b60408051616e7360f01b60208201526000602282018190526030820152919250610264910160405160208183030381529060405261025590614616565b61025f3484614653565b610831565b005b303303610299576040516327a1460b60e21b81526001600160e01b03196000351660048201526024015b60405180910390fd5b60008080806102a66108d2565b6001600160a01b0316036103185760006102bf33610921565b146102f8576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610290565b506001821561030f5761030a826109a6565b610318565b610318336109a6565b6000806103306000356001600160e01b031916610a1f565b91509150816000801b0361037e576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b0319600035166004820152602401610290565b60006103c26000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250869150610aef9050565b905060006103d233858434610b22565b9050805160208201f35b3480156103e857600080fd5b506104107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561043957600080fd5b5061044d6104483660046146c3565b610b4f565b6040516104249190614779565b34801561046657600080fd5b506102646104753660046147ce565b610b92565b34801561048657600080fd5b506102646104953660046147ce565b610c45565b3480156104a657600080fd5b5061044d6104b536600461485b565b610cf0565b3480156104c657600080fd5b506102646104d53660046148b9565b610d3a565b3480156104e657600080fd5b506102646104f5366004614966565b610e23565b34801561050657600080fd5b50610264610515366004614966565b610ed9565b34801561052657600080fd5b5061053a6105353660046149fc565b610f86565b604051908152602001610424565b61044d610556366004614acc565b610f97565b34801561056757600080fd5b5061057b610576366004614b13565b611071565b60405161042493929190614b66565b34801561059657600080fd5b5061044d6105a5366004614c06565b6110c6565b3480156105b657600080fd5b506102646105c5366004614c6f565b6110d5565b3480156105d657600080fd5b507f312e302e302d756e61756469746564000000000000000000000000000000000061053a565b61044d61060b366004614cd0565b61114a565b34801561061c57600080fd5b5061053a61062b3660046146c3565b611344565b34801561063c57600080fd5b5061053a61064b366004614d29565b611387565b34801561065c57600080fd5b5061053a61066b366004614d88565b611395565b34801561067c57600080fd5b5061026461068b366004614ddf565b6113a2565b34801561069c57600080fd5b506102646106ab366004614e19565b61141a565b3480156106bc57600080fd5b506102646106cb366004614ea8565b6114c5565b3480156106dc57600080fd5b506102646106eb366004614f35565b611573565b3480156106fc57600080fd5b5061057b61070b366004614c6f565b6116b5565b34801561071c57600080fd5b5061044d61072b36600461485b565b611707565b34801561073c57600080fd5b5061053a61074b3660046149fc565b611748565b34801561075c57600080fd5b5061026461076b3660046146c3565b611753565b34801561077c57600080fd5b5061053a61078b3660046149fc565b6117d3565b34801561079c57600080fd5b506102646107ab3660046147ce565b6117de565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106107e9576107e9614f52565b602090810291909101015260006108297f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611889565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061086757610867614f52565b6020026020010181815250506108cd7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016108b091815260200190565b60408051601f19818403018152919052630100080160dd1b6118b6565b505050565b6040805160008082526020820190925260006109177f7462776f726c640000000000000000005472616e73616374696f6e436f6e74658383630500400560da1b6118cb565b60601c9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061096657610966614f52565b602090810291909101015260006108297f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b6118cb565b604080516000808252602082018352606084901b6bffffffffffffffffffffffff19169282019290925290610a1b907f7462776f726c640000000000000000005472616e73616374696f6e436f6e7465908390605482015b60408051601f19818403018152919052630500400560da1b611988565b5050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610a7857610a78614f52565b602090810291909101015260008080610ad17f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611a3d565b925092509250610ae2838383611b45565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b6060600080610b3387878787611b5d565b9150915081610b4557610b4581611d2d565b9695505050505050565b6060610b4586868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250889250879150611d359050565b303303610bc0576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610bca8633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611dc692505050565b505050505050565b303303610c73576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610c7d8633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611de192505050565b6060610d3185858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250611e1c915050565b95945050505050565b303303610d68576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610d728833611d7a565b610e198888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611e5692505050565b5050505050505050565b303303610e51576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610e5b8733611d7a565b610ed08787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250889250611e6c915050565b50505050505050565b303303610f07576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610f118733611d7a565b610ed08787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506118b6915050565b6000610f9182611eaf565b92915050565b6060303303610fc7576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6000808080610fd46108d2565b6001600160a01b031603611046576000610fed33610921565b14611026576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610290565b506001821561103d57611038826109a6565b611046565b611046336109a6565b61105233878734610b22565b93508015156001036110685761106860006109a6565b50505092915050565b6060600060606110b687878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250611a3d915050565b9250925092509450945094915050565b6060610b458686868686611f34565b303303611103576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61110d8333611d7a565b6108cd8383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061203792505050565b606030330361117a576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6001846000806111886108d2565b6001600160a01b0316036111fa5760006111a133610921565b146111da576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610290565b50600182156111f1576111ec826109a6565b6111fa565b6111fa336109a6565b336001600160a01b0388160361121d5761121633878734610b22565b9350611326565b6000611229883361204a565b90506112388189338a8a6120fb565b156112515761124988888834610b22565b945050611326565b600061125e89600061204a565b905061126d818a338b8b6120fb565b156112875761127e89898934610b22565b95505050611326565b60006112b9616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008b16176121d0565b90506112c8818b338c8c6120fb565b156112e3576112d98a8a8a34610b22565b9650505050611326565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038b166004820152336024820152604401610290565b80151560010361133a5761133a60006109a6565b5050509392505050565b6000610b45868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506118899050565b6000610d3185858585612249565b600061082984848461228d565b3033036113d0576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b60408051616e7360f01b60208201526000602282018190526030820152611410910160405160208183030381529060405261140a90614616565b336122a3565b610a1b82826122f4565b303303611448576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6114528633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284376000920191909152506123a792505050565b3033036114f3576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6114fd8833611d7a565b610e198888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528b93508a92508991899089908190840183828082843760009201919091525061264292505050565b3033036115a1576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116455760408051616e7360f01b60208201526000602282018190526030820152611610910160405160208183030381529060405261160b90614616565b61265a565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614f68565b600061164f612797565b6001600160a01b03161461168f576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611698816127dc565b6040805160008152602081019091526116b29082906122f4565b50565b6060600060606116f88686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061283892505050565b92509250925093509350939050565b6060610d318585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061285e915050565b6000610f9182612874565b303303611781576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61178b8533611d7a565b6117cc858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506128e89050565b5050505050565b6000610f9182612941565b30330361180c576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6118168633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061296792505050565b6000610d3161189886866129a2565b60ff858116601b0360080285901c166118b185876129f8565b612a31565b6117cc85856118c584876129f8565b856123a7565b6000806118d6612a82565b9050306001600160a01b038216036118fc576118f486868686611889565b915050610829565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611947908990899089908990600401614fcf565b602060405180830381865afa158015611964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f49190614ffe565b6000611992612a82565b9050306001600160a01b038216036119b6576119b186868686866118b6565b610c3d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a039089908990899089908990600401615017565b600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b50505050505050505050565b6060600060606000611a4e85612abc565b9050611a5b878783612adf565b93506000611a6886612b18565b90508015611b3a57611a7a8888612b55565b935066ffffffffffffff841667ffffffffffffffff811115611a9e57611a9e614a15565b6040519080825280601f01601f191660200182016040528015611ac8576020820181803683370190505b5092506020830160005b828160ff161015611b37576000611aea8b8b84612b68565b90506000611b07888460ff166028026038011c64ffffffffff1690565b9050611b168260008387612be8565b611b208185614653565b935050508080611b2f9061505e565b915050611ad2565b50505b505093509350939050565b600080611b5185612cb4565b90969095509350505050565b600060606000611b6c86612cc9565b905060005b8151811015611c3f576000828281518110611b8e57611b8e614f52565b60200260200101519050611bba6001826affffffffffffffffffffff1916612d5290919063ffffffff16565b15611c36576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611c03908c908c908c9060040161507d565b600060405180830381600087803b158015611c1d57600080fd5b505af1158015611c31573d6000803e3d6000fd5b505050505b50600101611b71565b50611c4c87858888612d70565b909350915060005b8151811015611d22576000828281518110611c7157611c71614f52565b60200260200101519050611c9d6002826affffffffffffffffffffff1916612d5290919063ffffffff16565b15611d19576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ce6908c908c908c9060040161507d565b600060405180830381600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b505050505b50600101611c54565b505094509492505050565b805160208201fd5b6060611d4082612e8b565b8360ff161015611d5d57611d5685858585612e9d565b9050610829565b611d568585611d6b85612e8b565b611d7590876150a5565b611e1c565b611d848282612eca565b610a1b57611d918261265a565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614f68565b611ddb84848484611dd689611eaf565b611e6c565b50505050565b6000611ded8585612b55565b90506000611e0a828560ff166028026038011c64ffffffffff1690565b9050610c3d8686868460008888612f0d565b6060610829611e2c858585612b68565b6000611e5185611e3c8989612b55565b9060ff166028026038011c64ffffffffff1690565b613345565b6117cc8585858585611e678b611eaf565b613368565b611e7581612e8b565b8360ff161015611e9157611e8c85858585856118b6565b6117cc565b6117cc8585611e9f84612e8b565b611ea990876150a5565b85612967565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611efe57507e60030220202000000000000000000000000000000000000000000000000000919050565b610f91611f2b7f746273746f72650000000000000000005461626c657300000000000000000000846136a1565b60206000612a31565b606081831115611f7a576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610290565b6000611f868787612b55565b90506000611fa3828760ff166028026038011c64ffffffffff1690565b90508085101580611fb357508084115b1561200e578081861015611fd157611fcc6001866150be565b611fd3565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610290565b600061201b898989612b68565b905061202a8187888803613345565b9998505050505050505050565b610a1b828261204585611eaf565b6136bd565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061208f5761208f614f52565b602002602001018181525050826001600160a01b031660001b816001815181106120bb576120bb614f52565b60209081029190910101526000610d317f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611889565b6000612106866139bc565b1561211357506001610d31565b8561212057506000610d31565b60008061219c8660008a8a898960405160240161213f9392919061507d565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612d70565b91509150816121b057600092505050610d31565b808060200190518101906121c491906150d1565b98975050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061220957612209614f52565b602090810291909101015260006108297f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611889565b60008061225583612e8b565b90508060ff168460ff1610156122795760ff848116601b0360080284901c166118f4565b6118f4868661228884886150a5565b613a37565b600061082984848461229e88611eaf565b612249565b6001600160a01b0381166122dd616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617613a47565b6001600160a01b031614610a1b57611d918261265a565b61231e827f6fdd1c8000000000000000000000000000000000000000000000000000000000613acb565b61239333600084846040516024016123369190614779565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613b26565b50610a1b8282805190602001206001613b37565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361243157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612424939291906150f3565b60405180910390a2611ddb565b600061243d85856129a2565b9050600061244a86613c1b565b905060005b815181101561251f57600082828151811061246c5761246c614f52565b602002602001015190506124986004826affffffffffffffffffffff1916612d5290919063ffffffff16565b15612516576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124e3908b908b908b908b90600401615126565b600060405180830381600087803b1580156124fd57600080fd5b505af1158015612511573d6000803e3d6000fd5b505050505b5060010161244f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612554939291906150f3565b60405180910390a261256f828565ffffffffffff1685613c8d565b60005b8151811015610ed057600082828151811061258f5761258f614f52565b602002602001015190506125bb6008826affffffffffffffffffffff1916612d5290919063ffffffff16565b15612639576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612606908b908b908b908b90600401615126565b600060405180830381600087803b15801561262057600080fd5b505af1158015612634573d6000803e3d6000fd5b505050505b50600101612572565b610c3d8686868686866126558d8d612b55565b612f0d565b606081601081901b600061266d83613ca3565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156126c8576126c37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613cba565b6126ff565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156127355761273083613cba565b61276c565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161277e9392919061515f565b6040516020818303038152906040529350505050919050565b6040805160008082526020820190925260006109177f7462776f726c64000000000000000000496e69744d6f64756c654164647265738383630500400560da1b6118cb565b604080516000808252602082018352606084901b6bffffffffffffffffffffffff19169282019290925290610a1b907f7462776f726c64000000000000000000496e69744d6f64756c65416464726573908390605482016109fe565b606060006060612851858561284c88611eaf565b611a3d565b9250925092509250925092565b606061082984848461286f88611eaf565b611d35565b600061287f82613d5e565b905061288a82613df0565b6128e35781826040516020016128a291815260200190565b60408051601f19818403018152908290527f41e713ad00000000000000000000000000000000000000000000000000000000825261029092916004016151ed565b919050565b60006128f48585612b55565b90506000612911828560ff166028026038011c64ffffffffff1690565b9050610c3d86868661292a8764ffffffffff87166150be565b604080516000815260208101909152889088612f0d565b600061294c82613e8d565b9050806128e35781826040516020016128a291815260200190565b60006129738585612b55565b90506000612990828560ff166028026038011c64ffffffffff1690565b9050610c3d8686866000858888612f0d565b600082826040516020016129b7929190615206565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015612a2957612a1f60ff601b83900360080287901c1683614653565b91506001016129fd565b509392505050565b600060208210612a5757602082048401935060208281612a5357612a53615242565b0691505b508254600882021b602082900380841115612a29576001850154600882021c82179150509392505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e3573391505090565b60006008612acc600260206150be565b612ad69190615258565b9190911c919050565b606081600003612afe5750604080516020810190915260008152610b1b565b6000612b0a85856129a2565b9050610d3181600085613345565b60006008600180612b2b600260206150be565b612b3591906150be565b612b3f91906150be565b612b499190615258565b8260ff911c1692915050565b6000610b1b612b648484613f1f565b5490565b60008383604051602001612b7d929190615206565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215612c6f5760208310612c1257602083048401935060208381612c0e57612c0e615242565b0692505b8215612c6f576020839003600081841015612c355750600019600884021c612c3f565b50600019600882021c5b8554600886021b818451168219821617845250818411612c60575050611ddb565b50600194909401939182900391015b5b60208210612c915783548152600190930192601f1990910190602001612c70565b8115611ddb576000600019600884021c8251865482191691161782525050505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d0357612d03614f52565b60209081029190910101526000612d3b7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611e1c565b9050610829612d4d8260008451613f75565b614003565b60008160ff1682612d638560581c90565b1660ff1614905092915050565b60006060600080612d8086614014565b90925090506001600160a01b038216612dd15785612d9d8761265a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102909291906151ed565b80612de057612de08689611d7a565b8615612e2c577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e19826107b0565b9050612e298261025f8b84614653565b50505b6000612e388760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612e7057612e6b888884886140b8565b612e7c565b612e7c88888488614130565b90999098509650505050505050565b600060086001612b35600260206150be565b6060610d31612eac86866129a2565b612eb684866129f8565b60ff868116601b0360080286901c16613345565b6000612efd616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614191565b80610b1b5750610b1b8383614191565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fcd577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f8b91815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261029093929160040161526f565b6000612fe8828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361300191906150be565b61300b9190614653565b905080821415801561302d57508161302386886152b0565b64ffffffffff1614155b1561307d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610290565b818664ffffffffff1611156130ce576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610290565b60006130db84898461425a565b905060006130e88b613c1b565b905060005b81518110156131b357600082828151811061310a5761310a614f52565b602002602001015190506131366010826affffffffffffffffffffff1916612d5290919063ffffffff16565b156131aa57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161317797969594939291906152d5565b600060405180830381600087803b15801561319157600080fd5b505af11580156131a5573d6000803e3d6000fd5b505050505b506001016130ed565b5064ffffffffff881660005b8a60ff168160ff1610156131f2576131e6878260ff166028026038011c64ffffffffff1690565b909101906001016131bf565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c60405161322b959493929190615333565b60405180910390a25082841461324c5760006132478c8c613f1f565b839055505b60006132598c8c8c612b68565b905061326d818a64ffffffffff1689613c8d565b5060005b815181101561333757600082828151811061328e5761328e614f52565b602002602001015190506132ba6020826affffffffffffffffffffff1916612d5290919063ffffffff16565b1561332e57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132fb97969594939291906152d5565b600060405180830381600087803b15801561331557600080fd5b505af1158015613329573d6000803e3d6000fd5b505050505b50600101613271565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252612a2985858584612be8565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036133f457857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516133e79493929190615379565b60405180910390a2610c3d565b60006133ff87613c1b565b905060005b81518110156134d857600082828151811061342157613421614f52565b6020026020010151905061344d6001826affffffffffffffffffffff1916612d5290919063ffffffff16565b156134cf576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c9061349c908c908c908c908c908c908c906004016153b8565b600060405180830381600087803b1580156134b657600080fd5b505af11580156134ca573d6000803e3d6000fd5b505050505b50600101613404565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161350f9493929190615379565b60405180910390a2600061352388886129a2565b9050600060208701905061353b826000895184614328565b600061354685612b18565b11156135ca5760006135588a8a613f1f565b878155905060208601915060008060005b61357288612b18565b8160ff1610156135c5576135878d8d83612b68565b92506135a28a8260ff166028026038011c64ffffffffff1690565b91506135b18360008488614328565b6135bb8286614653565b9450600101613569565b505050505b60005b8351811015611a315760008482815181106135ea576135ea614f52565b602002602001015190506136166002826affffffffffffffffffffff1916612d5290919063ffffffff16565b15613698576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613665908e908e908e908e908e908e906004016153b8565b600060405180830381600087803b15801561367f57600080fd5b505af1158015613693573d6000803e3d6000fd5b505050505b506001016135cd565b60408051602081018490529081018290526000906060016129b7565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361374357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516137369190615411565b60405180910390a2505050565b600061374e84613c1b565b905060005b815181101561382157600082828151811061377057613770614f52565b6020026020010151905061379c6040826affffffffffffffffffffff1916612d5290919063ffffffff16565b15613818576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906137e590899089908990600401615424565b600060405180830381600087803b1580156137ff57600080fd5b505af1158015613813573d6000803e3d6000fd5b505050505b50600101613753565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516138529190615411565b60405180910390a2600061386685856129a2565b90506138bf81600061387786612abc565b67ffffffffffffffff81111561388f5761388f614a15565b6040519080825280601f01601f1916602001820160405280156138b9576020820181803683370190505b50613c8d565b60006138ca84612b18565b11156138eb5760006138dc8686613f1f565b90506138e98160206143e7565b505b60005b8251811015610c3d57600083828151811061390b5761390b614f52565b602002602001015190506139376080826affffffffffffffffffffff1916612d5290919063ffffffff16565b156139b3576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613980908a908a908a90600401615424565b600060405180830381600087803b15801561399a57600080fd5b505af11580156139ae573d6000803e3d6000fd5b505050505b506001016138ee565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052613a2f90614616565b909114919050565b600061082982611e3c8686612b55565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613a8057613a80614f52565b60209081029190910101526000613ac07f7462776f726c640000000000000000004e616d6573706163654f776e657200008383630500400560da1b611889565b60601c949350505050565b613ad58282614424565b610a1b576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610290565b6060600080610b3387878787614130565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110613b7857613b78614f52565b6020026020010181815250508281600181518110613b9857613b98614f52565b602002602001018181525050611ddb7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b82600085604051602001613be691151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006118b6565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613c5557613c55614f52565b60209081029190910101526000612d3b7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e1c565b6108cd83838351613c9e8560200190565b614328565b6000613cb160706010614653565b9190911b919050565b606060005b6010811015613d1f577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613d1f57600101613cbf565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610829565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613d9757613d97614f52565b602090810291909101015260006108297f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611889565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613e2957613e29614f52565b60209081029190910101526000613e817f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611889565b90506108298160f81c90565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613ec657613ec6614f52565b602090810291909101015260006108297f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611889565b60008282604051602001613f34929190615206565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600081831180613f855750835182115b15613fc2578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102909392919061544d565b60208401613fd08482614653565b90506000613fde85856150be565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b1b8360156000614440565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061404e5761404e614f52565b6020908102919091010152600080806140a77f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611a3d565b925092509250610ae28383836144bb565b60006060836001600160a01b031660006140d38589896144c7565b6040516140e09190615472565b60006040518083038185875af1925050503d806000811461411d576040519150601f19603f3d011682016040523d82523d6000602084013e614122565b606091505b509097909650945050505050565b60006060836001600160a01b03166141498488886144c7565b6040516141569190615472565b600060405180830381855af49150503d806000811461411d576040519150601f19603f3d011682016040523d82523d6000602084013e614122565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106141ca576141ca614f52565b602002602001018181525050826001600160a01b031660001b816001815181106141f6576141f6614f52565b6020908102919091010152600061424e7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611889565b9050610d318160f81c90565b600064ffffffffff82111561429e576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610290565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106142d057808503820191506142d8565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156143a257602083106143525760208304840193506020838161434e5761434e615242565b0692505b82156143a25760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411614393575050611ddb565b50600194909401939182900391015b5b602082106143c45780518455600190930192601f19909101906020016143a3565b8115611ddb576000600019600884021c8554835182191691161785555050505050565b600060206143f683601f614653565b614400919061548e565b61440a9084614653565b90505b808310156108cd576000835560018301925061440d565b600061442f836144f6565b8015610b1b5750610b1b8383614542565b6060600061444e8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161447457614474615242565b04905060405193506020840160208202810160405281855260005b828110156144af578451871c82529387019360209091019060010161448f565b50505050509392505050565b600080611b51856145fa565b60608383836040516020016144de939291906154b0565b60405160208183030381529060405290509392505050565b6000614522827f01ffc9a700000000000000000000000000000000000000000000000000000000614542565b8015610f91575061453b826001600160e01b0319614542565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d915060005190508280156145e3575060208210155b80156145ef5750600081115b979650505050505050565b6020810151603482015160609190911c9060009060f81c612cc2565b80516020808301519190811015614637576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f9157610f9161463d565b60008083601f84011261467857600080fd5b50813567ffffffffffffffff81111561469057600080fd5b6020830191508360208260051b85010111156146ab57600080fd5b9250929050565b803560ff811681146128e357600080fd5b6000806000806000608086880312156146db57600080fd5b85359450602086013567ffffffffffffffff8111156146f957600080fd5b61470588828901614666565b90955093506147189050604087016146b2565b949793965091946060013592915050565b60005b8381101561474457818101518382015260200161472c565b50506000910152565b60008151808452614765816020860160208601614729565b601f01601f19169290920160200192915050565b602081526000610b1b602083018461474d565b60008083601f84011261479e57600080fd5b50813567ffffffffffffffff8111156147b657600080fd5b6020830191508360208285010111156146ab57600080fd5b600080600080600080608087890312156147e757600080fd5b86359550602087013567ffffffffffffffff8082111561480657600080fd5b6148128a838b01614666565b909750955085915061482660408a016146b2565b9450606089013591508082111561483c57600080fd5b5061484989828a0161478c565b979a9699509497509295939492505050565b6000806000806060858703121561487157600080fd5b84359350602085013567ffffffffffffffff81111561488f57600080fd5b61489b87828801614666565b90945092506148ae9050604086016146b2565b905092959194509250565b60008060008060008060008060a0898b0312156148d557600080fd5b88359750602089013567ffffffffffffffff808211156148f457600080fd5b6149008c838d01614666565b909950975060408b013591508082111561491957600080fd5b6149258c838d0161478c565b909750955060608b0135945060808b013591508082111561494557600080fd5b506149528b828c0161478c565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a03121561498157600080fd5b87359650602088013567ffffffffffffffff808211156149a057600080fd5b6149ac8b838c01614666565b90985096508691506149c060408b016146b2565b955060608a01359150808211156149d657600080fd5b506149e38a828b0161478c565b989b979a50959894979596608090950135949350505050565b600060208284031215614a0e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614a5457614a54614a15565b604052919050565b600082601f830112614a6d57600080fd5b813567ffffffffffffffff811115614a8757614a87614a15565b614a9a6020601f19601f84011601614a2b565b818152846020838601011115614aaf57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614adf57600080fd5b82359150602083013567ffffffffffffffff811115614afd57600080fd5b614b0985828601614a5c565b9150509250929050565b60008060008060608587031215614b2957600080fd5b84359350602085013567ffffffffffffffff811115614b4757600080fd5b614b5387828801614666565b9598909750949560400135949350505050565b606081526000614b79606083018661474d565b8460208401528281036040840152610b45818561474d565b600082601f830112614ba257600080fd5b8135602067ffffffffffffffff821115614bbe57614bbe614a15565b8160051b614bcd828201614a2b565b9283528481018201928281019087851115614be757600080fd5b83870192505b848310156145ef57823582529183019190830190614bed565b600080600080600060a08688031215614c1e57600080fd5b85359450602086013567ffffffffffffffff811115614c3c57600080fd5b614c4888828901614b91565b945050614c57604087016146b2565b94979396509394606081013594506080013592915050565b600080600060408486031215614c8457600080fd5b83359250602084013567ffffffffffffffff811115614ca257600080fd5b614cae86828701614666565b9497909650939450505050565b6001600160a01b03811681146116b257600080fd5b600080600060608486031215614ce557600080fd5b8335614cf081614cbb565b925060208401359150604084013567ffffffffffffffff811115614d1357600080fd5b614d1f86828701614a5c565b9150509250925092565b60008060008060808587031215614d3f57600080fd5b84359350602085013567ffffffffffffffff811115614d5d57600080fd5b614d6987828801614b91565b935050614d78604086016146b2565b9396929550929360600135925050565b600080600060608486031215614d9d57600080fd5b83359250602084013567ffffffffffffffff811115614dbb57600080fd5b614dc786828701614b91565b925050614dd6604085016146b2565b90509250925092565b60008060408385031215614df257600080fd5b8235614dfd81614cbb565b9150602083013567ffffffffffffffff811115614afd57600080fd5b60008060008060008060808789031215614e3257600080fd5b86359550602087013567ffffffffffffffff80821115614e5157600080fd5b614e5d8a838b01614666565b90975095506040890135915065ffffffffffff82168214614e7d57600080fd5b9093506060880135908082111561483c57600080fd5b803564ffffffffff811681146128e357600080fd5b60008060008060008060008060c0898b031215614ec457600080fd5b88359750602089013567ffffffffffffffff80821115614ee357600080fd5b614eef8c838d01614666565b9099509750879150614f0360408c016146b2565b9650614f1160608c01614e93565b9550614f1f60808c01614e93565b945060a08b013591508082111561494557600080fd5b600060208284031215614f4757600080fd5b8135610b1b81614cbb565b634e487b7160e01b600052603260045260246000fd5b604081526000614f7b604083018561474d565b90506001600160a01b03831660208301529392505050565b60008151808452602080850194506020840160005b83811015614fc457815187529582019590820190600101614fa8565b509495945050505050565b848152608060208201526000614fe86080830186614f93565b60ff949094166040830152506060015292915050565b60006020828403121561501057600080fd5b5051919050565b85815260a06020820152600061503060a0830187614f93565b60ff86166040840152828103606084015261504b818661474d565b9150508260808301529695505050505050565b600060ff821660ff81036150745761507461463d565b60010192915050565b6001600160a01b0384168152826020820152606060408201526000610d31606083018461474d565b60ff8281168282160390811115610f9157610f9161463d565b81810381811115610f9157610f9161463d565b6000602082840312156150e357600080fd5b81518015158114610b1b57600080fd5b6060815260006151066060830186614f93565b65ffffffffffff851660208401528281036040840152610b45818561474d565b84815260806020820152600061513f6080830186614f93565b65ffffffffffff8516604084015282810360608401526145ef818561474d565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516151c0816003860160208901614729565b8084019050816003820152845191506151e0826004830160208801614729565b0160040195945050505050565b828152604060208201526000610829604083018461474d565b8281526000602080830184516020860160005b8281101561523557815184529284019290840190600101615219565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b8082028115828204841417610f9157610f9161463d565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610d31606083018461474d565b64ffffffffff8181168382160190808211156152ce576152ce61463d565b5092915050565b87815260e0602082015260006152ee60e0830189614f93565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152615325818561474d565b9a9950505050505050505050565b60a08152600061534660a0830188614f93565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526121c4818561474d565b60808152600061538c6080830187614f93565b828103602084015261539e818761474d565b905084604084015282810360608401526145ef818561474d565b86815260c0602082015260006153d160c0830188614f93565b82810360408401526153e3818861474d565b905085606084015282810360808401526153fd818661474d565b9150508260a0830152979650505050505050565b602081526000610b1b6020830184614f93565b83815260606020820152600061543d6060830185614f93565b9050826040830152949350505050565b606081526000615460606083018661474d565b60208301949094525060400152919050565b60008251615484818460208701614729565b9190910192915050565b6000826154ab57634e487b7160e01b600052601260045260246000fd5b500490565b600084516154c2818460208901614729565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1740:15828:57:-:0;;;2128:81;;;;;;;;;-1:-1:-1;739:22:21;996:42:24;2304:38;;-1:-1:-1;;;;;;2304:38:24;4066:4:20;2304:38:24;;;3993:84:20;739:22:21;772:25;;-1:-1:-1;;;783:13:21;772:25;;;;;2158:10:57;2148:20;;2179:25;;-1:-1:-1;;;2190:13:57;2179:25;;;;;1740:15828;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101d15760003560e01c80638c364d59116100f7578063c4d66de811610095578063d9c03a0411610064578063d9c03a0414610750578063dbbf0e2114610650578063e228a4a314610770578063ef6ea8621461079057610266565b8063c4d66de8146106d0578063cc49db7e146106f0578063d03edb8c14610710578063d4285dc21461073057610266565b8063af068c9e116100d1578063af068c9e14610670578063b047c1eb14610690578063c0a2895a146106b0578063c1122229146105ca57610266565b80638c364d59146106105780639f1fcf0a14610630578063a53417ed1461065057610266565b8063390baae01161016f5780634dc77d971161013e5780634dc77d971461058a578063505a181d146105aa5780636951955d146105ca578063894ecc58146105fd57610266565b8063390baae0146104fa5780633a77c2c21461051a5780633ae7af0814610548578063419b58fd1461055b57610266565b8063150f3262116101ab578063150f32621461047a5780631e7889771461049a578063298314fb146104ba5780633708196e146104da57610266565b806302d05d3f146103dc57806305242d2f1461042d578063114a72661461045a57610266565b366102665760408051616e7360f01b60208201526000602282018190526030820181905291610218910160405160208183030381529060405261021390614616565b6107b0565b60408051616e7360f01b60208201526000602282018190526030820152919250610264910160405160208183030381529060405261025590614616565b61025f3484614653565b610831565b005b303303610299576040516327a1460b60e21b81526001600160e01b03196000351660048201526024015b60405180910390fd5b60008080806102a66108d2565b6001600160a01b0316036103185760006102bf33610921565b146102f8576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610290565b506001821561030f5761030a826109a6565b610318565b610318336109a6565b6000806103306000356001600160e01b031916610a1f565b91509150816000801b0361037e576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b0319600035166004820152602401610290565b60006103c26000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509250869150610aef9050565b905060006103d233858434610b22565b9050805160208201f35b3480156103e857600080fd5b506104107f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561043957600080fd5b5061044d6104483660046146c3565b610b4f565b6040516104249190614779565b34801561046657600080fd5b506102646104753660046147ce565b610b92565b34801561048657600080fd5b506102646104953660046147ce565b610c45565b3480156104a657600080fd5b5061044d6104b536600461485b565b610cf0565b3480156104c657600080fd5b506102646104d53660046148b9565b610d3a565b3480156104e657600080fd5b506102646104f5366004614966565b610e23565b34801561050657600080fd5b50610264610515366004614966565b610ed9565b34801561052657600080fd5b5061053a6105353660046149fc565b610f86565b604051908152602001610424565b61044d610556366004614acc565b610f97565b34801561056757600080fd5b5061057b610576366004614b13565b611071565b60405161042493929190614b66565b34801561059657600080fd5b5061044d6105a5366004614c06565b6110c6565b3480156105b657600080fd5b506102646105c5366004614c6f565b6110d5565b3480156105d657600080fd5b507f312e302e302d756e61756469746564000000000000000000000000000000000061053a565b61044d61060b366004614cd0565b61114a565b34801561061c57600080fd5b5061053a61062b3660046146c3565b611344565b34801561063c57600080fd5b5061053a61064b366004614d29565b611387565b34801561065c57600080fd5b5061053a61066b366004614d88565b611395565b34801561067c57600080fd5b5061026461068b366004614ddf565b6113a2565b34801561069c57600080fd5b506102646106ab366004614e19565b61141a565b3480156106bc57600080fd5b506102646106cb366004614ea8565b6114c5565b3480156106dc57600080fd5b506102646106eb366004614f35565b611573565b3480156106fc57600080fd5b5061057b61070b366004614c6f565b6116b5565b34801561071c57600080fd5b5061044d61072b36600461485b565b611707565b34801561073c57600080fd5b5061053a61074b3660046149fc565b611748565b34801561075c57600080fd5b5061026461076b3660046146c3565b611753565b34801561077c57600080fd5b5061053a61078b3660046149fc565b6117d3565b34801561079c57600080fd5b506102646107ab3660046147ce565b6117de565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106107e9576107e9614f52565b602090810291909101015260006108297f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b611889565b949350505050565b60408051600180825281830190925260009160208083019080368337019050509050828160008151811061086757610867614f52565b6020026020010181815250506108cd7f7462776f726c6400000000000000000042616c616e636573000000000000000060001b826000856040516020016108b091815260200190565b60408051601f19818403018152919052630100080160dd1b6118b6565b505050565b6040805160008082526020820190925260006109177f7462776f726c640000000000000000005472616e73616374696f6e436f6e74658383630500400560da1b6118cb565b60601c9392505050565b60408051600180825281830190925260009182919060208083019080368337019050509050826001600160a01b031660001b8160008151811061096657610966614f52565b602090810291909101015260006108297f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b6118cb565b604080516000808252602082018352606084901b6bffffffffffffffffffffffff19169282019290925290610a1b907f7462776f726c640000000000000000005472616e73616374696f6e436f6e7465908390605482015b60408051601f19818403018152919052630500400560da1b611988565b5050565b6040805160018082528183019092526000918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681600081518110610a7857610a78614f52565b602090810291909101015260008080610ad17f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e24020020040000000000000000000000000000000000000000000000000000611a3d565b925092509250610ae2838383611b45565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b6060600080610b3387878787611b5d565b9150915081610b4557610b4581611d2d565b9695505050505050565b6060610b4586868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250889250879150611d359050565b303303610bc0576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610bca8633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611dc692505050565b505050505050565b303303610c73576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610c7d8633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f890181900481028201810190925287815289935091508790879081908401838280828437600092019190915250611de192505050565b6060610d3185858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250879250611e1c915050565b95945050505050565b303303610d68576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610d728833611d7a565b610e198888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a915089908190840183828082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250611e5692505050565b5050505050505050565b303303610e51576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610e5b8733611d7a565b610ed08787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a935091508890889081908401838280828437600092019190915250889250611e6c915050565b50505050505050565b303303610f07576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b610f118733611d7a565b610ed08787878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920191909152508892506118b6915050565b6000610f9182611eaf565b92915050565b6060303303610fc7576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6000808080610fd46108d2565b6001600160a01b031603611046576000610fed33610921565b14611026576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610290565b506001821561103d57611038826109a6565b611046565b611046336109a6565b61105233878734610b22565b93508015156001036110685761106860006109a6565b50505092915050565b6060600060606110b687878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250899250611a3d915050565b9250925092509450945094915050565b6060610b458686868686611f34565b303303611103576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61110d8333611d7a565b6108cd8383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061203792505050565b606030330361117a576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6001846000806111886108d2565b6001600160a01b0316036111fa5760006111a133610921565b146111da576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610290565b50600182156111f1576111ec826109a6565b6111fa565b6111fa336109a6565b336001600160a01b0388160361121d5761121633878734610b22565b9350611326565b6000611229883361204a565b90506112388189338a8a6120fb565b156112515761124988888834610b22565b945050611326565b600061125e89600061204a565b905061126d818a338b8b6120fb565b156112875761127e89898934610b22565b95505050611326565b60006112b9616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008b16176121d0565b90506112c8818b338c8c6120fb565b156112e3576112d98a8a8a34610b22565b9650505050611326565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038b166004820152336024820152604401610290565b80151560010361133a5761133a60006109a6565b5050509392505050565b6000610b45868686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508892508791506118899050565b6000610d3185858585612249565b600061082984848461228d565b3033036113d0576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b60408051616e7360f01b60208201526000602282018190526030820152611410910160405160208183030381529060405261140a90614616565b336122a3565b610a1b82826122f4565b303303611448576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6114528633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284376000920191909152506123a792505050565b3033036114f3576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6114fd8833611d7a565b610e198888888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528b93508a92508991899089908190840183828082843760009201919091525061264292505050565b3033036115a1576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116455760408051616e7360f01b60208201526000602282018190526030820152611610910160405160208183030381529060405261160b90614616565b61265a565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614f68565b600061164f612797565b6001600160a01b03161461168f576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611698816127dc565b6040805160008152602081019091526116b29082906122f4565b50565b6060600060606116f88686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061283892505050565b92509250925093509350939050565b6060610d318585858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525087925061285e915050565b6000610f9182612874565b303303611781576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b61178b8533611d7a565b6117cc858585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508792508691506128e89050565b5050505050565b6000610f9182612941565b30330361180c576040516327a1460b60e21b81526001600160e01b0319600035166004820152602401610290565b6118168633611d7a565b610c3d8686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020601f89018190048102820181019092528781528993509150879087908190840183828082843760009201919091525061296792505050565b6000610d3161189886866129a2565b60ff858116601b0360080285901c166118b185876129f8565b612a31565b6117cc85856118c584876129f8565b856123a7565b6000806118d6612a82565b9050306001600160a01b038216036118fc576118f486868686611889565b915050610829565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d5990611947908990899089908990600401614fcf565b602060405180830381865afa158015611964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f49190614ffe565b6000611992612a82565b9050306001600160a01b038216036119b6576119b186868686866118b6565b610c3d565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090611a039089908990899089908990600401615017565b600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b50505050505050505050565b6060600060606000611a4e85612abc565b9050611a5b878783612adf565b93506000611a6886612b18565b90508015611b3a57611a7a8888612b55565b935066ffffffffffffff841667ffffffffffffffff811115611a9e57611a9e614a15565b6040519080825280601f01601f191660200182016040528015611ac8576020820181803683370190505b5092506020830160005b828160ff161015611b37576000611aea8b8b84612b68565b90506000611b07888460ff166028026038011c64ffffffffff1690565b9050611b168260008387612be8565b611b208185614653565b935050508080611b2f9061505e565b915050611ad2565b50505b505093509350939050565b600080611b5185612cb4565b90969095509350505050565b600060606000611b6c86612cc9565b905060005b8151811015611c3f576000828281518110611b8e57611b8e614f52565b60200260200101519050611bba6001826affffffffffffffffffffff1916612d5290919063ffffffff16565b15611c36576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c332303190611c03908c908c908c9060040161507d565b600060405180830381600087803b158015611c1d57600080fd5b505af1158015611c31573d6000803e3d6000fd5b505050505b50600101611b71565b50611c4c87858888612d70565b909350915060005b8151811015611d22576000828281518110611c7157611c71614f52565b60200260200101519050611c9d6002826affffffffffffffffffffff1916612d5290919063ffffffff16565b15611d19576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ce6908c908c908c9060040161507d565b600060405180830381600087803b158015611d0057600080fd5b505af1158015611d14573d6000803e3d6000fd5b505050505b50600101611c54565b505094509492505050565b805160208201fd5b6060611d4082612e8b565b8360ff161015611d5d57611d5685858585612e9d565b9050610829565b611d568585611d6b85612e8b565b611d7590876150a5565b611e1c565b611d848282612eca565b610a1b57611d918261265a565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610290929190614f68565b611ddb84848484611dd689611eaf565b611e6c565b50505050565b6000611ded8585612b55565b90506000611e0a828560ff166028026038011c64ffffffffff1690565b9050610c3d8686868460008888612f0d565b6060610829611e2c858585612b68565b6000611e5185611e3c8989612b55565b9060ff166028026038011c64ffffffffff1690565b613345565b6117cc8585858585611e678b611eaf565b613368565b611e7581612e8b565b8360ff161015611e9157611e8c85858585856118b6565b6117cc565b6117cc8585611e9f84612e8b565b611ea990876150a5565b85612967565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611efe57507e60030220202000000000000000000000000000000000000000000000000000919050565b610f91611f2b7f746273746f72650000000000000000005461626c657300000000000000000000846136a1565b60206000612a31565b606081831115611f7a576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610290565b6000611f868787612b55565b90506000611fa3828760ff166028026038011c64ffffffffff1690565b90508085101580611fb357508084115b1561200e578081861015611fd157611fcc6001866150be565b611fd3565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610290565b600061201b898989612b68565b905061202a8187888803613345565b9998505050505050505050565b610a1b828261204585611eaf565b6136bd565b60408051600280825260608201835260009283929190602083019080368337019050509050836001600160a01b031660001b8160008151811061208f5761208f614f52565b602002602001018181525050826001600160a01b031660001b816001815181106120bb576120bb614f52565b60209081029190910101526000610d317f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b611889565b6000612106866139bc565b1561211357506001610d31565b8561212057506000610d31565b60008061219c8660008a8a898960405160240161213f9392919061507d565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612d70565b91509150816121b057600092505050610d31565b808060200190518101906121c491906150d1565b98975050505050505050565b60408051600180825281830190925260009182919060208083019080368337019050509050828160008151811061220957612209614f52565b602090810291909101015260006108297f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b611889565b60008061225583612e8b565b90508060ff168460ff1610156122795760ff848116601b0360080284901c166118f4565b6118f4868661228884886150a5565b613a37565b600061082984848461229e88611eaf565b612249565b6001600160a01b0381166122dd616e7360f01b7dffffffffffffffffffffffffffff00000000000000000000000000000000851617613a47565b6001600160a01b031614610a1b57611d918261265a565b61231e827f6fdd1c8000000000000000000000000000000000000000000000000000000000613acb565b61239333600084846040516024016123369190614779565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b033500000000000000000000000000000000000000000000000000000000179052613b26565b50610a1b8282805190602001206001613b37565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff000000000000000000000000000000000000000000000000000000000000160361243157837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051612424939291906150f3565b60405180910390a2611ddb565b600061243d85856129a2565b9050600061244a86613c1b565b905060005b815181101561251f57600082828151811061246c5761246c614f52565b602002602001015190506124986004826affffffffffffffffffffff1916612d5290919063ffffffff16565b15612516576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d906124e3908b908b908b908b90600401615126565b600060405180830381600087803b1580156124fd57600080fd5b505af1158015612511573d6000803e3d6000fd5b505050505b5060010161244f565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051612554939291906150f3565b60405180910390a261256f828565ffffffffffff1685613c8d565b60005b8151811015610ed057600082828151811061258f5761258f614f52565b602002602001015190506125bb6008826affffffffffffffffffffff1916612d5290919063ffffffff16565b15612639576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190612606908b908b908b908b90600401615126565b600060405180830381600087803b15801561262057600080fd5b505af1158015612634573d6000803e3d6000fd5b505050505b50600101612572565b610c3d8686868686866126558d8d612b55565b612f0d565b606081601081901b600061266d83613ca3565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156126c8576126c37fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613cba565b6126ff565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156127355761273083613cba565b61276c565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161277e9392919061515f565b6040516020818303038152906040529350505050919050565b6040805160008082526020820190925260006109177f7462776f726c64000000000000000000496e69744d6f64756c654164647265738383630500400560da1b6118cb565b604080516000808252602082018352606084901b6bffffffffffffffffffffffff19169282019290925290610a1b907f7462776f726c64000000000000000000496e69744d6f64756c65416464726573908390605482016109fe565b606060006060612851858561284c88611eaf565b611a3d565b9250925092509250925092565b606061082984848461286f88611eaf565b611d35565b600061287f82613d5e565b905061288a82613df0565b6128e35781826040516020016128a291815260200190565b60408051601f19818403018152908290527f41e713ad00000000000000000000000000000000000000000000000000000000825261029092916004016151ed565b919050565b60006128f48585612b55565b90506000612911828560ff166028026038011c64ffffffffff1690565b9050610c3d86868661292a8764ffffffffff87166150be565b604080516000815260208101909152889088612f0d565b600061294c82613e8d565b9050806128e35781826040516020016128a291815260200190565b60006129738585612b55565b90506000612990828560ff166028026038011c64ffffffffff1690565b9050610c3d8686866000858888612f0d565b600082826040516020016129b7929190615206565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600080805b8360ff16811015612a2957612a1f60ff601b83900360080287901c1683614653565b91506001016129fd565b509392505050565b600060208210612a5757602082048401935060208281612a5357612a53615242565b0691505b508254600882021b602082900380841115612a29576001850154600882021c82179150509392505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b0316806128e3573391505090565b60006008612acc600260206150be565b612ad69190615258565b9190911c919050565b606081600003612afe5750604080516020810190915260008152610b1b565b6000612b0a85856129a2565b9050610d3181600085613345565b60006008600180612b2b600260206150be565b612b3591906150be565b612b3f91906150be565b612b499190615258565b8260ff911c1692915050565b6000610b1b612b648484613f1f565b5490565b60008383604051602001612b7d929190615206565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215612c6f5760208310612c1257602083048401935060208381612c0e57612c0e615242565b0692505b8215612c6f576020839003600081841015612c355750600019600884021c612c3f565b50600019600882021c5b8554600886021b818451168219821617845250818411612c60575050611ddb565b50600194909401939182900391015b5b60208210612c915783548152600190930192601f1990910190602001612c70565b8115611ddb576000600019600884021c8251865482191691161782525050505050565b602081015160408201516000905b9050915091565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612d0357612d03614f52565b60209081029190910101526000612d3b7f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611e1c565b9050610829612d4d8260008451613f75565b614003565b60008160ff1682612d638560581c90565b1660ff1614905092915050565b60006060600080612d8086614014565b90925090506001600160a01b038216612dd15785612d9d8761265a565b6040517ffbf10ce60000000000000000000000000000000000000000000000000000000081526004016102909291906151ed565b80612de057612de08689611d7a565b8615612e2c577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b176000612e19826107b0565b9050612e298261025f8b84614653565b50505b6000612e388760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612e7057612e6b888884886140b8565b612e7c565b612e7c88888488614130565b90999098509650505050505050565b600060086001612b35600260206150be565b6060610d31612eac86866129a2565b612eb684866129f8565b60ff868116601b0360080286901c16613345565b6000612efd616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783614191565b80610b1b5750610b1b8383614191565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612fcd577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612f8b91815260200190565b60408051601f19818403018152908290527f31b4668300000000000000000000000000000000000000000000000000000000825261029093929160040161526f565b6000612fe8828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff168361300191906150be565b61300b9190614653565b905080821415801561302d57508161302386886152b0565b64ffffffffff1614155b1561307d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610290565b818664ffffffffff1611156130ce576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610290565b60006130db84898461425a565b905060006130e88b613c1b565b905060005b81518110156131b357600082828151811061310a5761310a614f52565b602002602001015190506131366010826affffffffffffffffffffff1916612d5290919063ffffffff16565b156131aa57606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161317797969594939291906152d5565b600060405180830381600087803b15801561319157600080fd5b505af11580156131a5573d6000803e3d6000fd5b505050505b506001016130ed565b5064ffffffffff881660005b8a60ff168160ff1610156131f2576131e6878260ff166028026038011c64ffffffffff1690565b909101906001016131bf565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c60405161322b959493929190615333565b60405180910390a25082841461324c5760006132478c8c613f1f565b839055505b60006132598c8c8c612b68565b905061326d818a64ffffffffff1689613c8d565b5060005b815181101561333757600082828151811061328e5761328e614f52565b602002602001015190506132ba6020826affffffffffffffffffffff1916612d5290919063ffffffff16565b1561332e57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016132fb97969594939291906152d5565b600060405180830381600087803b15801561331557600080fd5b505af1158015613329573d6000803e3d6000fd5b505050505b50600101613271565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252612a2985858584612be8565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036133f457857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516133e79493929190615379565b60405180910390a2610c3d565b60006133ff87613c1b565b905060005b81518110156134d857600082828151811061342157613421614f52565b6020026020010151905061344d6001826affffffffffffffffffffff1916612d5290919063ffffffff16565b156134cf576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c9061349c908c908c908c908c908c908c906004016153b8565b600060405180830381600087803b1580156134b657600080fd5b505af11580156134ca573d6000803e3d6000fd5b505050505b50600101613404565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a98787878760405161350f9493929190615379565b60405180910390a2600061352388886129a2565b9050600060208701905061353b826000895184614328565b600061354685612b18565b11156135ca5760006135588a8a613f1f565b878155905060208601915060008060005b61357288612b18565b8160ff1610156135c5576135878d8d83612b68565b92506135a28a8260ff166028026038011c64ffffffffff1690565b91506135b18360008488614328565b6135bb8286614653565b9450600101613569565b505050505b60005b8351811015611a315760008482815181106135ea576135ea614f52565b602002602001015190506136166002826affffffffffffffffffffff1916612d5290919063ffffffff16565b15613698576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613665908e908e908e908e908e908e906004016153b8565b600060405180830381600087803b15801561367f57600080fd5b505af1158015613693573d6000803e3d6000fd5b505050505b506001016135cd565b60408051602081018490529081018290526000906060016129b7565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361374357827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516137369190615411565b60405180910390a2505050565b600061374e84613c1b565b905060005b815181101561382157600082828151811061377057613770614f52565b6020026020010151905061379c6040826affffffffffffffffffffff1916612d5290919063ffffffff16565b15613818576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf45906137e590899089908990600401615424565b600060405180830381600087803b1580156137ff57600080fd5b505af1158015613813573d6000803e3d6000fd5b505050505b50600101613753565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516138529190615411565b60405180910390a2600061386685856129a2565b90506138bf81600061387786612abc565b67ffffffffffffffff81111561388f5761388f614a15565b6040519080825280601f01601f1916602001820160405280156138b9576020820181803683370190505b50613c8d565b60006138ca84612b18565b11156138eb5760006138dc8686613f1f565b90506138e98160206143e7565b505b60005b8251811015610c3d57600083828151811061390b5761390b614f52565b602002602001015190506139376080826affffffffffffffffffffff1916612d5290919063ffffffff16565b156139b3576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613980908a908a908a90600401615424565b600060405180830381600087803b15801561399a57600080fd5b505af11580156139ae573d6000803e3d6000fd5b505050505b506001016138ee565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201526000602282018190527f756e6c696d69746564000000000000000000000000000000000000000000000060308301529101604051602081830303815290604052613a2f90614616565b909114919050565b600061082982611e3c8686612b55565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613a8057613a80614f52565b60209081029190910101526000613ac07f7462776f726c640000000000000000004e616d6573706163654f776e657200008383630500400560da1b611889565b60601c949350505050565b613ad58282614424565b610a1b576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610290565b6060600080610b3387878787614130565b604080516002808252606082018352600092602083019080368337019050509050836001600160a01b031660001b81600081518110613b7857613b78614f52565b6020026020010181815250508281600181518110613b9857613b98614f52565b602002602001018181525050611ddb7f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c657360001b82600085604051602001613be691151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006118b6565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110613c5557613c55614f52565b60209081029190910101526000612d3b7f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611e1c565b6108cd83838351613c9e8560200190565b614328565b6000613cb160706010614653565b9190911b919050565b606060005b6010811015613d1f577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613d1f57600101613cbf565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610829565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613d9757613d97614f52565b602090810291909101015260006108297f746273746f72650000000000000000005461626c6573000000000000000000008360017e60030220202000000000000000000000000000000000000000000000000000611889565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613e2957613e29614f52565b60209081029190910101526000613e817f746273746f72650000000000000000005265736f75726365496473000000000083837e01010001000000000000000000000000000000000000000000000000000000611889565b90506108298160f81c90565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110613ec657613ec6614f52565b602090810291909101015260006108297f746273746f72650000000000000000005461626c6573000000000000000000008360027e60030220202000000000000000000000000000000000000000000000000000611889565b60008282604051602001613f34929190615206565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b600081831180613f855750835182115b15613fc2578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016102909392919061544d565b60208401613fd08482614653565b90506000613fde85856150be565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000610b1b8360156000614440565b6040805160018082528183019092526000918291829160208083019080368337019050509050838160008151811061404e5761404e614f52565b6020908102919091010152600080806140a77f7462776f726c6400000000000000000053797374656d73000000000000000000857e15020014010000000000000000000000000000000000000000000000000000611a3d565b925092509250610ae28383836144bb565b60006060836001600160a01b031660006140d38589896144c7565b6040516140e09190615472565b60006040518083038185875af1925050503d806000811461411d576040519150601f19603f3d011682016040523d82523d6000602084013e614122565b606091505b509097909650945050505050565b60006060836001600160a01b03166141498488886144c7565b6040516141569190615472565b600060405180830381855af49150503d806000811461411d576040519150601f19603f3d011682016040523d82523d6000602084013e614122565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106141ca576141ca614f52565b602002602001018181525050826001600160a01b031660001b816001815181106141f6576141f6614f52565b6020908102919091010152600061424e7f7462776f726c640000000000000000005265736f75726365416363657373000083837e01010001000000000000000000000000000000000000000000000000000000611889565b9050610d318160f81c90565b600064ffffffffff82111561429e576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610290565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106142d057808503820191506142d8565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156143a257602083106143525760208304840193506020838161434e5761434e615242565b0692505b82156143a25760208390036000600019600885021c1990506008850281811c91508351811c9050811987541682821617875550818411614393575050611ddb565b50600194909401939182900391015b5b602082106143c45780518455600190930192601f19909101906020016143a3565b8115611ddb576000600019600884021c8554835182191691161785555050505050565b600060206143f683601f614653565b614400919061548e565b61440a9084614653565b90505b808310156108cd576000835560018301925061440d565b600061442f836144f6565b8015610b1b5750610b1b8383614542565b6060600061444e8560801c90565b90506fffffffffffffffffffffffffffffffff8516600085828161447457614474615242565b04905060405193506020840160208202810160405281855260005b828110156144af578451871c82529387019360209091019060010161448f565b50505050509392505050565b600080611b51856145fa565b60608383836040516020016144de939291906154b0565b60405160208183030381529060405290509392505050565b6000614522827f01ffc9a700000000000000000000000000000000000000000000000000000000614542565b8015610f91575061453b826001600160e01b0319614542565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a700000000000000000000000000000000000000000000000000000000178152825192935060009283928392909183918a617530fa92503d915060005190508280156145e3575060208210155b80156145ef5750600081115b979650505050505050565b6020810151603482015160609190911c9060009060f81c612cc2565b80516020808301519190811015614637576000198160200360031b1b821691505b50919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610f9157610f9161463d565b60008083601f84011261467857600080fd5b50813567ffffffffffffffff81111561469057600080fd5b6020830191508360208260051b85010111156146ab57600080fd5b9250929050565b803560ff811681146128e357600080fd5b6000806000806000608086880312156146db57600080fd5b85359450602086013567ffffffffffffffff8111156146f957600080fd5b61470588828901614666565b90955093506147189050604087016146b2565b949793965091946060013592915050565b60005b8381101561474457818101518382015260200161472c565b50506000910152565b60008151808452614765816020860160208601614729565b601f01601f19169290920160200192915050565b602081526000610b1b602083018461474d565b60008083601f84011261479e57600080fd5b50813567ffffffffffffffff8111156147b657600080fd5b6020830191508360208285010111156146ab57600080fd5b600080600080600080608087890312156147e757600080fd5b86359550602087013567ffffffffffffffff8082111561480657600080fd5b6148128a838b01614666565b909750955085915061482660408a016146b2565b9450606089013591508082111561483c57600080fd5b5061484989828a0161478c565b979a9699509497509295939492505050565b6000806000806060858703121561487157600080fd5b84359350602085013567ffffffffffffffff81111561488f57600080fd5b61489b87828801614666565b90945092506148ae9050604086016146b2565b905092959194509250565b60008060008060008060008060a0898b0312156148d557600080fd5b88359750602089013567ffffffffffffffff808211156148f457600080fd5b6149008c838d01614666565b909950975060408b013591508082111561491957600080fd5b6149258c838d0161478c565b909750955060608b0135945060808b013591508082111561494557600080fd5b506149528b828c0161478c565b999c989b5096995094979396929594505050565b600080600080600080600060a0888a03121561498157600080fd5b87359650602088013567ffffffffffffffff808211156149a057600080fd5b6149ac8b838c01614666565b90985096508691506149c060408b016146b2565b955060608a01359150808211156149d657600080fd5b506149e38a828b0161478c565b989b979a50959894979596608090950135949350505050565b600060208284031215614a0e57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614a5457614a54614a15565b604052919050565b600082601f830112614a6d57600080fd5b813567ffffffffffffffff811115614a8757614a87614a15565b614a9a6020601f19601f84011601614a2b565b818152846020838601011115614aaf57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614adf57600080fd5b82359150602083013567ffffffffffffffff811115614afd57600080fd5b614b0985828601614a5c565b9150509250929050565b60008060008060608587031215614b2957600080fd5b84359350602085013567ffffffffffffffff811115614b4757600080fd5b614b5387828801614666565b9598909750949560400135949350505050565b606081526000614b79606083018661474d565b8460208401528281036040840152610b45818561474d565b600082601f830112614ba257600080fd5b8135602067ffffffffffffffff821115614bbe57614bbe614a15565b8160051b614bcd828201614a2b565b9283528481018201928281019087851115614be757600080fd5b83870192505b848310156145ef57823582529183019190830190614bed565b600080600080600060a08688031215614c1e57600080fd5b85359450602086013567ffffffffffffffff811115614c3c57600080fd5b614c4888828901614b91565b945050614c57604087016146b2565b94979396509394606081013594506080013592915050565b600080600060408486031215614c8457600080fd5b83359250602084013567ffffffffffffffff811115614ca257600080fd5b614cae86828701614666565b9497909650939450505050565b6001600160a01b03811681146116b257600080fd5b600080600060608486031215614ce557600080fd5b8335614cf081614cbb565b925060208401359150604084013567ffffffffffffffff811115614d1357600080fd5b614d1f86828701614a5c565b9150509250925092565b60008060008060808587031215614d3f57600080fd5b84359350602085013567ffffffffffffffff811115614d5d57600080fd5b614d6987828801614b91565b935050614d78604086016146b2565b9396929550929360600135925050565b600080600060608486031215614d9d57600080fd5b83359250602084013567ffffffffffffffff811115614dbb57600080fd5b614dc786828701614b91565b925050614dd6604085016146b2565b90509250925092565b60008060408385031215614df257600080fd5b8235614dfd81614cbb565b9150602083013567ffffffffffffffff811115614afd57600080fd5b60008060008060008060808789031215614e3257600080fd5b86359550602087013567ffffffffffffffff80821115614e5157600080fd5b614e5d8a838b01614666565b90975095506040890135915065ffffffffffff82168214614e7d57600080fd5b9093506060880135908082111561483c57600080fd5b803564ffffffffff811681146128e357600080fd5b60008060008060008060008060c0898b031215614ec457600080fd5b88359750602089013567ffffffffffffffff80821115614ee357600080fd5b614eef8c838d01614666565b9099509750879150614f0360408c016146b2565b9650614f1160608c01614e93565b9550614f1f60808c01614e93565b945060a08b013591508082111561494557600080fd5b600060208284031215614f4757600080fd5b8135610b1b81614cbb565b634e487b7160e01b600052603260045260246000fd5b604081526000614f7b604083018561474d565b90506001600160a01b03831660208301529392505050565b60008151808452602080850194506020840160005b83811015614fc457815187529582019590820190600101614fa8565b509495945050505050565b848152608060208201526000614fe86080830186614f93565b60ff949094166040830152506060015292915050565b60006020828403121561501057600080fd5b5051919050565b85815260a06020820152600061503060a0830187614f93565b60ff86166040840152828103606084015261504b818661474d565b9150508260808301529695505050505050565b600060ff821660ff81036150745761507461463d565b60010192915050565b6001600160a01b0384168152826020820152606060408201526000610d31606083018461474d565b60ff8281168282160390811115610f9157610f9161463d565b81810381811115610f9157610f9161463d565b6000602082840312156150e357600080fd5b81518015158114610b1b57600080fd5b6060815260006151066060830186614f93565b65ffffffffffff851660208401528281036040840152610b45818561474d565b84815260806020820152600061513f6080830186614f93565b65ffffffffffff8516604084015282810360608401526145ef818561474d565b7fffff0000000000000000000000000000000000000000000000000000000000008416815260007f3a0000000000000000000000000000000000000000000000000000000000000080600284015284516151c0816003860160208901614729565b8084019050816003820152845191506151e0826004830160208801614729565b0160040195945050505050565b828152604060208201526000610829604083018461474d565b8281526000602080830184516020860160005b8281101561523557815184529284019290840190600101615219565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b8082028115828204841417610f9157610f9161463d565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201526000610d31606083018461474d565b64ffffffffff8181168382160190808211156152ce576152ce61463d565b5092915050565b87815260e0602082015260006152ee60e0830189614f93565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152615325818561474d565b9a9950505050505050505050565b60a08152600061534660a0830188614f93565b65ffffffffffff8716602084015264ffffffffff8616604084015284606084015282810360808401526121c4818561474d565b60808152600061538c6080830187614f93565b828103602084015261539e818761474d565b905084604084015282810360608401526145ef818561474d565b86815260c0602082015260006153d160c0830188614f93565b82810360408401526153e3818861474d565b905085606084015282810360808401526153fd818661474d565b9150508260a0830152979650505050505050565b602081526000610b1b6020830184614f93565b83815260606020820152600061543d6060830185614f93565b9050826040830152949350505050565b606081526000615460606083018661474d565b60208301949094525060400152919050565b60008251615484818460208701614729565b9190910192915050565b6000826154ab57634e487b7160e01b600052601260045260246000fd5b500490565b600084516154c2818460208901614729565b60609490941b6bffffffffffffffffffffffff19169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1740:15828:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:63:81;;;-1:-1:-1;;;625:63:81;;;197:92:208;16624:19:57;305:11:208;;;298:100;;;414:12;;;407:101;;;16624:19:57;16646:32;;524:12:208;625:63:81;;;;;;;;;;;;617:72;;;:::i;:::-;16646:13:57;:32::i;:::-;625:63:81;;;-1:-1:-1;;;625:63:81;;;197:92:208;662:14:81;305:11:208;;;298:100;;;414:12;;;407:101;16624:54:57;;-1:-1:-1;16684:57:57;;524:12:208;625:63:81;;;;;;;;;;;;617:72;;;:::i;:::-;16717:23:57;16731:9;16717:11;:23;:::i;:::-;16684:13;:57::i;:::-;16618:128;1740:15828;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;;;;;;;;2324:88;16899:5:::1;::::0;;;2576:38:::1;:36;:38::i;:::-;-1:-1:-1::0;;;;;2576:52:57::1;::::0;2572:402:::1;;2703:1;2660:30;2679:10;2660:18;:30::i;:::-;2642:63;2638:330;;2724:45;::::0;::::1;::::0;;2758:10:::1;2724:45;::::0;::::1;1627:74:208::0;1600:18;;2724:45:57::1;1481:226:208::0;2638:330:57::1;-1:-1:-1::0;2810:4:57::1;2824:135:::0;::::1;;;2852:42;2889:4;2852:36;:42::i;:::-;2824:135;;;2911:48;2948:10;2911:36;:48::i;:::-;16925:19:::2;16946:29:::0;16979:31:::2;17002:7;;-1:-1:-1::0;;;;;;17002:7:57::2;16979:22;:31::i;:::-;16924:86;;;;17039:8;17052:1;17021:32:::0;::::2;::::0;17017:84:::2;;17062:39;::::0;::::2;::::0;;-1:-1:-1;;;;;;17093:7:57::2;;;17062:39;::::0;::::2;1372:98:208::0;1345:18;;17062:39:57::2;1228:248:208::0;17017:84:57::2;17191:21;17215:52;17231:8;;17215:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;17215:52:57;-1:-1:-1;17244:22:57;;-1:-1:-1;17215:15:57::2;::::0;-1:-1:-1;17215:52:57:i:2;:::-;17191:76;;17325:23;17351:75;17384:10;17396:8;17406;17416:9;17351:32;:75::i;:::-;17325:101;;17544:10;17538:17;17531:4;17519:10;17515:21;17508:48;1884:32:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1645:55:208;;;1627:74;;1615:2;1600:18;1884:32:57;;;;;;;;3942:258:23;;;;;;;;;;-1:-1:-1;3942:258:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8364:349:57:-;;;;;;;;;;-1:-1:-1;8364:349:57;;;;;:::i;:::-;;:::i;11576:399::-;;;;;;;;;;-1:-1:-1;11576:399:57;;;;;:::i;:::-;;:::i;5209:244:23:-;;;;;;;;;;-1:-1:-1;5209:244:23;;;;;:::i;:::-;;:::i;5866:429:57:-;;;;;;;;;;-1:-1:-1;5866:429:57;;;;;:::i;:::-;;:::i;9122:391::-;;;;;;;;;;-1:-1:-1;9122:391:57;;;;;:::i;:::-;;:::i;10045:403::-;;;;;;;;;;-1:-1:-1;10045:403:57;;;;;:::i;:::-;;:::i;711:156:23:-;;;;;;;;;;-1:-1:-1;711:156:23;;;;;:::i;:::-;;:::i;:::-;;;8303:25:208;;;8291:2;8276:18;711:156:23;8126:208:208;13869:272:57;;;;;;:::i;:::-;;:::i;2604:288:23:-;;;;;;;;;;-1:-1:-1;2604:288:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7725:295::-;;;;;;;;;;-1:-1:-1;7725:295:23;;;;;:::i;:::-;;:::i;13109:284:57:-;;;;;;;;;;-1:-1:-1;13109:284:57;;;;;:::i;:::-;;:::i;1978:85::-;;;;;;;;;;-1:-1:-1;2045:13:57;1978:85;;14541:1768;;;;;;:::i;:::-;;:::i;4597:265:23:-;;;;;;;;;;-1:-1:-1;4597:265:23;;;;;:::i;:::-;;:::i;6467:258::-;;;;;;;;;;-1:-1:-1;6467:258:23;;;;;:::i;:::-;;:::i;5915:216::-;;;;;;;;;;-1:-1:-1;5915:216:23;;;;;:::i;:::-;;:::i;4196:212:57:-;;;;;;;;;;-1:-1:-1;4196:212:57;;;;;:::i;:::-;;:::i;6664:369::-;;;;;;;;;;-1:-1:-1;6664:369:57;;;;;:::i;:::-;;:::i;7557:479::-;;;;;;;;;;-1:-1:-1;7557:479:57;;;;;:::i;:::-;;:::i;3399:553::-;;;;;;;;;;-1:-1:-1;3399:553:57;;;;;:::i;:::-;;:::i;1906:246:23:-;;;;;;;;;;-1:-1:-1;1906:246:23;;;;;:::i;:::-;;:::i;3371:216::-;;;;;;;;;;-1:-1:-1;3371:216:23;;;;;:::i;:::-;;:::i;1386:143::-;;;;;;;;;;-1:-1:-1;1386:143:23;;;;;:::i;:::-;;:::i;12414:404:57:-;;;;;;;;;;-1:-1:-1;12414:404:57;;;;;:::i;:::-;;:::i;1054:151:23:-;;;;;;;;;;-1:-1:-1;1054:151:23;;;;;:::i;:::-;;:::i;10814:377:57:-;;;;;;;;;;-1:-1:-1;10814:377:57;;;;;:::i;:::-;;:::i;4485:308:68:-;4598:16;;;4612:1;4598:16;;;;;;;;;4546:15;;;;4598:16;;;;;;;;;;;;-1:-1:-1;4598:16:68;4569:45;;4653:11;4620:9;4630:1;4620:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4672:13;4688:62;1263:66;4723:9;4672:13;-1:-1:-1;;;4688:24:68;:62::i;:::-;4672:78;4485:308;-1:-1:-1;;;;4485:308:68:o;5784:269::-;5883:16;;;5897:1;5883:16;;;;;;;;;5854:26;;5883:16;;;;;;;;;;;-1:-1:-1;5883:16:68;5854:45;;5938:11;5905:9;5915:1;5905:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5957:91;1263:66;1247:83;;5992:9;6003:1;6024:7;6006:27;;;;;;19363:19:208;;19407:2;19398:12;;19234:182;6006:27:68;;;;-1:-1:-1;;6006:27:68;;;;;;;;;-1:-1:-1;;;5957:24:68;:91::i;:::-;5848:205;5784:269;;:::o;3299:257:79:-;3410:16;;;3351:22;3410:16;;;;;;;;;3433:13;3449:64;1182:66;3381:45;3433:13;-1:-1:-1;;;3449:26:79;:64::i;:::-;3527:23;;;3299:257;-1:-1:-1;;;3299:257:79:o;4163:314:77:-;4271:16;;;4285:1;4271:16;;;;;;;;;4215:19;;;;4271:16;;;;;;;;;;;;-1:-1:-1;4271:16:77;4242:45;;4332:6;-1:-1:-1;;;;;4316:24:77;4308:33;;4293:9;4303:1;4293:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4348:13;4364:64;1269:66;4401:9;4348:13;-1:-1:-1;;;4364:26:77;:64::i;4493:223:79:-;4588:16;;;4559:26;4588:16;;;;;;;;19570:2:208;19566:15;;;-1:-1:-1;;19562:88:208;4662:34:79;;;19550:101:208;;;;4588:16:79;4611:100;;1182:66;;4588:16;;19667:12:208;;;4662:34:79;;;;-1:-1:-1;;4662:34:79;;;;;;;;;-1:-1:-1;;;4611:26:79;:100::i;:::-;4553:163;4493:223;:::o;6973:451:69:-;7122:16;;;7136:1;7122:16;;;;;;;;;7035:19;;;;;;7122:16;;;;;;;;;;;-1:-1:-1;7122:16:69;7093:45;;7167:16;7159:25;;;7144:9;7154:1;7144:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;7192:24;;;7278:78;1271:66;7321:9;1454:66;7278:19;:78::i;:::-;7191:165;;;;;;7369:50;7376:11;7389:15;7406:12;7369:6;:50::i;:::-;7362:57;;;;;;;;6973:451;;;:::o;1497:492:2:-;1678:28;;;1693:4;1678:28;1672:35;;1781:9;1770:21;1837:20;;1895:43;;1686:5;1497:492;;;;;;:::o;5192:401:55:-;5336:17;5362:12;5376:23;5403:115;5433:6;5477:8;5503;5454:5;5403:13;:115::i;:::-;5361:157;;;;5529:7;5524:41;;5538:27;5554:10;5538:15;:27::i;:::-;5578:10;5192:401;-1:-1:-1;;;;;;5192:401:55:o;3942:258:23:-;4101:17;4133:62;4152:7;4161:8;;4133:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4171:10:23;;-1:-1:-1;4183:11:23;;-1:-1:-1;4133:18:23;;-1:-1:-1;4133:62:23:i;8364:349:57:-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;8577:48:::1;8605:7;8614:10;8577:27;:48::i;:::-;8653:55;8672:7;8681:8;;8653:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8653:55:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8691:10;;-1:-1:-1;8653:55:57;-1:-1:-1;8703:4:57;;;;;;8653:55;::::1;8703:4:::0;;;;8653:55;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8653:18:57::1;::::0;-1:-1:-1;;;8653:55:57:i:1;:::-;8364:349:::0;;;;;;:::o;11576:399::-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;11812:48:::1;11840:7;11849:10;11812:27;:48::i;:::-;11892:78;11921:7;11930:8;;11892:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11892:78:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11940:17;;-1:-1:-1;11892:78:57;-1:-1:-1;11959:10:57;;;;;;11892:78;::::1;11959:10:::0;;;;11892:78;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11892:28:57::1;::::0;-1:-1:-1;;;11892:78:57:i:1;5209:244:23:-:0;5353:17;5385:63;5411:7;5420:8;;5385:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5430:17:23;;-1:-1:-1;5385:25:23;;-1:-1:-1;;5385:63:23:i;:::-;5378:70;5209:244;-1:-1:-1;;;;;5209:244:23:o;5866:429:57:-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;6134:48:::1;6162:7;6171:10;6134:27;:48::i;:::-;6211:79;6231:7;6240:8;;6211:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6211:79:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;6250:10:57;;-1:-1:-1;6250:10:57;;;;6211:79;::::1;6250:10:::0;;;;6211:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;6211:79:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6262:14;;-1:-1:-1;6211:79:57;-1:-1:-1;6278:11:57;;;;;;6211:79;::::1;6278:11:::0;;;;6211:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6211:19:57::1;::::0;-1:-1:-1;;;6211:79:57:i:1;:::-;5866:429:::0;;;;;;;;:::o;9122:391::-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;9364:48:::1;9392:7;9401:10;9364:27;:48::i;:::-;9440:68;9459:7;9468:8;;9440:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;9440:68:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;9478:10;;-1:-1:-1;9440:68:57;-1:-1:-1;9490:4:57;;;;;;9440:68;::::1;9490:4:::0;;;;9440:68;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;9496:11:57;;-1:-1:-1;9440:18:57::1;::::0;-1:-1:-1;;9440:68:57:i:1;:::-;9122:391:::0;;;;;;;:::o;10045:403::-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;10293:48:::1;10321:7;10330:10;10293:27;:48::i;:::-;10369:74;10394:7;10403:8;;10369:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10369:74:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;10413:10;;-1:-1:-1;10369:74:57;-1:-1:-1;10425:4:57;;;;;;10369:74;::::1;10425:4:::0;;;;10369:74;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10431:11:57;;-1:-1:-1;10369:24:57::1;::::0;-1:-1:-1;;10369:74:57:i:1;711:156:23:-:0;784:23;829:33;854:7;829:24;:33::i;:::-;815:47;711:156;-1:-1:-1;;711:156:23:o;13869:272:57:-;14034:12;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;14006:5:::1;::::0;;;2576:38:::1;:36;:38::i;:::-;-1:-1:-1::0;;;;;2576:52:57::1;::::0;2572:402:::1;;2703:1;2660:30;2679:10;2660:18;:30::i;:::-;2642:63;2638:330;;2724:45;::::0;::::1;::::0;;2758:10:::1;2724:45;::::0;::::1;1627:74:208::0;1600:18;;2724:45:57::1;1481:226:208::0;2638:330:57::1;-1:-1:-1::0;2810:4:57::1;2824:135:::0;::::1;;;2852:42;2889:4;2852:36;:42::i;:::-;2824:135;;;2911:48;2948:10;2911:36;:48::i;:::-;14061:75:::2;14094:10;14106:8;14116;14126:9;14061:32;:75::i;:::-;14054:82;;3079:21:::0;::::1;;3096:4;3079:21:::0;3075:90:::1;;3110:48;3155:1;3110:36;:48::i;:::-;2534:635;2417:1;;13869:272:::0;;;;:::o;2604:288:23:-;2742:23;2767:28;2797:24;2836:51;2856:7;2865:8;;2836:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2875:11:23;;-1:-1:-1;2836:19:23;;-1:-1:-1;;2836:51:23:i;:::-;2829:58;;;;;;2604:288;;;;;;;;:::o;7725:295::-;7908:12;7935:80;7966:7;7975:8;7985:17;8004:5;8011:3;7935:30;:80::i;13109:284:57:-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;13267:48:::1;13295:7;13304:10;13267:27;:48::i;:::-;13347:41;13370:7;13379:8;;13347:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13347:22:57::1;::::0;-1:-1:-1;;;13347:41:57:i:1;14541:1768::-:0;14731:12;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;14705:4:::1;14711:9:::0;2540:18:::1;::::0;2576:38:::1;:36;:38::i;:::-;-1:-1:-1::0;;;;;2576:52:57::1;::::0;2572:402:::1;;2703:1;2660:30;2679:10;2660:18;:30::i;:::-;2642:63;2638:330;;2724:45;::::0;::::1;::::0;;2758:10:::1;2724:45;::::0;::::1;1627:74:208::0;1600:18;;2724:45:57::1;1481:226:208::0;2638:330:57::1;-1:-1:-1::0;2810:4:57::1;2824:135:::0;::::1;;;2852:42;2889:4;2852:36;:42::i;:::-;2824:135;;;2911:48;2948:10;2911:36;:48::i;:::-;14832:10:::2;-1:-1:-1::0;;;;;14819:23:57;::::2;::::0;14815:126:::2;;14859:75;14892:10;14904:8;14914;14924:9;14859:32;:75::i;:::-;14852:82;;;;14815:126;15062:33;15098:75;15138:9;15160:10;15098:26;:75::i;:::-;15062:111;;15184:84;15202:22;15226:9;15237:10;15249:8;15259;15184:17;:84::i;:::-;15180:227;;;15326:74;15359:9;15370:8;15380;15390:9;15326:32;:74::i;:::-;15319:81;;;;;15180:227;15481:35;15519:75;15559:9;15589:1;15519:26;:75::i;:::-;15481:113;;15604:86;15622:24;15648:9;15659:10;15671:8;15681;15604:17;:86::i;:::-;15600:229;;;15748:74;15781:9;15792:8;15802;15812:9;15748:32;:74::i;:::-;15741:81;;;;;;15600:229;15903:40;15946:58;-1:-1:-1::0;;;578:36:59;2820:46;;2819:74;15946:31:57::2;:58::i;:::-;15903:101;;16014:91;16032:29;16063:9;16074:10;16086:8;16096;16014:17;:91::i;:::-;16010:234;;;16163:74;16196:9;16207:8;16217;16227:9;16163:32;:74::i;:::-;16156:81;;;;;;;16010:234;16257:47;::::0;::::2;::::0;;-1:-1:-1;;;;;19943:15:208;;16257:47:57::2;::::0;::::2;19925:34:208::0;16293:10:57::2;19975:18:208::0;;;19968:43;19837:18;;16257:47:57::2;19690:327:208::0;2979:1:57::2;3079:21:::0;::::1;;3096:4;3079:21:::0;3075:90:::1;;3110:48;3155:1;3110:36;:48::i;:::-;2534:635;2417:1;;14541:1768:::0;;;;;:::o;4597:265:23:-;4762:12;4789:68;4814:7;4823:8;;4789:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4833:10:23;;-1:-1:-1;4845:11:23;;-1:-1:-1;4789:24:23;;-1:-1:-1;4789:68:23:i;6467:258::-;6630:7;6652:68;6677:7;6686:8;6696:10;6708:11;6652:24;:68::i;5915:216::-;6049:7;6071:55;6096:7;6105:8;6115:10;6071:24;:55::i;4196:212:57:-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;625:63:81::1;::::0;;-1:-1:-1;;;625:63:81::1;::::0;::::1;197:92:208::0;662:14:81::1;305:11:208::0;;;298:100;;;414:12;;;407:101;4301:57:57::1;::::0;524:12:208;625:63:81::1;;;;;;;;;;;;617:72;;;:::i;:::-;4347:10:57;4301:26;:57::i;:::-;4364:39;4383:6;4391:11;4364:18;:39::i;6664:369::-:0;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;6885:48:::1;6913:7;6922:10;6885:27;:48::i;:::-;6970:58;6997:7;7006:8;;6970:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6970:58:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7016:5;;-1:-1:-1;6970:58:57;-1:-1:-1;7023:4:57;;;;;;6970:58;::::1;7023:4:::0;;;;6970:58;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6970:26:57::1;::::0;-1:-1:-1;;;6970:58:57:i:1;7557:479::-:0;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;7843:48:::1;7871:7;7880:10;7843:27;:48::i;:::-;7929:102;7957:7;7966:8;;7929:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7929:102:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7976:17;;-1:-1:-1;7995:16:57;;-1:-1:-1;8013:11:57;;8026:4;;;;;;7929:102;::::1;8026:4:::0;;;;7929:102;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7929:27:57::1;::::0;-1:-1:-1;;;7929:102:57:i:1;3399:553::-:0;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;3542:10:::1;-1:-1:-1::0;;;;;3556:7:57::1;3542:21;;3538:109;;625:63:81;::::0;;-1:-1:-1;;;625:63:81::1;::::0;::::1;197:92:208::0;662:14:81::1;305:11:208::0;;;298:100;;;414:12;;;407:101;3599:28:57::1;::::0;524:12:208;625:63:81::1;;;;;;;;;;;;617:72;;;:::i;:::-;3599:26:57;:28::i;:::-;3629:10;3580:60;;;;;;;;;;;;:::i;3538:109::-;3738:1;3703:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;3703:37:57::1;;3699:91;;3757:26;;;;;;;;;;;;;;3699:91;3796:42;3826:10;3796:21;:42::i;:::-;3934:12;::::0;;3944:1:::1;3934:12:::0;;::::1;::::0;::::1;::::0;;;3903:44:::1;::::0;3922:10;;3903:18:::1;:44::i;:::-;3399:553:::0;:::o;1906:246:23:-;2015:23;2040:28;2070:24;2109:38;2129:7;2138:8;;2109:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2109:19:23;;-1:-1:-1;;;2109:38:23:i;:::-;2102:45;;;;;;1906:246;;;;;;;:::o;3371:216::-;3501:17;3533:49;3552:7;3561:8;;3533:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3571:10:23;;-1:-1:-1;3533:18:23;;-1:-1:-1;;3533:49:23:i;1386:143::-;1457:16;1493:31;1516:7;1493:22;:31::i;12414:404:57:-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;12649:48:::1;12677:7;12686:10;12649:27;:48::i;:::-;12729:84;12759:7;12768:8;;12729:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12778:17:57;;-1:-1:-1;12797:15:57;;-1:-1:-1;12729:29:57::1;::::0;-1:-1:-1;12729:84:57:i:1;:::-;12414:404:::0;;;;;:::o;1054:151:23:-;1127:18;1167:33;1192:7;1167:24;:33::i;10814:377:57:-;2350:4;2328:10;:27;2324:88;;2372:33;;-1:-1:-1;;;2372:33:57;;-1:-1:-1;;;;;;2397:7:57;;;2372:33;;;1372:98:208;1345:18;;2372:33:57;1228:248:208;2324:88:57;11041:48:::1;11069:7;11078:10;11041:27;:48::i;:::-;11117:69;11143:7;11152:8;;11117:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11117:69:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11162:17;;-1:-1:-1;11117:69:57;-1:-1:-1;11181:4:57;;;;;;11117:69;::::1;11181:4:::0;;;;11117:69;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11117:25:57::1;::::0;-1:-1:-1;;;11117:69:57:i:1;38022:541:20:-:0;38179:7;38316:242;38360:59;38401:7;38410:8;38360:40;:59::i;:::-;38437:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;38486:63:20;38525:11;38538:10;38486:38;:63::i;:::-;38316:17;:242::i;24989:355::-;25161:178;25195:7;25220:8;25250:63;25289:11;25302:10;25250:38;:63::i;:::-;25328:4;25161:16;:178::i;17702:457:24:-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10690:455::-;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:24;-1:-1:-1;;;;;10913:30:24;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;:::-;10909:232;;;11048:86;;;;;-1:-1:-1;;;;;11048:36:24;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10856:289;10690:455;;;;;:::o;34611:1314:20:-;34741:23;34766:28;34796:24;34862:20;34885:30;:11;:28;:30::i;:::-;34862:53;;34976:65;35009:7;35018:8;35028:12;34976:32;:65::i;:::-;34963:78;;35105:24;35132:30;:11;:28;:30::i;:::-;35105:57;-1:-1:-1;35172:20:20;;35168:753;;35265:66;35313:7;35322:8;35265:47;:66::i;:::-;35248:83;-1:-1:-1;6184:59:15;;;35383:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35383:33:20;-1:-1:-1;35369:47:20;-1:-1:-1;828:4:14;818:15;;35424:21:20;35488:427;35506:16;35502:1;:20;;;35488:427;;;35539:27;35569:63;35611:7;35620:8;35630:1;35569:41;:63::i;:::-;35539:93;-1:-1:-1;35642:14:20;35659:25;:14;35682:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35659:25:20;35642:42;;35694:110;35725:19;35754:1;35765:6;35788:13;35694:12;:110::i;:::-;35883:23;35900:6;35883:23;;:::i;:::-;;;35529:386;;35524:3;;;;;:::i;:::-;;;;35488:427;;;;35194:727;35168:753;34822:1103;;34611:1314;;;;;;;:::o;8965:235:69:-;9075:19;9096:29;9170:25;9183:11;9170:12;:25::i;:::-;9133:62;;;;-1:-1:-1;8965:235:69;-1:-1:-1;;;;8965:235:69:o;3716:1003:55:-;3852:12;3866:17;3915:22;3940:26;3957:8;3940:16;:26::i;:::-;3915:51;;4043:9;4038:228;4058:5;:12;4054:1;:16;4038:228;;;4085:9;4107:5;4113:1;4107:8;;;;;;;;:::i;:::-;;;;;;;4085:31;;4128:34;392:6:97;4128:4:55;:14;;;;;:34;;;;:::i;:::-;4124:136;;;4174:77;;;;;3404:35:4;;;;;4174:49:55;;:77;;4224:6;;4232:8;;4242;;4174:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:136;-1:-1:-1;4072:3:55;;4038:228;;;;4341:78;4356:6;4371:5;4388:8;4408;4341:4;:78::i;:::-;4323:96;;-1:-1:-1;4323:96:55;-1:-1:-1;4494:9:55;4489:226;4509:5;:12;4505:1;:16;4489:226;;;4536:9;4558:5;4564:1;4558:8;;;;;;;;:::i;:::-;;;;;;;4536:31;;4579:33;520:6:97;4579:4:55;:14;;;;;:33;;;;:::i;:::-;4575:134;;;4624:76;;;;;3404:35:4;;;;;4624:48:55;;:76;;4673:6;;4681:8;;4691;;4624:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:134;-1:-1:-1;4523:3:55;;4489:226;;;;3885:834;3716:1003;;;;;;;:::o;501:217:96:-;704:6;698:13;691:4;683:6;679:17;672:40;36975:440:20;37126:12;37163:29;:11;:27;:29::i;:::-;37150:10;:42;;;37146:265;;;37209:82;37248:7;37257:8;37267:10;37279:11;37209:38;:82::i;:::-;37202:89;;;;37146:265;37319:85;37335:7;37344:8;37373:29;:11;:27;:29::i;:::-;37354:49;;:10;:49;:::i;:::-;37319:15;:85::i;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;:::-;1743:6;1688:62;;;;;;;;;;;;:::i;22831:192:20:-;22948:70;22957:7;22966:8;22976:10;22988:4;22994:23;23009:7;22994:14;:23::i;:::-;22948:8;:70::i;:::-;22831:192;;;;:::o;30619:790::-;30878:36;30917:66;30965:7;30974:8;30917:47;:66::i;:::-;30878:105;-1:-1:-1;30989:26:20;31025:49;30878:105;31056:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;31025:49:20;30989:86;;31113:291;31167:7;31192:8;31227:17;31277:19;31318:1;31333:10;31375:22;31113:36;:291::i;39031:522::-;39167:12;39291:257;39330:79;39372:7;39381:8;39391:17;39330:41;:79::i;:::-;39427:1;39446:93;39521:17;39446:66;39494:7;39503:8;39446:47;:66::i;:::-;:74;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39446:93:20;39291:12;:257::i;13982:285::-;14168:94;14178:7;14187:8;14197:10;14209:14;14225:11;14238:23;14253:7;14238:14;:23::i;:::-;14168:9;:94::i;23922:409::-;24105:29;:11;:27;:29::i;:::-;24092:10;:42;;;24088:239;;;24144:64;24159:7;24168:8;24178:10;24190:4;24196:11;24144:14;:64::i;:::-;24088:239;;;24229:91;24245:7;24254:8;24283:29;:11;:27;:29::i;:::-;24264:49;;:10;:49;:::i;:::-;24315:4;24229:15;:91::i;6237:651::-;6304:11;6540:62;;;6536:112;;-1:-1:-1;1343:66:29;;6237:651:20;-1:-1:-1;6237:651:20:o;6536:112::-;6692:183;6738:83;1171:66:29;6812:7:20;6738:40;:83::i;:::-;6841:2;6863:1;6692:17;:183::i;42754:1148::-;42931:12;43004:3;42996:5;:11;42992:83;;;43024:44;;;;;;;;23214:25:208;;;23255:18;;;23248:34;;;23187:18;;43024:44:20;23040:248:208;42992:83:20;43284:28;43315:66;43363:7;43372:8;43315:47;:66::i;:::-;43284:97;-1:-1:-1;43387:19:20;43409:41;43284:97;43432:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;43409:41:20;43387:63;;43469:11;43460:5;:20;;:41;;;;43490:11;43484:3;:17;43460:41;43456:157;;;43554:11;43576;43567:5;:20;;:38;;43598:7;43604:1;43598:3;:7;:::i;:::-;43567:38;;;43590:5;43567:38;43518:88;;;;;;;;23214:25:208;;;;23255:18;;;23248:34;23187:18;;43518:88:20;23040:248:208;43456:157:20;43683:16;43702:79;43744:7;43753:8;43763:17;43702:41;:79::i;:::-;43683:98;;43813:78;43844:8;43862:5;43883;43877:3;:11;43813:12;:78::i;:::-;43806:85;42754:1148;-1:-1:-1;;;;;;;;;42754:1148:20:o;27433:145::-;27517:56;27530:7;27539:8;27549:23;27564:7;27549:14;:23::i;:::-;27517:12;:56::i;4990:406:80:-;5132:16;;;5146:1;5132:16;;;;;;;;5065:30;;;;5132:16;5146:1;5132:16;;;;;;;;;;-1:-1:-1;5132:16:80;5103:45;;5193:9;-1:-1:-1;;;;;5177:27:80;5169:36;;5154:9;5164:1;5154:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;5250:9;-1:-1:-1;;;;;5234:27:80;5226:36;;5211:9;5221:1;5211:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;5269:13;5285:62;1271:66;5320:9;5269:13;-1:-1:-1;;;5285:24:80;:62::i;2128:811:43:-;2300:4;2372:32;2384:19;2372:11;:32::i;:::-;2368:49;;;-1:-1:-1;2413:4:43;2406:11;;2368:49;744:53;2476:46;;-1:-1:-1;2517:5:43;2510:12;;2476:46;2636:12;2650:17;2671:193;2703:9;2856:1;2730:19;2810:9;2821:8;2831;2767:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2767:74:43;;;;;;;;;;;;;;;;;;;;2671:15;:193::i;:::-;2635:229;;;;2876:7;2871:26;;2892:5;2885:12;;;;;;2871:26;2921:4;2910:24;;;;;;;;;;;;:::i;:::-;2903:31;2128:811;-1:-1:-1;;;;;;;;2128:811:43:o;4676:329:73:-;4804:16;;;4818:1;4804:16;;;;;;;;;4737:30;;;;4804:16;;;;;;;;;;;;-1:-1:-1;4804:16:73;4775:45;;4859:11;4826:9;4836:1;4826:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4878:13;4894:62;1271:66;4929:9;4878:13;-1:-1:-1;;;4894:24:73;:62::i;40817:427:20:-;40974:7;40989:21;41019:29;:11;:27;:29::i;:::-;40989:60;;41072:15;41059:28;;:10;:28;;;41055:185;;;41104:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;41104:31:20;4318:217:3;41055:185:20;41163:70;41185:7;41194:8;41204:28;41217:15;41204:10;:28;:::i;:::-;41163:21;:70::i;40170:225::-;40298:7;40320:70;40335:7;40344:8;40354:10;40366:23;40381:7;40366:14;:23::i;:::-;40320:14;:70::i;2074:233:42:-;-1:-1:-1;;;;;2159:58:42;;:48;-1:-1:-1;;;578:36:59;2820:46;;2819:74;2159:19:42;:48::i;:::-;-1:-1:-1;;;;;2159:58:42;;2155:148;;2266:21;:10;:19;:21::i;4600:570:57:-;4756:60;4781:6;4790:25;4756:16;:60::i;:::-;4823:210;4898:10;4926:1;4951:6;5013:11;4976:50;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4976:50:57;;;;;;;;;;;;;;;;;;;;4823:55;:210::i;:::-;;5097:68;5127:6;5146:11;5136:22;;;;;;5160:4;5097:21;:68::i;18901:1676:20:-;19101:23;19080:7;:44;;;19076:232;;19231:7;19187:100;19250:8;19267:5;19280:4;19187:100;;;;;;;;:::i;:::-;;;;;;;;19295:7;;19076:232;19314:16;19333:59;19374:7;19383:8;19333:40;:59::i;:::-;19314:78;;19538:22;19563:24;19579:7;19563:15;:24::i;:::-;19538:49;;19598:9;19593:328;19613:5;:12;19609:1;:16;19593:328;;;19640:9;19662:5;19668:1;19662:8;;;;;;;;:::i;:::-;;;;;;;19640:31;;19683:41;548:6:32;19683:4:20;:14;;;;;:41;;;;:::i;:::-;19679:236;;;19736:170;;;;;3404:35:4;;;;;19736:54:20;;:170;;19812:7;;19841:8;;19868:5;;19891:4;;19736:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19679:236;-1:-1:-1;19627:3:20;;19593:328;;;;20022:7;19978:100;20041:8;20058:5;20071:4;19978:100;;;;;;;;:::i;:::-;;;;;;;;20128:70;20160:8;20178:5;20128:70;;20191:4;20128:13;:70::i;:::-;20252:9;20247:326;20267:5;:12;20263:1;:16;20247:326;;;20294:9;20316:5;20322:1;20316:8;;;;;;;;:::i;:::-;;;;;;;20294:31;;20337:40;657:6:32;20337:4:20;:14;;;;;:40;;;;:::i;:::-;20333:234;;;20389:169;;;;;3404:35:4;;;;;20389:53:20;;:169;;20464:7;;20493:8;;20520:5;;20543:4;;20389:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20333:234;-1:-1:-1;20281:3:20;;20247:326;;21476:539;21682:328;21736:7;21761:8;21796:17;21839:16;21876:11;21901:4;21937:66;21985:7;21994:8;21937:47;:66::i;:::-;21682:36;:328::i;3351:592:59:-;3415:13;3485:10;385:5:16;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;3704:35;;;;:102;;3753:53;;;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;3833:25;;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;3836:234:71:-;3924:16;;;3874:13;3924:16;;;;;;;;;3947:13;3963:64;1182:66;3895:45;3947:13;-1:-1:-1;;;3963:26:71;:64::i;4854:191::-;4926:16;;;4897:26;4926:16;;;;;;;;19570:2:208;19566:15;;;-1:-1:-1;;19562:88:208;5000:25:71;;;19550:101:208;;;;4926:16:71;4949:91;;1182:66;;4926:16;;19667:12:208;;;5000:25:71;19421:264:208;33811:253:20;33912:23;33937:28;33967:24;34006:53;34016:7;34025:8;34035:23;34050:7;34035:14;:23::i;:::-;34006:9;:53::i;:::-;33999:60;;;;;;33811:253;;;;;:::o;36354:218::-;36476:12;36503:64;36512:7;36521:8;36531:10;36543:23;36558:7;36543:14;:23::i;:::-;36503:8;:64::i;7148:379::-;7213:16;7249:29;7270:7;7249:20;:29::i;:::-;7237:41;;7392:31;7415:7;7392:22;:31::i;:::-;7387:136;;7473:7;7506;7489:25;;;;;;19363:19:208;;19407:2;19398:12;;19234:182;7489:25:20;;;;-1:-1:-1;;7489:25:20;;;;;;;;;;7440:76;;;;;;;;;:::i;7387:136::-;7148:379;;;:::o;32089:833::-;32349:36;32388:66;32436:7;32445:8;32388:47;:66::i;:::-;32349:105;-1:-1:-1;32460:26:20;32496:49;32349:105;32527:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;32496:49:20;32460:86;-1:-1:-1;32584:333:20;32638:7;32663:8;32698:17;32748:37;32770:15;32748:37;;;;:::i;:::-;32844:12;;;32854:1;32844:12;;;;;;;;32814:15;;32888:22;32584:36;:333::i;7795:273::-;7862:18;7902:31;7925:7;7902:22;:31::i;:::-;7888:45;-1:-1:-1;5479:35:17;7939:125:20;;8014:7;8047;8030:25;;;;;;19363:19:208;;19407:2;19398:12;;19234:182;26034:737:20;26285:36;26324:66;26372:7;26381:8;26324:47;:66::i;:::-;26285:105;-1:-1:-1;26396:26:20;26432:49;26285:105;26463:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;26432:49:20;26396:86;;26489:277;26543:7;26568:8;26603:17;26646:1;26668:19;26701:4;26737:22;26489:36;:277::i;52539:191::-;52641:7;52705;52714:8;52688:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52688:35:20;;;;;;;;;52678:46;;52688:35;52678:46;;;;44145:22;52671:53;;52539:191;-1:-1:-1;;;52539:191:20:o;53556:242::-;53652:7;;;53691:84;53711:10;53707:14;;:1;:14;53691:84;;;53736:32;4431:93:3;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;53736:32:20;;:::i;:::-;;-1:-1:-1;53723:3:20;;53691:84;;;-1:-1:-1;53787:6:20;53556:242;-1:-1:-1;;;53556:242:20:o;8879:812:19:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:19;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;1766:227:24:-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;4754:171:3:-;4828:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;50556:360:20:-;50682:12;50706:6;50716:1;50706:11;50702:26;;-1:-1:-1;50719:9:20;;;;;;;;;-1:-1:-1;50719:9:20;;;;50702:26;50769:16;50788:41;50811:7;50820:8;50788:22;:41::i;:::-;50769:60;;50842:69;50873:8;50891:1;50902:6;50842:12;:69::i;5533:173:3:-;5607:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5643:11:3;5622:79;5635:65;;5622:79;;5533:173;-1:-1:-1;;5533:173:3:o;55672:301:20:-;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;54475:274:20;54619:7;54724;54733:8;54707:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54697:46;;;;;;54676:17;54669:25;;54649:45;;;44217:34;54649:45;:94;54641:103;;54634:110;;54475:274;;;;;:::o;6010:2380:19:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:19;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:19;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;8323:20:19;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:19;;;;:::o;8571:236:69:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8636:19:69;;8778:23;8752:50;;8571:236;;;:::o;4591:344:76:-;4708:16;;;4722:1;4708:16;;;;;;;;;4649:22;;4679:26;;4708:16;;;;;;;;;;;;-1:-1:-1;4708:16:76;4679:45;;4763:8;4730:9;4740:1;4730:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4779:18;4800:49;1266:66;4836:9;4779:18;4800:25;:49::i;:::-;4779:70;;4863:66;:44;4884:5;4891:1;4894:5;:12;4863:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1695:1386:55:-;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;;;;;;2001:27:55;;1997:106;;2073:8;2083:19;:8;:17;:19::i;:::-;2037:66;;;;;;;;;;;;:::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;578:36:59;2820:46;;-1:-1:-1;;;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;2483:50::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:16;2502:44:59;;2404:148;2615:23:55;:41;;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;5135:171:3:-;5208:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;51381:511:20:-;51544:12;51686:201;51725:41;51748:7;51757:8;51725:22;:41::i;:::-;51784:45;51805:11;51818:10;51784:20;:45::i;:::-;51847:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;39291:12:20;:257::i;889:327:42:-;970:4;1112:56;-1:-1:-1;;;578:36:59;2820:46;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;46038:3950:20:-;46456:14;46435:7;:35;;;46431:161;;46526:14;46542:7;46575;46558:25;;;;;;19363:19:208;;19407:2;19398:12;;19234:182;46558:25:20;;;;-1:-1:-1;;46558:25:20;;;;;;;;;;46487:98;;;;;;;;;;:::i;46431:161::-;46598:27;46628:49;:22;46659:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;46628:49:20;46598:79;;46683:26;46748:4;:11;46734;46712:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46683:76;;47031:18;47008:19;:41;;:98;;;;-1:-1:-1;47087:19:20;47053:30;47072:11;47053:16;:30;:::i;:::-;:53;;;;47008:98;47004:218;;;47123:92;;;;;28177:12:208;28216:15;;;47123:92:20;;;28198:34:208;28268:15;;;28248:18;;;28241:43;28320:15;;28300:18;;;28293:43;28140:18;;47123:92:20;27971:371:208;47004:218:20;47328:19;47309:16;:38;;;47305:140;;;47364:74;;;;;;;;28520:25:208;;;28593:12;28581:25;;28561:18;;;28554:53;28493:18;;47364:74:20;28347:266:208;47305:140:20;47484:35;47522:72;:22;47556:17;47575:18;47522:33;:72::i;:::-;47484:110;;47741:22;47766:24;47782:7;47766:15;:24::i;:::-;47741:49;;47801:9;47796:486;47816:5;:12;47812:1;:16;47796:486;;;47843:9;47865:5;47871:1;47865:8;;;;;;;;:::i;:::-;;;;;;;47843:31;;47886:42;770:6:32;47886:4:20;:14;;;;;:42;;;;:::i;:::-;47882:394;;;3404:35:4;;;;-1:-1:-1;;;;;47940:55:20;;48017:7;48046:8;48085:17;48132:16;48173:11;48212:22;48252:4;47940:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47882:394;-1:-1:-1;47830:3:20;;47796:486;;;-1:-1:-1;48340:32:20;;;:13;48480:107;48498:17;48494:21;;:1;:21;;;48480:107;;;48543:33;:22;48574:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;48543:33:20;48534:42;;;;48517:3;;48480:107;;;;48709:7;48656:228;48736:8;48768:5;48797:11;48834:21;48871:4;48656:228;;;;;;;;;;:::i;:::-;;;;;;;;48288:603;48976:18;48953:19;:41;48949:248;;49004:31;49038:48;49068:7;49077:8;49038:29;:48::i;:::-;629:28:19;;;-1:-1:-1;48949:248:20;49254:27;49284:61;49308:7;49317:8;49327:17;49284:23;:61::i;:::-;49254:91;;49353:92;49385:19;49414:16;49353:92;;49438:4;49353:13;:92::i;:::-;49246:206;49506:9;49501:483;49521:5;:12;49517:1;:16;49501:483;;;49548:9;49570:5;49576:1;49570:8;;;;;;;;:::i;:::-;;;;;;;49548:31;;49591:41;881:6:32;49591:4:20;:14;;;;;:41;;;;:::i;:::-;49587:391;;;3404:35:4;;;;-1:-1:-1;;;;;49644:54:20;;49720:7;49749:8;49788:17;49835:16;49876:11;49915:21;49954:4;49644:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49587:391;-1:-1:-1;49535:3:20;;49501:483;;;;46281:3707;;;;46038:3950;;;;;;;:::o;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:19;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;15127:3138:20:-;15421:23;15400:7;:44;;;15396:198;;15514:7;15498:75;15523:8;15533:10;15545:14;15561:11;15498:75;;;;;;;;;:::i;:::-;;;;;;;;15581:7;;15396:198;15732:22;15757:24;15773:7;15757:15;:24::i;:::-;15732:49;;15792:9;15787:340;15807:5;:12;15803:1;:16;15787:340;;;15834:9;15856:5;15862:1;15856:8;;;;;;;;:::i;:::-;;;;;;;15834:31;;15877:33;343:6:32;15877:4:20;:14;;;;;:33;;;;:::i;:::-;15873:248;;;15922:190;;;;;3404:35:4;;;;;15922:47:20;;:190;;15981:7;;16000:8;;16020:10;;16042:14;;16068:11;;16091;;15922:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15873:248;-1:-1:-1;15821:3:20;;15787:340;;;;16191:7;16175:75;16200:8;16210:10;16222:14;16238:11;16175:75;;;;;;;;;:::i;:::-;;;;;;;;16314:26;16343:59;16384:7;16393:8;16343:40;:59::i;:::-;16314:88;-1:-1:-1;16408:21:20;828:4:14;818:15;;16408:54:20;;16468:149;16506:18;16540:1;16557:10;:17;16597:13;16468;:149::i;:::-;16717:1;16684:30;:11;:28;:30::i;:::-;:34;16680:1174;;;16803:33;16839:66;16887:7;16896:8;16839:47;:66::i;:::-;629:28:19;;;16803:102:20;-1:-1:-1;828:4:14;818:15;;17079:47:20;;17235:27;17270:25;17308:7;17303:545;17321:30;:11;:28;:30::i;:::-;17317:1;:34;;;17303:545;;;17387:63;17429:7;17438:8;17448:1;17387:41;:63::i;:::-;17365:85;-1:-1:-1;17480:25:20;:14;17503:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17480:25:20;17460:45;;17515:170;17557:19;17596:1;17617:17;17661:13;17515;:170::i;:::-;17695:34;17712:17;17695:34;;:::i;:::-;;-1:-1:-1;17826:3:20;;17303:545;;;;16720:1134;;;16680:1174;17928:9;17923:338;17943:5;:12;17939:1;:16;17923:338;;;17970:9;17992:5;17998:1;17992:8;;;;;;;;:::i;:::-;;;;;;;17970:31;;18013:32;437:6:32;18013:4:20;:14;;;;;:32;;;;:::i;:::-;18009:246;;;18057:189;;;;;3404:35:4;;;;;18057:46:20;;:189;;18115:7;;18134:8;;18154:10;;18176:14;;18202:11;;18225;;18057:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18009:246;-1:-1:-1;17957:3:20;;17923:338;;52982:282;53227:30;;;;;;32013:19:208;;;32048:12;;;32041:28;;;53070:7:20;;32085:12:208;;53227:30:20;31825:278:208;28177:1778:20;28365:23;28344:7;:44;;;28340:160;;28461:7;28442:37;28470:8;28442:37;;;;;;:::i;:::-;;;;;;;;28177:1778;;;:::o;28340:160::-;28641:22;28666:24;28682:7;28666:15;:24::i;:::-;28641:49;;28701:9;28696:235;28716:5;:12;28712:1;:16;28696:235;;;28743:9;28765:5;28771:1;28765:8;;;;;;;;:::i;:::-;;;;;;;28743:31;;28786:36;983:6:32;28786:4:20;:14;;;;;:36;;;;:::i;:::-;28782:143;;;28834:82;;;;;3404:35:4;;;;;28834:50:20;;:82;;28885:7;;28894:8;;28904:11;;28834:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28782:143;-1:-1:-1;28730:3:20;;28696:235;;;;28998:7;28979:37;29007:8;28979:37;;;;;;:::i;:::-;;;;;;;;29049:26;29078:59;29119:7;29128:8;29078:40;:59::i;:::-;29049:88;;29143:113;29175:18;29203:1;29222:30;:11;:28;:30::i;:::-;29212:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29212:41:20;;29143:13;:113::i;:::-;29475:1;29442:30;:11;:28;:30::i;:::-;:34;29438:236;;;29486:33;29522:66;29570:7;29579:8;29522:47;:66::i;:::-;29486:102;;29596:71;29627:25;29662:2;29596:12;:71::i;:::-;29478:196;29438:236;29723:9;29718:233;29738:5;:12;29734:1;:16;29718:233;;;29765:9;29787:5;29793:1;29787:8;;;;;;;;:::i;:::-;;;;;;;29765:31;;29808:35;1083:6:32;29808:4:20;:14;;;;;:35;;;;:::i;:::-;29804:141;;;29855:81;;;;;3404:35:4;;;;;29855:49:20;;:81;;29905:7;;29914:8;;29924:11;;29855:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29804:141;-1:-1:-1;29752:3:20;;29718:233;;1063:181:43;764:71:81;;;781:15;764:71;;;197:92:208;1139:4:43;305:11:208;;;298:100;;;814:20:81;414:12:208;;;407:101;1139:4:43;524:12:208;764:71:81;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;41760:262:20:-;41902:7;41924:93;41999:17;41924:66;41972:7;41981:8;41924:47;:66::i;4483:306:74:-;4594:16;;;4608:1;4594:16;;;;;;;;;4544:13;;;;4594:16;;;;;;;;;;;;-1:-1:-1;4594:16:74;4565:45;;4649:11;4616:9;4626:1;4616:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4668:13;4684:62;1269:66;4719:9;4668:13;-1:-1:-1;;;4684:24:74;:62::i;:::-;4760:23;;;4483:306;-1:-1:-1;;;;4483:306:74:o;879:238:93:-;964:61;996:15;1013:11;964:31;:61::i;:::-;959:156;;1040:70;;;;;-1:-1:-1;;;;;33034:55:208;;1040:70:93;;;33016:74:208;-1:-1:-1;;;;;;33126:79:208;;33106:18;;;33099:107;32989:18;;1040:70:93;32844:368:208;8517:415:58;8672:17;8698:12;8712:18;8734:133;8777:9;8804:8;8828:6;8852:8;8734:23;:133::i;6350:340:72:-;6472:16;;;6486:1;6472:16;;;;;;;;6443:26;;6472:16;;;;;;;;;;-1:-1:-1;6472:16:72;6443:45;;6533:13;-1:-1:-1;;;;;6517:31:72;6509:40;;6494:9;6504:1;6494:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;6570:13;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;6590:95;1182:66;1166:83;;6625:9;6636:1;6657:11;6639:31;;;;;;33368:14:208;33361:22;33356:3;33352:32;33340:45;;33410:1;33401:11;;33217:201;6639:31:72;;;;-1:-1:-1;;6639:31:72;;;;;;;;;1364:66;6590:24;:95::i;4391:342:28:-;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:28;4478:45;;4562:7;4529:9;4539:1;4529:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4577:18;4598:49;1075:66;4634:9;4577:18;4598:25;:49::i;900:162:19:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::14;818:15;;692:151;1032:24:19;989:5;:68::i;3030:160:59:-;3093:7;3157:26;438:6;385:5:16;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;1796:322::-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;1941:34;;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;33576:66:208;33564:79;;2023:30:59;;;33552:92:208;2023:30:59;;33660:12:208;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;694:164:2;5592:312:29;5711:16;;;5725:1;5711:16;;;;;;;;;5658;;;;5711;;;;;;;;;;;;-1:-1:-1;5711:16:29;5682:45;;5766:7;5733:9;5743:1;5733:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;5781:13;5797:62;1171:66;5832:9;5843:1;1343:66;5797:24;:62::i;3588:314:27:-;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:27;3673:45;;3757:10;3724:9;3734:1;3724:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3775:13;3791:62;1076:66;3826:9;3775:13;1253:66;3791:24;:62::i;:::-;3775:78;;3867:29;3888:5;3875:20;;1452:10:16;1343:126;6974:316:29;7097:16;;;7111:1;7097:16;;;;;;;;;7042:18;;;;7097:16;;;;;;;;;;;;-1:-1:-1;7097:16:29;7068:45;;7152:7;7119:9;7129:1;7119:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;7167:13;7183:62;1171:66;7218:9;7229:1;1343:66;7183:24;:62::i;55104:230:20:-;55225:7;55309;55318:8;55292:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55292:35:20;;;;;;;;;55282:46;;55292:35;55282:46;;;;44308:40;55255:73;;55104:230;-1:-1:-1;;;55104:230:20:o;1954:561:18:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;2128:80::-;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:18;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:18:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;6686:432:78:-;6814:16;;;6828:1;6814:16;;;;;;;;;6744:14;;;;;;6814:16;;;;;;;;;;;-1:-1:-1;6814:16:78;6785:45;;6869:8;6836:9;6846:1;6836:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6886:24;;;6972:78;1262:66;7015:9;1435:66;6972:19;:78::i;:::-;6885:165;;;;;;7063:50;7070:11;7083:15;7100:12;7063:6;:50::i;6058:317:58:-;6197:12;6211:17;6254:6;-1:-1:-1;;;;;6254:11:58;6274:1;6285:79;6311:8;6332:9;6353:8;6285:13;:79::i;:::-;6254:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6236:134:58;;;;-1:-1:-1;6058:317:58;-1:-1:-1;;;;;6058:317:58:o;6879:321::-;7026:12;7040:17;7083:6;-1:-1:-1;;;;;7083:19:58;7110:79;7136:8;7157:9;7178:8;7110:13;:79::i;:::-;7083:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:378:75;4894:16;;;4908:1;4894:16;;;;;;;;4846:11;;;;4894:16;4908:1;4894:16;;;;;;;;;;-1:-1:-1;4894:16:75;4865:45;;4949:10;4916:9;4926:1;4916:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5005:6;-1:-1:-1;;;;;4989:24:75;4981:33;;4966:9;4976:1;4966:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5021:13;5037:62;1269:66;5072:9;5021:13;1449:66;5037:24;:62::i;:::-;5021:78;;5113:29;5134:5;5121:20;;1452:10:16;1343:126;7197:1488:15;7323:13;1004:16;7348:25;;7344:97;;;7390:44;;;;;;;;8303:25:208;;;8276:18;;7390:44:15;8126:208:208;7344:97:15;7503:13;6184:59;;;6801:16;;;922;6801;834;6790:27;6750:68;;;6728:92;;7766:38;;;7762:192;;7849:19;7831:15;:37;7816:52;;;;7762:192;;;7930:15;7908:19;:37;7893:52;;;;7762:192;-1:-1:-1;8270:16:15;834;922;8137;;;;8126:27;8262:35;;;8576:5;8415:26;8396:45;;;;8395:61;;;8557:24;;;;8586:34;;;;;8556:65;;-1:-1:-1;7197:1488:15;;;;;:::o;1423:2340:19:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:30;738:25:31;;716:48;2142:18:19;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:19;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:19;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;3695:21:19;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:19;;;;:::o;3966:370::-;4088:13;4137:2;4122:11;:6;4131:2;4122:11;:::i;:::-;4121:18;;;;:::i;:::-;4104:35;;:14;:35;:::i;:::-;4088:51;;4145:187;4169:5;4152:14;:22;4145:187;;;4267:1;4251:14;4244:25;4316:1;4300:14;4296:22;4278:40;;4145:187;;1313:272:45;1400:4;1499:23;1514:7;1499:14;:23::i;:::-;:81;;;;;1526:54;1559:7;1568:11;1526:32;:54::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:18;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:18;3110:38;;2816:20:36;2978:11;3110:38:18;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;8578:206:78:-;8688:14;8704:17;8754:25;8767:11;8754:12;:25::i;5361:201:58:-;5483:12;5527:8;5537:9;5548:8;5510:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;5503:54;;5361:201;;;;;:::o;709:400:45:-;773:4;962:68;995:7;1004:25;962:32;:68::i;:::-;:142;;;;-1:-1:-1;1041:63:45;1074:7;-1:-1:-1;;;;;;1041:32:45;:63::i;:::-;1040:64;949:155;709:400;-1:-1:-1;;709:400:45:o;4133:576::-;4296:56;;-1:-1:-1;;;;;;1390:79:208;;4296:56:45;;;1372:98:208;4235:4:45;;;;1345:18:208;;4296:56:45;;;-1:-1:-1;;4296:56:45;;;;;;;;;;;;;;;;;;;;;4534:20;;4296:56;;-1:-1:-1;;;;;;;4296:56:45;;-1:-1:-1;;4499:7:45;4492:5;4481:86;4470:97;;4588:16;4574:30;;4632:4;4626:11;4611:26;;4656:7;:29;;;;;4681:4;4667:10;:18;;4656:29;:48;;;;;4703:1;4689:11;:15;4656:48;4649:55;4133:576;-1:-1:-1;;;;;;;4133:576:45:o;8203:217:78:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8319:32:78;;;;;;8268:14;;8383:30;;8375:39;1343:126:16;547:357:208;665:12;;712:4;701:16;;;695:23;;665:12;730:16;;727:171;;;-1:-1:-1;;810:6:208;804:4;800:17;797:1;793:25;789:98;782:5;778:110;769:119;;727:171;;547:357;;;:::o;909:184::-;-1:-1:-1;;;958:1:208;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1098:125;1163:9;;;1184:10;;;1181:36;;;1197:18;;:::i;1712:367::-;1775:8;1785:6;1839:3;1832:4;1824:6;1820:17;1816:27;1806:55;;1857:1;1854;1847:12;1806:55;-1:-1:-1;1880:20:208;;1923:18;1912:30;;1909:50;;;1955:1;1952;1945:12;1909:50;1992:4;1984:6;1980:17;1968:29;;2052:3;2045:4;2035:6;2032:1;2028:14;2020:6;2016:27;2012:38;2009:47;2006:67;;;2069:1;2066;2059:12;2006:67;1712:367;;;;;:::o;2084:156::-;2150:20;;2210:4;2199:16;;2189:27;;2179:55;;2230:1;2227;2220:12;2245:706;2418:6;2426;2434;2442;2450;2503:3;2491:9;2482:7;2478:23;2474:33;2471:53;;;2520:1;2517;2510:12;2471:53;2556:9;2543:23;2533:33;;2617:2;2606:9;2602:18;2589:32;2644:18;2636:6;2633:30;2630:50;;;2676:1;2673;2666:12;2630:50;2715:70;2777:7;2768:6;2757:9;2753:22;2715:70;:::i;:::-;2804:8;;-1:-1:-1;2689:96:208;-1:-1:-1;2858:36:208;;-1:-1:-1;2890:2:208;2875:18;;2858:36;:::i;:::-;2245:706;;;;-1:-1:-1;2245:706:208;;2941:2;2926:18;2913:32;;2245:706;-1:-1:-1;;2245:706:208:o;2956:250::-;3041:1;3051:113;3065:6;3062:1;3059:13;3051:113;;;3141:11;;;3135:18;3122:11;;;3115:39;3087:2;3080:10;3051:113;;;-1:-1:-1;;3198:1:208;3180:16;;3173:27;2956:250::o;3211:329::-;3252:3;3290:5;3284:12;3317:6;3312:3;3305:19;3333:76;3402:6;3395:4;3390:3;3386:14;3379:4;3372:5;3368:16;3333:76;:::i;:::-;3454:2;3442:15;-1:-1:-1;;3438:88:208;3429:98;;;;3529:4;3425:109;;3211:329;-1:-1:-1;;3211:329:208:o;3545:217::-;3692:2;3681:9;3674:21;3655:4;3712:44;3752:2;3741:9;3737:18;3729:6;3712:44;:::i;3767:347::-;3818:8;3828:6;3882:3;3875:4;3867:6;3863:17;3859:27;3849:55;;3900:1;3897;3890:12;3849:55;-1:-1:-1;3923:20:208;;3966:18;3955:30;;3952:50;;;3998:1;3995;3988:12;3952:50;4035:4;4027:6;4023:17;4011:29;;4087:3;4080:4;4071:6;4063;4059:19;4055:30;4052:39;4049:59;;;4104:1;4101;4094:12;4119:915;4272:6;4280;4288;4296;4304;4312;4365:3;4353:9;4344:7;4340:23;4336:33;4333:53;;;4382:1;4379;4372:12;4333:53;4418:9;4405:23;4395:33;;4479:2;4468:9;4464:18;4451:32;4502:18;4543:2;4535:6;4532:14;4529:34;;;4559:1;4556;4549:12;4529:34;4598:70;4660:7;4651:6;4640:9;4636:22;4598:70;:::i;:::-;4687:8;;-1:-1:-1;4572:96:208;-1:-1:-1;4572:96:208;;-1:-1:-1;4741:36:208;4773:2;4758:18;;4741:36;:::i;:::-;4731:46;;4830:2;4819:9;4815:18;4802:32;4786:48;;4859:2;4849:8;4846:16;4843:36;;;4875:1;4872;4865:12;4843:36;;4914:60;4966:7;4955:8;4944:9;4940:24;4914:60;:::i;:::-;4119:915;;;;-1:-1:-1;4119:915:208;;-1:-1:-1;4119:915:208;;4993:8;;4119:915;-1:-1:-1;;;4119:915:208:o;5039:606::-;5172:6;5180;5188;5196;5249:2;5237:9;5228:7;5224:23;5220:32;5217:52;;;5265:1;5262;5255:12;5217:52;5301:9;5288:23;5278:33;;5362:2;5351:9;5347:18;5334:32;5389:18;5381:6;5378:30;5375:50;;;5421:1;5418;5411:12;5375:50;5460:70;5522:7;5513:6;5502:9;5498:22;5460:70;:::i;:::-;5549:8;;-1:-1:-1;5434:96:208;-1:-1:-1;5603:36:208;;-1:-1:-1;5635:2:208;5620:18;;5603:36;:::i;:::-;5593:46;;5039:606;;;;;;;:::o;5650:1235::-;5859:6;5867;5875;5883;5891;5899;5907;5915;5968:3;5956:9;5947:7;5943:23;5939:33;5936:53;;;5985:1;5982;5975:12;5936:53;6021:9;6008:23;5998:33;;6082:2;6071:9;6067:18;6054:32;6105:18;6146:2;6138:6;6135:14;6132:34;;;6162:1;6159;6152:12;6132:34;6201:70;6263:7;6254:6;6243:9;6239:22;6201:70;:::i;:::-;6290:8;;-1:-1:-1;6175:96:208;-1:-1:-1;6378:2:208;6363:18;;6350:32;;-1:-1:-1;6394:16:208;;;6391:36;;;6423:1;6420;6413:12;6391:36;6462:60;6514:7;6503:8;6492:9;6488:24;6462:60;:::i;:::-;6541:8;;-1:-1:-1;6436:86:208;-1:-1:-1;6623:2:208;6608:18;;6595:32;;-1:-1:-1;6680:3:208;6665:19;;6652:33;;-1:-1:-1;6697:16:208;;;6694:36;;;6726:1;6723;6716:12;6694:36;;6765:60;6817:7;6806:8;6795:9;6791:24;6765:60;:::i;:::-;5650:1235;;;;-1:-1:-1;5650:1235:208;;-1:-1:-1;5650:1235:208;;;;;;6844:8;-1:-1:-1;;;5650:1235:208:o;6890:1015::-;7083:6;7091;7099;7107;7115;7123;7131;7184:3;7172:9;7163:7;7159:23;7155:33;7152:53;;;7201:1;7198;7191:12;7152:53;7237:9;7224:23;7214:33;;7298:2;7287:9;7283:18;7270:32;7321:18;7362:2;7354:6;7351:14;7348:34;;;7378:1;7375;7368:12;7348:34;7417:70;7479:7;7470:6;7459:9;7455:22;7417:70;:::i;:::-;7506:8;;-1:-1:-1;7391:96:208;-1:-1:-1;7391:96:208;;-1:-1:-1;7560:36:208;7592:2;7577:18;;7560:36;:::i;:::-;7550:46;;7649:2;7638:9;7634:18;7621:32;7605:48;;7678:2;7668:8;7665:16;7662:36;;;7694:1;7691;7684:12;7662:36;;7733:60;7785:7;7774:8;7763:9;7759:24;7733:60;:::i;:::-;6890:1015;;;;-1:-1:-1;6890:1015:208;;;;;;7894:3;7879:19;;;7866:33;;6890:1015;-1:-1:-1;;;;6890:1015:208:o;7910:211::-;8000:6;8053:2;8041:9;8032:7;8028:23;8024:32;8021:52;;;8069:1;8066;8059:12;8021:52;-1:-1:-1;8092:23:208;;7910:211;-1:-1:-1;7910:211:208:o;8339:184::-;-1:-1:-1;;;8388:1:208;8381:88;8488:4;8485:1;8478:15;8512:4;8509:1;8502:15;8528:334;8599:2;8593:9;8655:2;8645:13;;-1:-1:-1;;8641:86:208;8629:99;;8758:18;8743:34;;8779:22;;;8740:62;8737:88;;;8805:18;;:::i;:::-;8841:2;8834:22;8528:334;;-1:-1:-1;8528:334:208:o;8867:589::-;8909:5;8962:3;8955:4;8947:6;8943:17;8939:27;8929:55;;8980:1;8977;8970:12;8929:55;9016:6;9003:20;9042:18;9038:2;9035:26;9032:52;;;9064:18;;:::i;:::-;9108:114;9216:4;-1:-1:-1;;9140:4:208;9136:2;9132:13;9128:86;9124:97;9108:114;:::i;:::-;9247:2;9238:7;9231:19;9293:3;9286:4;9281:2;9273:6;9269:15;9265:26;9262:35;9259:55;;;9310:1;9307;9300:12;9259:55;9375:2;9368:4;9360:6;9356:17;9349:4;9340:7;9336:18;9323:55;9423:1;9398:16;;;9416:4;9394:27;9387:38;;;;9402:7;8867:589;-1:-1:-1;;;8867:589:208:o;9461:419::-;9569:6;9577;9630:2;9618:9;9609:7;9605:23;9601:32;9598:52;;;9646:1;9643;9636:12;9598:52;9682:9;9669:23;9659:33;;9743:2;9732:9;9728:18;9715:32;9770:18;9762:6;9759:30;9756:50;;;9802:1;9799;9792:12;9756:50;9825:49;9866:7;9857:6;9846:9;9842:22;9825:49;:::i;:::-;9815:59;;;9461:419;;;;;:::o;9885:635::-;10051:6;10059;10067;10075;10128:2;10116:9;10107:7;10103:23;10099:32;10096:52;;;10144:1;10141;10134:12;10096:52;10180:9;10167:23;10157:33;;10241:2;10230:9;10226:18;10213:32;10268:18;10260:6;10257:30;10254:50;;;10300:1;10297;10290:12;10254:50;10339:70;10401:7;10392:6;10381:9;10377:22;10339:70;:::i;:::-;9885:635;;10428:8;;-1:-1:-1;10313:96:208;;10510:2;10495:18;10482:32;;9885:635;-1:-1:-1;;;;9885:635:208:o;10525:482::-;10780:2;10769:9;10762:21;10743:4;10806:44;10846:2;10835:9;10831:18;10823:6;10806:44;:::i;:::-;10886:6;10881:2;10870:9;10866:18;10859:34;10941:9;10933:6;10929:22;10924:2;10913:9;10909:18;10902:50;10969:32;10994:6;10986;10969:32;:::i;11012:712::-;11066:5;11119:3;11112:4;11104:6;11100:17;11096:27;11086:55;;11137:1;11134;11127:12;11086:55;11173:6;11160:20;11199:4;11222:18;11218:2;11215:26;11212:52;;;11244:18;;:::i;:::-;11290:2;11287:1;11283:10;11313:28;11337:2;11333;11329:11;11313:28;:::i;:::-;11375:15;;;11445;;;11441:24;;;11406:12;;;;11477:15;;;11474:35;;;11505:1;11502;11495:12;11474:35;11541:2;11533:6;11529:15;11518:26;;11553:142;11569:6;11564:3;11561:15;11553:142;;;11635:17;;11623:30;;11586:12;;;;11673;;;;11553:142;;11729:655;11878:6;11886;11894;11902;11910;11963:3;11951:9;11942:7;11938:23;11934:33;11931:53;;;11980:1;11977;11970:12;11931:53;12016:9;12003:23;11993:33;;12077:2;12066:9;12062:18;12049:32;12104:18;12096:6;12093:30;12090:50;;;12136:1;12133;12126:12;12090:50;12159:61;12212:7;12203:6;12192:9;12188:22;12159:61;:::i;:::-;12149:71;;;12239:36;12271:2;12260:9;12256:18;12239:36;:::i;:::-;11729:655;;;;-1:-1:-1;12229:46:208;;12322:2;12307:18;;12294:32;;-1:-1:-1;12373:3:208;12358:19;12345:33;;11729:655;-1:-1:-1;;11729:655:208:o;12389:536::-;12515:6;12523;12531;12584:2;12572:9;12563:7;12559:23;12555:32;12552:52;;;12600:1;12597;12590:12;12552:52;12636:9;12623:23;12613:33;;12697:2;12686:9;12682:18;12669:32;12724:18;12716:6;12713:30;12710:50;;;12756:1;12753;12746:12;12710:50;12795:70;12857:7;12848:6;12837:9;12833:22;12795:70;:::i;:::-;12389:536;;12884:8;;-1:-1:-1;12769:96:208;;-1:-1:-1;;;;12389:536:208:o;13112:154::-;-1:-1:-1;;;;;13191:5:208;13187:54;13180:5;13177:65;13167:93;;13256:1;13253;13246:12;13271:554;13388:6;13396;13404;13457:2;13445:9;13436:7;13432:23;13428:32;13425:52;;;13473:1;13470;13463:12;13425:52;13512:9;13499:23;13531:31;13556:5;13531:31;:::i;:::-;13581:5;-1:-1:-1;13633:2:208;13618:18;;13605:32;;-1:-1:-1;13688:2:208;13673:18;;13660:32;13715:18;13704:30;;13701:50;;;13747:1;13744;13737:12;13701:50;13770:49;13811:7;13802:6;13791:9;13787:22;13770:49;:::i;:::-;13760:59;;;13271:554;;;;;:::o;13830:617::-;14001:6;14009;14017;14025;14078:3;14066:9;14057:7;14053:23;14049:33;14046:53;;;14095:1;14092;14085:12;14046:53;14131:9;14118:23;14108:33;;14192:2;14181:9;14177:18;14164:32;14219:18;14211:6;14208:30;14205:50;;;14251:1;14248;14241:12;14205:50;14274:61;14327:7;14318:6;14307:9;14303:22;14274:61;:::i;:::-;14264:71;;;14354:36;14386:2;14375:9;14371:18;14354:36;:::i;:::-;13830:617;;;;-1:-1:-1;14344:46:208;;14437:2;14422:18;14409:32;;-1:-1:-1;;13830:617:208:o;14634:517::-;14765:6;14773;14781;14834:2;14822:9;14813:7;14809:23;14805:32;14802:52;;;14850:1;14847;14840:12;14802:52;14886:9;14873:23;14863:33;;14947:2;14936:9;14932:18;14919:32;14974:18;14966:6;14963:30;14960:50;;;15006:1;15003;14996:12;14960:50;15029:61;15082:7;15073:6;15062:9;15058:22;15029:61;:::i;:::-;15019:71;;;15109:36;15141:2;15130:9;15126:18;15109:36;:::i;:::-;15099:46;;14634:517;;;;;:::o;15156:472::-;15250:6;15258;15311:2;15299:9;15290:7;15286:23;15282:32;15279:52;;;15327:1;15324;15317:12;15279:52;15366:9;15353:23;15385:31;15410:5;15385:31;:::i;:::-;15435:5;-1:-1:-1;15491:2:208;15476:18;;15463:32;15518:18;15507:30;;15504:50;;;15550:1;15547;15540:12;15633:1013;15787:6;15795;15803;15811;15819;15827;15880:3;15868:9;15859:7;15855:23;15851:33;15848:53;;;15897:1;15894;15887:12;15848:53;15933:9;15920:23;15910:33;;15994:2;15983:9;15979:18;15966:32;16017:18;16058:2;16050:6;16047:14;16044:34;;;16074:1;16071;16064:12;16044:34;16113:70;16175:7;16166:6;16155:9;16151:22;16113:70;:::i;:::-;16202:8;;-1:-1:-1;16087:96:208;-1:-1:-1;16287:2:208;16272:18;;16259:32;;-1:-1:-1;16331:14:208;16320:26;;16310:37;;16300:65;;16361:1;16358;16351:12;16300:65;16384:5;;-1:-1:-1;16442:2:208;16427:18;;16414:32;;16458:16;;;16455:36;;;16487:1;16484;16477:12;16651:165;16718:20;;16778:12;16767:24;;16757:35;;16747:63;;16806:1;16803;16796:12;16821:1061;16990:6;16998;17006;17014;17022;17030;17038;17046;17099:3;17087:9;17078:7;17074:23;17070:33;17067:53;;;17116:1;17113;17106:12;17067:53;17152:9;17139:23;17129:33;;17213:2;17202:9;17198:18;17185:32;17236:18;17277:2;17269:6;17266:14;17263:34;;;17293:1;17290;17283:12;17263:34;17332:70;17394:7;17385:6;17374:9;17370:22;17332:70;:::i;:::-;17421:8;;-1:-1:-1;17306:96:208;-1:-1:-1;17306:96:208;;-1:-1:-1;17475:36:208;17507:2;17492:18;;17475:36;:::i;:::-;17465:46;;17530:37;17563:2;17552:9;17548:18;17530:37;:::i;:::-;17520:47;;17586:38;17619:3;17608:9;17604:19;17586:38;:::i;:::-;17576:48;;17677:3;17666:9;17662:19;17649:33;17633:49;;17707:2;17697:8;17694:16;17691:36;;;17723:1;17720;17713:12;17887:264;17963:6;18016:2;18004:9;17995:7;17991:23;17987:32;17984:52;;;18032:1;18029;18022:12;17984:52;18071:9;18058:23;18090:31;18115:5;18090:31;:::i;19045:184::-;-1:-1:-1;;;19094:1:208;19087:88;19194:4;19191:1;19184:15;19218:4;19215:1;19208:15;20022:339;20199:2;20188:9;20181:21;20162:4;20219:44;20259:2;20248:9;20244:18;20236:6;20219:44;:::i;:::-;20211:52;;-1:-1:-1;;;;;20303:6:208;20299:55;20294:2;20283:9;20279:18;20272:83;20022:339;;;;;:::o;20366:439::-;20419:3;20457:5;20451:12;20484:6;20479:3;20472:19;20510:4;20539;20534:3;20530:14;20523:21;;20578:4;20571:5;20567:16;20601:1;20611:169;20625:6;20622:1;20619:13;20611:169;;;20686:13;;20674:26;;20720:12;;;;20755:15;;;;20647:1;20640:9;20611:169;;;-1:-1:-1;20796:3:208;;20366:439;-1:-1:-1;;;;;20366:439:208:o;20810:545::-;21131:6;21120:9;21113:25;21174:3;21169:2;21158:9;21154:18;21147:31;21094:4;21195:57;21247:3;21236:9;21232:19;21224:6;21195:57;:::i;:::-;21300:4;21288:17;;;;21283:2;21268:18;;21261:45;-1:-1:-1;21337:2:208;21322:18;21315:34;21187:65;20810:545;-1:-1:-1;;20810:545:208:o;21360:184::-;21430:6;21483:2;21471:9;21462:7;21458:23;21454:32;21451:52;;;21499:1;21496;21489:12;21451:52;-1:-1:-1;21522:16:208;;21360:184;-1:-1:-1;21360:184:208:o;21549:706::-;21916:6;21905:9;21898:25;21959:3;21954:2;21943:9;21939:18;21932:31;21879:4;21986:57;22038:3;22027:9;22023:19;22015:6;21986:57;:::i;:::-;22091:4;22083:6;22079:17;22074:2;22063:9;22059:18;22052:45;22145:9;22137:6;22133:22;22128:2;22117:9;22113:18;22106:50;22173:32;22198:6;22190;22173:32;:::i;:::-;22165:40;;;22242:6;22236:3;22225:9;22221:19;22214:35;21549:706;;;;;;;;:::o;22260:175::-;22297:3;22341:4;22334:5;22330:16;22370:4;22361:7;22358:17;22355:43;;22378:18;;:::i;:::-;22427:1;22414:15;;22260:175;-1:-1:-1;;22260:175:208:o;22440:439::-;-1:-1:-1;;;;;22678:6:208;22674:55;22663:9;22656:74;22766:6;22761:2;22750:9;22746:18;22739:34;22809:2;22804;22793:9;22789:18;22782:30;22637:4;22829:44;22869:2;22858:9;22854:18;22846:6;22829:44;:::i;22884:151::-;22974:4;22967:12;;;22953;;;22949:31;;22992:14;;22989:40;;;23009:18;;:::i;23293:128::-;23360:9;;;23381:11;;;23378:37;;;23395:18;;:::i;23426:277::-;23493:6;23546:2;23534:9;23525:7;23521:23;23517:32;23514:52;;;23562:1;23559;23552:12;23514:52;23594:9;23588:16;23647:5;23640:13;23633:21;23626:5;23623:32;23613:60;;23669:1;23666;23659:12;23708:511;23959:2;23948:9;23941:21;23922:4;23985:56;24037:2;24026:9;24022:18;24014:6;23985:56;:::i;:::-;24089:14;24081:6;24077:27;24072:2;24061:9;24057:18;24050:55;24153:9;24145:6;24141:22;24136:2;24125:9;24121:18;24114:50;24181:32;24206:6;24198;24181:32;:::i;24224:615::-;24534:6;24523:9;24516:25;24577:3;24572:2;24561:9;24557:18;24550:31;24497:4;24604:57;24656:3;24645:9;24641:19;24633:6;24604:57;:::i;:::-;24709:14;24701:6;24697:27;24692:2;24681:9;24677:18;24670:55;24773:9;24765:6;24761:22;24756:2;24745:9;24741:18;24734:50;24801:32;24826:6;24818;24801:32;:::i;24844:925::-;25293:66;25285:6;25281:79;25276:3;25269:92;25251:3;25380;25412:2;25408:1;25403:3;25399:11;25392:23;25444:6;25438:13;25460:74;25527:6;25523:1;25518:3;25514:11;25507:4;25499:6;25495:17;25460:74;:::i;:::-;25562:6;25557:3;25553:16;25543:26;;25597:2;25593:1;25589:2;25585:10;25578:22;25631:6;25625:13;25609:29;;25647:75;25713:8;25709:1;25705:2;25701:10;25694:4;25686:6;25682:17;25647:75;:::i;:::-;25742:17;25761:1;25738:25;;24844:925;-1:-1:-1;;;;;24844:925:208:o;25992:321::-;26200:6;26189:9;26182:25;26243:2;26238;26227:9;26223:18;26216:30;26163:4;26263:44;26303:2;26292:9;26288:18;26280:6;26263:44;:::i;26318:639::-;26568:6;26563:3;26556:19;26538:3;26594:2;26627;26622:3;26618:12;26659:6;26653:13;26724:2;26716:6;26712:15;26745:1;26755:175;26769:6;26766:1;26763:13;26755:175;;;26832:13;;26818:28;;26868:14;;;;26905:15;;;;26791:1;26784:9;26755:175;;;-1:-1:-1;26946:5:208;;26318:639;-1:-1:-1;;;;;;;26318:639:208:o;26962:184::-;-1:-1:-1;;;27011:1:208;27004:88;27111:4;27108:1;27101:15;27135:4;27132:1;27125:15;27151:168;27224:9;;;27255;;27272:15;;;27266:22;;27252:37;27242:71;;27293:18;;:::i;27324:463::-;27570:66;27562:6;27558:79;27547:9;27540:98;27674:6;27669:2;27658:9;27654:18;27647:34;27717:2;27712;27701:9;27697:18;27690:30;27521:4;27737:44;27777:2;27766:9;27762:18;27754:6;27737:44;:::i;27792:174::-;27859:12;27891:10;;;27903;;;27887:27;;27926:11;;;27923:37;;;27940:18;;:::i;:::-;27923:37;27792:174;;;;:::o;28618:898::-;29040:6;29029:9;29022:25;29083:3;29078:2;29067:9;29063:18;29056:31;29003:4;29110:57;29162:3;29151:9;29147:19;29139:6;29110:57;:::i;:::-;29215:4;29203:17;;29198:2;29183:18;;29176:45;29240:12;29288:15;;;29283:2;29268:18;;29261:43;29341:15;;29335:3;29320:19;;29313:44;29388:3;29373:19;;29366:35;;;29438:22;;;29432:3;29417:19;;29410:51;29478:32;29442:6;29495;29478:32;:::i;:::-;29470:40;28618:898;-1:-1:-1;;;;;;;;;;28618:898:208:o;29521:707::-;29860:3;29849:9;29842:22;29823:4;29887:57;29939:3;29928:9;29924:19;29916:6;29887:57;:::i;:::-;29992:14;29984:6;29980:27;29975:2;29964:9;29960:18;29953:55;30056:12;30048:6;30044:25;30039:2;30028:9;30024:18;30017:53;30106:6;30101:2;30090:9;30086:18;30079:34;30162:9;30154:6;30150:22;30144:3;30133:9;30129:19;30122:51;30190:32;30215:6;30207;30190:32;:::i;30233:688::-;30566:3;30555:9;30548:22;30529:4;30593:57;30645:3;30634:9;30630:19;30622:6;30593:57;:::i;:::-;30698:9;30690:6;30686:22;30681:2;30670:9;30666:18;30659:50;30732:32;30757:6;30749;30732:32;:::i;:::-;30718:46;;30800:6;30795:2;30784:9;30780:18;30773:34;30855:9;30847:6;30843:22;30838:2;30827:9;30823:18;30816:50;30883:32;30908:6;30900;30883:32;:::i;30926:894::-;31377:6;31366:9;31359:25;31420:3;31415:2;31404:9;31400:18;31393:31;31340:4;31447:57;31499:3;31488:9;31484:19;31476:6;31447:57;:::i;:::-;31552:9;31544:6;31540:22;31535:2;31524:9;31520:18;31513:50;31586:32;31611:6;31603;31586:32;:::i;:::-;31572:46;;31654:6;31649:2;31638:9;31634:18;31627:34;31710:9;31702:6;31698:22;31692:3;31681:9;31677:19;31670:51;31738:32;31763:6;31755;31738:32;:::i;:::-;31730:40;;;31807:6;31801:3;31790:9;31786:19;31779:35;30926:894;;;;;;;;;:::o;32108:261::-;32287:2;32276:9;32269:21;32250:4;32307:56;32359:2;32348:9;32344:18;32336:6;32307:56;:::i;32374:465::-;32671:6;32660:9;32653:25;32714:2;32709;32698:9;32694:18;32687:30;32634:4;32734:56;32786:2;32775:9;32771:18;32763:6;32734:56;:::i;:::-;32726:64;;32826:6;32821:2;32810:9;32806:18;32799:34;32374:465;;;;;;:::o;33683:359::-;33886:2;33875:9;33868:21;33849:4;33906:44;33946:2;33935:9;33931:18;33923:6;33906:44;:::i;:::-;33981:2;33966:18;;33959:34;;;;-1:-1:-1;34024:2:208;34009:18;34002:34;33898:52;33683:359;-1:-1:-1;33683:359:208:o;34047:287::-;34176:3;34214:6;34208:13;34230:66;34289:6;34284:3;34277:4;34269:6;34265:17;34230:66;:::i;:::-;34312:16;;;;;34047:287;-1:-1:-1;;34047:287:208:o;34339:274::-;34379:1;34405;34395:189;;-1:-1:-1;;;34437:1:208;34430:88;34541:4;34538:1;34531:15;34569:4;34566:1;34559:15;34395:189;-1:-1:-1;34598:9:208;;34339:274::o;34618:530::-;34803:3;34841:6;34835:13;34857:66;34916:6;34911:3;34904:4;34896:6;34892:17;34857:66;:::i;:::-;34992:2;34988:15;;;;-1:-1:-1;;34984:88:208;34945:16;;;;34970:103;;;35100:2;35089:14;;35082:30;;;;35139:2;35128:14;;34618:530;-1:-1:-1;;34618:530:208:o","linkReferences":{},"immutableReferences":{"23126":[{"start":1006,"length":32},{"start":5548,"length":32}]}},"methodIdentifiers":{"call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","initialize(address)":"c4d66de8","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"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\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_DirectCallToSystemForbidden\",\"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\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"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[]\"}],\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"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\":\"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\"},{\"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\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract is the core \\\"World\\\" contract containing various methods for data manipulation, system calls, and dynamic function selector handling.\",\"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\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The version of the Store contract.\"}},\"HelloWorld(bytes32)\":{\"details\":\"Emitted upon successful World initialization.\",\"params\":{\"worldVersion\":\"The version of the World being initialized.\"}},\"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[],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.\",\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The data for the system call.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The ABI data for the system call.\",\"delegator\":\"The address on whose behalf the system is called.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"constructor\":{\"details\":\"Event emitted when the World contract is created.\"},\"deleteRecord(bytes32,bytes32[])\":{\"details\":\"Requires the caller to have access to the table's namespace or name.\",\"params\":{\"keyTuple\":\"Array of keys identifying the record to delete.\",\"tableId\":\"The unique identifier for the table.\"}},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The dynamic data of the specified field.\"}},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified dynamic field.\"}},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to slice.\",\"end\":\"The ending position of the slice.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field slice.\",\"start\":\"The starting position of the slice.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The sliced data from the specified dynamic field.\"}},\"getField(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getFieldLayout(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table for which to retrieve the field layout.\"},\"returns\":{\"fieldLayout\":\"The layout of fields in the specified table.\"}},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"fieldLayout\":\"The layout of fields for measurement.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getKeySchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"keySchema\":\"The schema for keys in the specified table.\"}},\"getRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getRecord(bytes32,bytes32[],bytes32)\":{\"params\":{\"fieldLayout\":\"The layout of fields to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the static field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the static field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The static data of the specified field.\"}},\"getValueSchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"valueSchema\":\"The schema for values in the specified table.\"}},\"initialize(address)\":{\"details\":\"Only the initial creator can initialize. This can be done only once.\",\"params\":{\"initModule\":\"The core module to initialize the World with.\"}},\"installRootModule(address,bytes)\":{\"details\":\"The caller must own the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"params\":{\"byteLengthToPop\":\"The number of bytes to remove from the end of the dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to remove data from.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"dataToPush\":\"Data to append to the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to append to.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"dynamicData\":\"Dynamic data (variable length fields) of the record.\",\"encodedLengths\":\"Encoded lengths of data.\",\"keyTuple\":\"Array of keys identifying the record.\",\"staticData\":\"Static data (fixed length fields) of the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"data\":\"Data to write into the specified static field.\",\"fieldIndex\":\"Index of the static field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"params\":{\"data\":\"Data to splice into the dynamic data of the field.\",\"deleteCount\":\"Number of bytes to delete starting from the `startWithinField`.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"startWithinField\":\"Start position within the specified dynamic field.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"params\":{\"data\":\"Data to splice into the static data of the record.\",\"keyTuple\":\"Array of keys identifying the record.\",\"start\":\"Position from where the static data modification should start.\",\"tableId\":\"The unique identifier for the table.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The current version of the store as a bytes32.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The current version of the world contract.\"}}},\"title\":\"World Contract\",\"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_DirectCallToSystemForbidden(address)\":[{\"notice\":\"Raised when a System has been called directly and then makes an internal call to World, which is forbidden.\"}],\"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\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the store is initialized.\"},\"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[],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\":{\"call(bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Address of the contract's creator.\"},\"deleteRecord(bytes32,bytes32[])\":{\"notice\":\"Deletes a record from the table identified by `tableId`.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specific dynamic (variable length) field in a record.\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified dynamic (variable length) field in a record.\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Retrieves a slice of a dynamic (variable length) field.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getFieldLayout(bytes32)\":{\"notice\":\"Fetches the field layout for a given table.\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getKeySchema(bytes32)\":{\"notice\":\"Retrieves the key schema for a given table.\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple.\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple and field layout.\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specific static (fixed length) field in a record.\"},\"getValueSchema(bytes32)\":{\"notice\":\"Retrieves the value schema for a given table.\"},\"initialize(address)\":{\"notice\":\"Initializes the World by installing the core module.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Installs a given root module in the World.\"},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"notice\":\"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a dynamic (varible length) field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a specified field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a specified field in the table, adhering to a specific layout.\"},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Writes a record in the table identified by `tableId`.\"},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a static (fixed length) field in the table identified by `tableId`.\"},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"notice\":\"Modifies dynamic (variable length) data in a record for a specified field.\"},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Modifies static (fixed length) data in a record at the specified position.\"},\"storeVersion()\":{\"notice\":\"Retrieves the version of the store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/World.sol\":\"World\"},\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"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\":\"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b\",\"dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"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\":\"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1\",\"dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3\",\"dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR\"]},\"node_modules/@latticexyz/store/src/StoreData.sol\":{\"keccak256\":\"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210\",\"dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd\",\"dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0x61392feda0588aba0f72be7c44c65d9115604b5f3d61a79a716d2cc78906bb01\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7cd374cc3c8b05140aa54d712cbd541a51fc7cb4065f7bfc172f64169c1a818a\",\"dweb:/ipfs/QmcsHDhXQFUDB5vf8kES61teypHLuMxNdheat9TN8wY9so\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x7d478d15961646ee2889e30169e4e4045ed98c92bfa398abda9299179c234ca6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6aa9999fb5bed10c89639cbc1caf099971abaa8c481a581038227e6c14210776\",\"dweb:/ipfs/QmdxsLT2cFi9Y7buNBVC1WWeKKjNyNDTrpkuRNwGYSGAFz\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3\",\"dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0xbdee403ebb8dfa1af0b7834ae616bb99ce65bdbb7086bf46da13e2b4c6718ba6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5287378d13c57585f46693d8a3e7af34f28b13ca07a10462a19d7898ad3ccc1\",\"dweb:/ipfs/QmZyHGiekhTt69AiLSTo4FjQYttCUgm8zeqJMmb8DNNdPF\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x570da3c73388cb2bcdce4b137968871d89ffe294ba00997029a505060f3a6f0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://840b4bf9a472574066e6ebe765a8cbbc4ecff41820b5c72b4e92f92fa7c88d55\",\"dweb:/ipfs/QmXX9AUXdVH1xdDZLD1FS3MNoHmunYL1BYt8Ar9iDwVtTU\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458\",\"dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd\",\"dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69\",\"dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35\",\"dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2\",\"dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c\",\"dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/TransactionContext.sol\":{\"keccak256\":\"0xbf501d3d05958c923bb4cb8ca11d5d7c0fba898eda1235bbb1bea95e8f77ed9b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ceb206c972ff952de239ace637c9ead2e069035d1676ea18690289572d8663d1\",\"dweb:/ipfs/QmYRENaiEAexz1xEy9YoX2Xj7nAdr29g7dEsbshK3VoXNE\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571\",\"dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e\",\"dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"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":"address","name":"caller","type":"address"}],"type":"error","name":"World_DirectCallToSystemForbidden"},{"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":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"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}],"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"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":"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":[{"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":"payable","type":"fallback"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"pure","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The data for the system call.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"callFrom(address,bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The ABI data for the system call.","delegator":"The address on whose behalf the system is called.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"constructor":{"details":"Event emitted when the World contract is created."},"deleteRecord(bytes32,bytes32[])":{"details":"Requires the caller to have access to the table's namespace or name.","params":{"keyTuple":"Array of keys identifying the record to delete.","tableId":"The unique identifier for the table."}},"getDynamicField(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to retrieve.","keyTuple":"The tuple used as a key to fetch the dynamic field.","tableId":"The ID of the table."},"returns":{"data":"The dynamic data of the specified field."}},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified dynamic field."}},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to slice.","end":"The ending position of the slice.","keyTuple":"The tuple used as a key to fetch the dynamic field slice.","start":"The starting position of the slice.","tableId":"The ID of the table."},"returns":{"_0":"The sliced data from the specified dynamic field."}},"getField(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to retrieve.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getFieldLayout(bytes32)":{"params":{"tableId":"The ID of the table for which to retrieve the field layout."},"returns":{"fieldLayout":"The layout of fields in the specified table."}},"getFieldLength(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to measure.","fieldLayout":"The layout of fields for measurement.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getKeySchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"keySchema":"The schema for keys in the specified table."}},"getRecord(bytes32,bytes32[])":{"params":{"keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getRecord(bytes32,bytes32[],bytes32)":{"params":{"fieldLayout":"The layout of fields to retrieve.","keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the static field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the static field.","tableId":"The ID of the table."},"returns":{"data":"The static data of the specified field."}},"getValueSchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"valueSchema":"The schema for values in the specified table."}},"initialize(address)":{"details":"Only the initial creator can initialize. This can be done only once.","params":{"initModule":"The core module to initialize the World with."}},"installRootModule(address,bytes)":{"details":"The caller must own the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"params":{"byteLengthToPop":"The number of bytes to remove from the end of the dynamic field.","dynamicFieldIndex":"Index of the dynamic field to remove data from.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"dataToPush":"Data to append to the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to append to.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"dynamicData":"Dynamic data (variable length fields) of the record.","encodedLengths":"Encoded lengths of data.","keyTuple":"Array of keys identifying the record.","staticData":"Static data (fixed length fields) of the record.","tableId":"The unique identifier for the table."}},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"data":"Data to write into the specified static field.","fieldIndex":"Index of the static field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"params":{"data":"Data to splice into the dynamic data of the field.","deleteCount":"Number of bytes to delete starting from the `startWithinField`.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","startWithinField":"Start position within the specified dynamic field.","tableId":"The unique identifier for the table."}},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"params":{"data":"Data to splice into the static data of the record.","keyTuple":"Array of keys identifying the record.","start":"Position from where the static data modification should start.","tableId":"The unique identifier for the table."}},"storeVersion()":{"returns":{"_0":"The current version of the store as a bytes32."}},"worldVersion()":{"returns":{"_0":"The current version of the world contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Calls a system with a given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Calls a system with a given system ID on behalf of the given delegator."},"creator()":{"notice":"Address of the contract's creator."},"deleteRecord(bytes32,bytes32[])":{"notice":"Deletes a record from the table identified by `tableId`."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specific dynamic (variable length) field in a record."},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified dynamic (variable length) field in a record."},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Retrieves a slice of a dynamic (variable length) field."},"getField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specified field in a record."},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specified field in a record."},"getFieldLayout(bytes32)":{"notice":"Fetches the field layout for a given table."},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified field in a record."},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Calculates the length of a specified field in a record."},"getKeySchema(bytes32)":{"notice":"Retrieves the key schema for a given table."},"getRecord(bytes32,bytes32[])":{"notice":"Fetches a record from a specified table using a provided key tuple."},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Fetches a record from a specified table using a provided key tuple and field layout."},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specific static (fixed length) field in a record."},"getValueSchema(bytes32)":{"notice":"Retrieves the value schema for a given table."},"initialize(address)":{"notice":"Initializes the World by installing the core module."},"installRootModule(address,bytes)":{"notice":"Installs a given root module in the World."},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"notice":"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`."},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`."},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a dynamic (varible length) field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a specified field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a specified field in the table, adhering to a specific layout."},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"notice":"Writes a record in the table identified by `tableId`."},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a static (fixed length) field in the table identified by `tableId`."},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"notice":"Modifies dynamic (variable length) data in a record for a specified field."},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Modifies static (fixed length) data in a record at the specified position."},"storeVersion()":{"notice":"Retrieves the version of the store."}},"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/World.sol":"World"},"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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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":"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3","urls":["bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b","dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"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":"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f","urls":["bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1","dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20","urls":["bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3","dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreData.sol":{"keccak256":"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd","urls":["bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210","dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28","urls":["bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd","dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0x61392feda0588aba0f72be7c44c65d9115604b5f3d61a79a716d2cc78906bb01","urls":["bzz-raw://7cd374cc3c8b05140aa54d712cbd541a51fc7cb4065f7bfc172f64169c1a818a","dweb:/ipfs/QmcsHDhXQFUDB5vf8kES61teypHLuMxNdheat9TN8wY9so"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x7d478d15961646ee2889e30169e4e4045ed98c92bfa398abda9299179c234ca6","urls":["bzz-raw://6aa9999fb5bed10c89639cbc1caf099971abaa8c481a581038227e6c14210776","dweb:/ipfs/QmdxsLT2cFi9Y7buNBVC1WWeKKjNyNDTrpkuRNwGYSGAFz"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0xf15243b03fdc6e5222aefdaad74fffc909f9058f9d8d6ba06acb797197f74635","urls":["bzz-raw://c3f4ecb21499e677697dbe71002a5e96651fb0d8c279c4065e6441f13a9c75b3","dweb:/ipfs/QmZ7oEHWK85aetzt9uJ3bmJJKLZkK5PoaakxiEDq4xEEww"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0xbdee403ebb8dfa1af0b7834ae616bb99ce65bdbb7086bf46da13e2b4c6718ba6","urls":["bzz-raw://f5287378d13c57585f46693d8a3e7af34f28b13ca07a10462a19d7898ad3ccc1","dweb:/ipfs/QmZyHGiekhTt69AiLSTo4FjQYttCUgm8zeqJMmb8DNNdPF"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x570da3c73388cb2bcdce4b137968871d89ffe294ba00997029a505060f3a6f0d","urls":["bzz-raw://840b4bf9a472574066e6ebe765a8cbbc4ecff41820b5c72b4e92f92fa7c88d55","dweb:/ipfs/QmXX9AUXdVH1xdDZLD1FS3MNoHmunYL1BYt8Ar9iDwVtTU"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f","urls":["bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458","dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8","urls":["bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd","dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395","urls":["bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69","dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf","urls":["bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35","dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68","urls":["bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2","dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194","urls":["bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c","dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/TransactionContext.sol":{"keccak256":"0xbf501d3d05958c923bb4cb8ca11d5d7c0fba898eda1235bbb1bea95e8f77ed9b","urls":["bzz-raw://ceb206c972ff952de239ace637c9ead2e069035d1676ea18690289572d8663d1","dweb:/ipfs/QmYRENaiEAexz1xEy9YoX2Xj7nAdr29g7dEsbshK3VoXNE"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51","urls":["bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571","dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91"],"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/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be","urls":["bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e","dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"}},"version":1},"id":57}
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"call","inputs":[{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"callFrom","inputs":[{"name":"delegator","type":"address","internalType":"address"},{"name":"systemId","type":"bytes32","internalType":"ResourceId"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"payable"},{"type":"function","name":"creator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deleteRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getDynamicFieldSlice","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getFieldLayout","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getFieldLength","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getKeySchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"keySchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getValueSchema","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"}],"outputs":[{"name":"valueSchema","type":"bytes32","internalType":"Schema"}],"stateMutability":"view"},{"type":"function","name":"initialMsgSender","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initModule","type":"address","internalType":"contract IModule"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"installRootModule","inputs":[{"name":"module","type":"address","internalType":"contract IModule"},{"name":"encodedArgs","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"popFromDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"byteLengthToPop","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"pushToDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"dataToPush","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDynamicField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRecord","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"staticData","type":"bytes","internalType":"bytes"},{"name":"encodedLengths","type":"bytes32","internalType":"PackedCounter"},{"name":"dynamicData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStaticField","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"fieldIndex","type":"uint8","internalType":"uint8"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"fieldLayout","type":"bytes32","internalType":"FieldLayout"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceDynamicData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"dynamicFieldIndex","type":"uint8","internalType":"uint8"},{"name":"startWithinField","type":"uint40","internalType":"uint40"},{"name":"deleteCount","type":"uint40","internalType":"uint40"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"spliceStaticData","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"keyTuple","type":"bytes32[]","internalType":"bytes32[]"},{"name":"start","type":"uint48","internalType":"uint48"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"storeVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"worldVersion","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"event","name":"HelloStore","inputs":[{"name":"storeVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"HelloWorld","inputs":[{"name":"worldVersion","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"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_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_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":"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_SpliceDynamicData","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":"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":"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_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","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":"Store_TableNotFound","inputs":[{"name":"tableId","type":"bytes32","internalType":"ResourceId"},{"name":"tableIdString","type":"string","internalType":"string"}]},{"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_DirectCallToSystemForbidden","inputs":[{"name":"caller","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":"0x60a060405234801561000f575f80fd5b506100467f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e17580546001600160a01b03191630179055565b6040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907fc7f5fdc8526b76f54916701bc910876243ffff2a40b0bb8d59eea8151c52c005905f90a2336080526040516e0c4b8c0b8c0b5d5b985d591a5d1959608a1b907f7f8f36afe3fb61c459c1a54a60b8a477eab02cc58e49f547561a40906239cb82905f90a260805161529a620000e25f395f81816103e0015261144f015261529a5ff3fe6080604052600436106101db575f3560e01c8063894ecc5811610101578063c4d66de811610094578063d9c03a0411610063578063d9c03a041461073f578063dbbf0e2114610647578063e228a4a31461075e578063ef6ea8621461077d5761026e565b8063c4d66de8146106c3578063cc49db7e146106e2578063d03edb8c14610701578063d4285dc2146107205761026e565b8063af068c9e116100d0578063af068c9e14610666578063b047c1eb14610685578063c0a2895a146106a4578063c1122229146105c45761026e565b8063894ecc58146105f65780638c364d59146106095780639f1fcf0a14610628578063a53417ed146106475761026e565b80633708196e11610179578063419b58fd11610148578063419b58fd146105585780634dc77d9714610586578063505a181d146105a55780636951955d146105c45761026e565b80633708196e146104da578063390baae0146104f95780633a77c2c2146105185780633ae7af08146105455761026e565b8063150f3262116101b5578063150f32621461046a5780631e71d54c146104895780631e7889771461049c578063298314fb146104bb5761026e565b806302d05d3f146103cf57806305242d2f1461041f578063114a72661461044b5761026e565b3661026e5760408051616e7360f01b60208201525f602282018190526030820181905291610221910160405160208183030381529060405261021c9061442f565b61079c565b60408051616e7360f01b60208201525f60228201819052603082015291925061026c910160405160208183030381529060405261025d9061442f565b6102673484614469565b61081a565b005b3033036102a0576040516327a1460b60e21b81526001600160e01b03195f351660048201526024015b60405180910390fd5b5f336001600160a01b03825c16610313575f6102bb336108b7565b146102f4576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610297565b5f821561030b57506001600160a01b03811661030e565b50335b805f5d505b5f806103295f356001600160e01b031916610938565b91509150815f801b03610375576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b03195f35166004820152602401610297565b5f6103b65f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250869150610a059050565b90505f6103c533858434610a38565b9050805160208201f35b3480156103da575f80fd5b506104027f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561042a575f80fd5b5061043e6104393660046144d4565b610a64565b6040516104169190614582565b348015610456575f80fd5b5061026c6104653660046145d2565b610aa6565b348015610475575f80fd5b5061026c6104843660046145d2565b610b56565b348015610494575f80fd5b505f5c610402565b3480156104a7575f80fd5b5061043e6104b6366004614659565b610bfe565b3480156104c6575f80fd5b5061026c6104d53660046146b3565b610c47565b3480156104e5575f80fd5b5061026c6104f4366004614758565b610d2c565b348015610504575f80fd5b5061026c610513366004614758565b610ddf565b348015610523575f80fd5b506105376105323660046147e7565b610e89565b604051908152602001610416565b61043e6105533660046148af565b610e99565b348015610563575f80fd5b506105776105723660046148f3565b610f47565b60405161041693929190614942565b348015610591575f80fd5b5061043e6105a03660046149de565b610f9a565b3480156105b0575f80fd5b5061026c6105bf366004614a42565b610fa9565b3480156105cf575f80fd5b507f312e302e302d756e617564697465640000000000000000000000000000000000610537565b61043e610604366004614a9e565b61101c565b348015610614575f80fd5b506105376106233660046144d4565b6111f0565b348015610633575f80fd5b50610537610642366004614af3565b611231565b348015610652575f80fd5b50610537610661366004614b4e565b61123e565b348015610671575f80fd5b5061026c610680366004614ba1565b61124a565b348015610690575f80fd5b5061026c61069f366004614bd8565b6112c4565b3480156106af575f80fd5b5061026c6106be366004614c5f565b61136c565b3480156106ce575f80fd5b5061026c6106dd366004614ce5565b611417565b3480156106ed575f80fd5b506105776106fc366004614a42565b611555565b34801561070c575f80fd5b5061043e61071b366004614659565b6115a5565b34801561072b575f80fd5b5061053761073a3660046147e7565b6115e5565b34801561074a575f80fd5b5061026c6107593660046144d4565b6115ef565b348015610769575f80fd5b506105376107783660046147e7565b61166d565b348015610788575f80fd5b5061026c6107973660046145d2565b611677565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106107d3576107d3614d00565b60209081029190910101525f6108127f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61171f565b949350505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f8151811061084e5761084e614d00565b6020026020010181815250506108b27f7462776f726c6400000000000000000042616c616e63657300000000000000005f1b825f8560405160200161089591815260200190565b60408051601f19818403018152919052630100080160dd1b61174b565b505050565b6040805160018082528183019092525f9182919060208083019080368337019050509050826001600160a01b03165f1b815f815181106108f9576108f9614d00565b60209081029190910101525f6108127f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611760565b6040805160018082528183019092525f918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815f8151811061098f5761098f614d00565b60209081029190910101525f80806109e77f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061181a565b9250925092506109f883838361191b565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b60605f80610a4887878787611932565b9150915081610a5a57610a5a81611af2565b9695505050505050565b6060610a5a868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250889250879150611afa9050565b303303610ad3576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610add8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611b8b92505050565b505050505050565b303303610b83576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610b8d8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611ba692505050565b6060610c3e858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250611bde915050565b95945050505050565b303303610c74576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610c7e8833611b3f565b610d22888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250611c1792505050565b5050505050505050565b303303610d59576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610d638733611b3f565b610dd6878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250611c2d915050565b50505050505050565b303303610e0c576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610e168733611b3f565b610dd6878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525088925061174b915050565b5f610e9382611c70565b92915050565b6060303303610ec8576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b5f336001600160a01b03825c16610f3b575f610ee3336108b7565b14610f1c576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610297565b5f8215610f3357506001600160a01b038116610f36565b50335b805f5d505b610c3e33868634610a38565b60605f6060610f8a878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525089925061181a915050565b9250925092509450945094915050565b6060610a5a8686868686611cf3565b303303610fd6576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610fe08333611b3f565b6108b2838383808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611df392505050565b606030330361104b576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6001846001600160a01b035f5c166110bf575f611067336108b7565b146110a0576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610297565b5f82156110b757506001600160a01b0381166110ba565b50335b805f5d505b336001600160a01b038716036110e2576110db33868634610a38565b92506111e7565b5f6110ed8733611e06565b90506110fc8188338989611eb2565b156111155761110d87878734610a38565b9350506111e7565b5f611120885f611e06565b905061112f8189338a8a611eb2565b156111495761114088888834610a38565b945050506111e7565b5f61117a616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008a1617611f82565b9050611189818a338b8b611eb2565b156111a45761119a89898934610a38565b95505050506111e7565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038a166004820152336024820152604401610297565b50509392505050565b5f610a5a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525088925087915061171f9050565b5f610c3e85858585611ff8565b5f61081284848461203b565b303303611277576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b60408051616e7360f01b60208201525f6022820181905260308201526112b691016040516020818303038152906040526112b09061442f565b33612050565b6112c082826120a1565b5050565b3033036112f1576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6112fb8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061215392505050565b303303611399576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6113a38833611b3f565b610d22888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f920191909152506123de92505050565b303303611444576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114e75760408051616e7360f01b60208201525f6022820181905260308201526114b291016040516020818303038152906040526114ad9061442f565b6123f6565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610297929190614d14565b5f6114f0612532565b6001600160a01b031614611530576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61153981612597565b604080515f8152602081019091526115529082906120a1565b50565b60605f6060611596868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061263192505050565b92509250925093509350939050565b6060610c3e858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250612656915050565b5f610e938261266c565b30330361161c576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6116268533611b3f565b611666858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506126df9050565b5050505050565b5f610e9382612735565b3033036116a4576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6116ae8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061275a92505050565b5f610c3e61172d8686612792565b60ff858116601b0360080285901c1661174685876127e7565b61281f565b611666858561175a84876127e7565b85612153565b5f8061176a61286f565b9050306001600160a01b03821603611790576117888686868661171f565b915050610812565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906117db908990899089908990600401614d78565b602060405180830381865afa1580156117f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117889190614da6565b60605f60605f611829856128a8565b90506118368787836128ca565b93505f611842866128ff565b9050801561191057611854888861293b565b935066ffffffffffffff841667ffffffffffffffff811115611878576118786147fe565b6040519080825280601f01601f1916602001820160405280156118a2576020820181803683370190505b509250602083015f5b828160ff16101561190d575f6118c28b8b8461294d565b90505f6118de888460ff166028026038011c64ffffffffff1690565b90506118ec825f83876129cb565b6118f68185614469565b93505050808061190590614dbd565b9150506118ab565b50505b505093509350939050565b5f8061192685612a92565b90969095509350505050565b5f60605f61193f86612aa6565b90505f5b8151811015611a0b575f82828151811061195f5761195f614d00565b6020026020010151905061198b6001826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15611a02576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906119d4908c908c908c90600401614ddb565b5f604051808303815f87803b1580156119eb575f80fd5b505af11580156119fd573d5f803e3d5ffd5b505050505b50600101611943565b50611a1887858888612b48565b90935091505f5b8151811015611ae7575f828281518110611a3b57611a3b614d00565b60200260200101519050611a676002826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15611ade576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ab0908c908c908c90600401614ddb565b5f604051808303815f87803b158015611ac7575f80fd5b505af1158015611ad9573d5f803e3d5ffd5b505050505b50600101611a1f565b505094509492505050565b805160208201fd5b6060611b0582612c5f565b8360ff161015611b2257611b1b85858585612c70565b9050610812565b611b1b8585611b3085612c5f565b611b3a9087614e02565b611bde565b611b498282612c9d565b6112c057611b56826123f6565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610297929190614d14565b611ba084848484611b9b89611c70565b611c2d565b50505050565b5f611bb1858561293b565b90505f611bcd828560ff166028026038011c64ffffffffff1690565b9050610b4e868686845f8888612cdf565b6060610812611bee85858561294d565b5f611c1285611bfd898961293b565b9060ff166028026038011c64ffffffffff1690565b613102565b6116668585858585611c288b611c70565b613125565b611c3681612c5f565b8360ff161015611c5257611c4d858585858561174b565b611666565b6116668585611c6084612c5f565b611c6a9087614e02565b8561275a565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611cbe57507e60030220202000000000000000000000000000000000000000000000000000919050565b610e93611ceb7f746273746f72650000000000000000005461626c65730000000000000000000084613453565b60205f61281f565b606081831115611d39576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610297565b5f611d44878761293b565b90505f611d60828760ff166028026038011c64ffffffffff1690565b90508085101580611d7057508084115b15611dcb578081861015611d8e57611d89600186614e1b565b611d90565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610297565b5f611dd789898961294d565b9050611de68187888803613102565b9998505050505050505050565b6112c08282611e0185611c70565b61346e565b6040805160028082526060820183525f9283929190602083019080368337019050509050836001600160a01b03165f1b815f81518110611e4857611e48614d00565b602002602001018181525050826001600160a01b03165f1b81600181518110611e7357611e73614d00565b60209081029190910101525f610c3e7f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b61171f565b5f611ebc8661375a565b15611ec957506001610c3e565b85611ed557505f610c3e565b5f80611f4f865f8a8a8989604051602401611ef293929190614ddb565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612b48565b9150915081611f62575f92505050610c3e565b80806020019051810190611f769190614e2e565b98975050505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110611fb957611fb9614d00565b60209081029190910101525f6108127f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b61171f565b5f8061200383612c5f565b90508060ff168460ff1610156120275760ff848116601b0360080284901c16611788565b61178886866120368488614e02565b6137d4565b5f61081284848461204b88611c70565b611ff8565b6001600160a01b03811661208a616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516176137e3565b6001600160a01b0316146112c057611b56826123f6565b6120cb827f6fdd1c800000000000000000000000000000000000000000000000000000000061387c565b61213f335f84846040516024016120e29190614582565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b0335000000000000000000000000000000000000000000000000000000001790526138d7565b506112c082828051906020012060016138e7565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036121dd57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516121d093929190614e4d565b60405180910390a2611ba0565b5f6121e88585612792565b90505f6121f4866139c6565b90505f5b81518110156122c2575f82828151811061221457612214614d00565b602002602001015190506122406004826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156122b9576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061228b908b908b908b908b90600401614e7f565b5f604051808303815f87803b1580156122a2575f80fd5b505af11580156122b4573d5f803e3d5ffd5b505050505b506001016121f8565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516122f793929190614e4d565b60405180910390a2612312828565ffffffffffff1685613a35565b5f5b8151811015610dd6575f82828151811061233057612330614d00565b6020026020010151905061235c6008826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156123d5576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906123a7908b908b908b908b90600401614e7f565b5f604051808303815f87803b1580156123be575f80fd5b505af11580156123d0573d5f803e3d5ffd5b505050505b50600101612314565b610b4e8686868686866123f18d8d61293b565b612cdf565b606081601081901b5f61240883613a4b565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156124635761245e7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613a61565b61249a565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156124d0576124cb83613a61565b612507565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161251993929190614eb7565b6040516020818303038152906040529350505050919050565b604080515f808252602082019092525f61258d7f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000611760565b60601c9392505050565b604080515f808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001682840152825180830360340181526054830190935290916112c0917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e14010014000000000000000000000000000000000000000000000000000000613b04565b60605f6060612649858561264488611c70565b61181a565b9250925092509250925092565b606061081284848461266788611c70565b611afa565b5f61267682613ba7565b905061268182613c36565b6126da57818260405160200161269991815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102979291600401614f44565b919050565b5f6126ea858561293b565b90505f612706828560ff166028026038011c64ffffffffff1690565b9050610b4e86868661271f8764ffffffffff8716614e1b565b604080515f815260208101909152889088612cdf565b5f61273f82613cd0565b9050806126da57818260405160200161269991815260200190565b5f612765858561293b565b90505f612781828560ff166028026038011c64ffffffffff1690565b9050610b4e8686865f858888612cdf565b5f82826040516020016127a6929190614f5c565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff168110156128175761280d60ff601b83900360080287901c1683614469565b91506001016127eb565b509392505050565b5f602082106128445760208204840193506020828161284057612840614f96565b0691505b508254600882021b602082900380841115612817576001850154600882021c82179150509392505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b0316806126da573391505090565b5f60086128b760026020614e1b565b6128c19190614faa565b9190911c919050565b6060815f036128e7575060408051602081019091525f8152610a31565b5f6128f28585612792565b9050610c3e815f85613102565b5f600860018061291160026020614e1b565b61291b9190614e1b565b6129259190614e1b565b61292f9190614faa565b8260ff911c1692915050565b5f610a316129498484613d5f565b5490565b5f8383604051602001612961929190614f5c565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b8215612a4f57602083106129f5576020830484019350602083816129f1576129f1614f96565b0692505b8215612a4f5760208390035f81841015612a1657505f19600884021c612a1f565b505f19600882021c5b8554600886021b818451168219821617845250818411612a40575050611ba0565b50600194909401939182900391015b5b60208210612a715783548152600190930192601f1990910190602001612a50565b8115611ba0575f5f19600884021c8251865482191691161782525050505050565b602081015160408201515f905b9050915091565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110612ade57612ade614d00565b60209081029190910101525f612b157f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611bde565b9050610812612b26825f8451613db4565b613e40565b5f8160ff1682612b3b8560581c90565b1660ff1614905092915050565b5f60605f80612b5686613e4f565b90925090506001600160a01b038216612ba75785612b73876123f6565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610297929190614f44565b80612bb657612bb68689611b3f565b8615612c01577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b175f612bee8261079c565b9050612bfe826102678b84614469565b50505b5f612c0c8760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c4457612c3f88888488613ef0565b612c50565b612c5088888488613f63565b90999098509650505050505050565b5f6008600161291b60026020614e1b565b6060610c3e612c7f8686612792565b612c8984866127e7565b60ff868116601b0360080286901c16613102565b5f612ccf616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613fc0565b80610a315750610a318383613fc0565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612d9f577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612d5d91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610297939291600401614fc1565b5f612db9828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683612dd19190614e1b565b612ddb9190614469565b9050808214158015612dfd575081612df38688615001565b64ffffffffff1614155b15612e4d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610297565b818664ffffffffff161115612e9e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610297565b5f612eaa848984614085565b90505f612eb68b6139c6565b90505f5b8151811015612f7a575f828281518110612ed657612ed6614d00565b60200260200101519050612f026010826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15612f7157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612f439796959493929190615026565b5f604051808303815f87803b158015612f5a575f80fd5b505af1158015612f6c573d5f803e3d5ffd5b505050505b50600101612eba565b5064ffffffffff88165f5b8a60ff168160ff161015612fb857612fac878260ff166028026038011c64ffffffffff1690565b90910190600101612f85565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c604051612ff1959493929190615083565b60405180910390a250828414613011575f61300c8c8c613d5f565b839055505b5f61301d8c8c8c61294d565b9050613031818a64ffffffffff1689613a35565b505f5b81518110156130f4575f82828151811061305057613050614d00565b6020026020010151905061307c6020826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156130eb57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016130bd9796959493929190615026565b5f604051808303815f87803b1580156130d4575f80fd5b505af11580156130e6573d5f803e3d5ffd5b505050505b50600101613034565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252612817858585846129cb565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036131b157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516131a494939291906150c8565b60405180910390a2610b4e565b5f6131bb876139c6565b90505f5b815181101561328d575f8282815181106131db576131db614d00565b602002602001015190506132076001826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15613284576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613256908c908c908c908c908c908c90600401615106565b5f604051808303815f87803b15801561326d575f80fd5b505af115801561327f573d5f803e3d5ffd5b505050505b506001016131bf565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516132c494939291906150c8565b60405180910390a25f6132d78888612792565b90505f6020870190506132ed825f895184614152565b5f6132f7856128ff565b1115613377575f6133088a8a613d5f565b87815590506020860191505f805f5b613320886128ff565b8160ff161015613372576133358d8d8361294d565b92506133508a8260ff166028026038011c64ffffffffff1690565b915061335e835f8488614152565b6133688286614469565b9450600101613317565b505050505b5f5b8351811015613447575f84828151811061339557613395614d00565b602002602001015190506133c16002826affffffffffffffffffffff1916612b2b90919063ffffffff16565b1561343e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613410908e908e908e908e908e908e90600401615106565b5f604051808303815f87803b158015613427575f80fd5b505af1158015613439573d5f803e3d5ffd5b505050505b50600101613379565b50505050505050505050565b60408051602081018490529081018290525f906060016127a6565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036134f457827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516134e7919061515e565b60405180910390a2505050565b5f6134fe846139c6565b90505f5b81518110156135ca575f82828151811061351e5761351e614d00565b6020026020010151905061354a6040826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156135c1576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061359390899089908990600401615170565b5f604051808303815f87803b1580156135aa575f80fd5b505af11580156135bc573d5f803e3d5ffd5b505050505b50600101613502565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516135fb919061515e565b60405180910390a25f61360e8585612792565b9050613666815f61361e866128a8565b67ffffffffffffffff811115613636576136366147fe565b6040519080825280601f01601f191660200182016040528015613660576020820181803683370190505b50613a35565b5f613670846128ff565b1115613690575f6136818686613d5f565b905061368e81602061420d565b505b5f5b8251811015610b4e575f8382815181106136ae576136ae614d00565b602002602001015190506136da6080826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15613751576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613723908a908a908a90600401615170565b5f604051808303815f87803b15801561373a575f80fd5b505af115801561374c573d5f803e3d5ffd5b505050505b50600101613692565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201525f602282018190527f756e6c696d697465640000000000000000000000000000000000000000000000603083015291016040516020818303038152906040526137cc9061442f565b909114919050565b5f61081282611bfd868661293b565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061381a5761381a614d00565b60209081029190910101525f6138717f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e1401001400000000000000000000000000000000000000000000000000000061171f565b60601c949350505050565b6138868282614248565b6112c0576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610297565b60605f80610a4887878787613f63565b6040805160028082526060820183525f92602083019080368337019050509050836001600160a01b03165f1b815f8151811061392557613925614d00565b602002602001018181525050828160018151811061394557613945614d00565b602002602001018181525050611ba07f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65735f1b825f8560405160200161399191151560f81b815260010190565b60408051601f198184030181529190527e0101000100000000000000000000000000000000000000000000000000000061174b565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106139fe576139fe614d00565b60209081029190910101525f612b157f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611bde565b6108b283838351613a468560200190565b614152565b5f613a5860706010614469565b9190911b919050565b60605f5b6010811015613ac5577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613ac557600101613a65565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610812565b5f613b0d61286f565b9050306001600160a01b03821603613b3157613b2c868686868661174b565b610b4e565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090613b7e9089908990899089908990600401615198565b5f604051808303815f87803b158015613b95575f80fd5b505af1158015613447573d5f803e3d5ffd5b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613bde57613bde614d00565b60209081029190910101525f6108127f746273746f72650000000000000000005461626c6573000000000000000000008360017e6003022020200000000000000000000000000000000000000000000000000061171f565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613c6d57613c6d614d00565b60209081029190910101525f613cc47f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061171f565b90506108128160f81c90565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613d0757613d07614d00565b60209081029190910101525f6108127f746273746f72650000000000000000005461626c6573000000000000000000008360027e6003022020200000000000000000000000000000000000000000000000000061171f565b5f8282604051602001613d73929190614f5c565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f81831180613dc35750835182115b15613e00578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610297939291906151de565b60208401613e0e8482614469565b90505f613e1b8585614e1b565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f610a318360155f614263565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110613e8757613e87614d00565b60209081029190910101525f8080613edf7f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061181a565b9250925092506109f88383836142db565b5f6060836001600160a01b03165f613f098589896142e6565b604051613f169190615202565b5f6040518083038185875af1925050503d805f8114613f50576040519150601f19603f3d011682016040523d82523d5f602084013e613f55565b606091505b509097909650945050505050565b5f6060836001600160a01b0316613f7b8488886142e6565b604051613f889190615202565b5f60405180830381855af49150503d805f8114613f50576040519150601f19603f3d011682016040523d82523d5f602084013e613f55565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110613ff757613ff7614d00565b602002602001018181525050826001600160a01b03165f1b8160018151811061402257614022614d00565b60209081029190910101525f6140797f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061171f565b9050610c3e8160f81c90565b5f64ffffffffff8211156140c8576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610297565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106140fa5780850382019150614102565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156141ca576020831061417c5760208304840193506020838161417857614178614f96565b0692505b82156141ca5760208390035f5f19600885021c1990506008850281811c91508351811c90508119875416828216178755508184116141bb575050611ba0565b50600194909401939182900391015b5b602082106141ec5780518455600190930192601f19909101906020016141cb565b8115611ba0575f5f19600884021c8554835182191691161785555050505050565b5f602061421b83601f614469565b614225919061521d565b61422f9084614469565b90505b808310156108b2575f8355600183019250614232565b5f61425283614315565b8015610a315750610a318383614360565b60605f6142708560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161429557614295614f96565b0490506040519350602084016020820281016040528185525f5b828110156142cf578451871c8252938701936020909101906001016142af565b50505050509392505050565b5f8061192685614414565b60608383836040516020016142fd9392919061523c565b60405160208183030381529060405290509392505050565b5f614340827f01ffc9a700000000000000000000000000000000000000000000000000000000614360565b8015610e935750614359826001600160e01b0319614360565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282519293505f9283928392909183918a617530fa92503d91505f5190508280156143fe575060208210155b801561440957505f81115b979650505050505050565b6020810151603482015160609190911c905f9060f81c612a9f565b8051602080830151919081101561444f575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e9357610e93614455565b5f8083601f84011261448c575f80fd5b50813567ffffffffffffffff8111156144a3575f80fd5b6020830191508360208260051b85010111156144bd575f80fd5b9250929050565b803560ff811681146126da575f80fd5b5f805f805f608086880312156144e8575f80fd5b85359450602086013567ffffffffffffffff811115614505575f80fd5b6145118882890161447c565b90955093506145249050604087016144c4565b949793965091946060013592915050565b5f5b8381101561454f578181015183820152602001614537565b50505f910152565b5f815180845261456e816020860160208601614535565b601f01601f19169290920160200192915050565b602081525f610a316020830184614557565b5f8083601f8401126145a4575f80fd5b50813567ffffffffffffffff8111156145bb575f80fd5b6020830191508360208285010111156144bd575f80fd5b5f805f805f80608087890312156145e7575f80fd5b86359550602087013567ffffffffffffffff80821115614605575f80fd5b6146118a838b0161447c565b909750955085915061462560408a016144c4565b9450606089013591508082111561463a575f80fd5b5061464789828a01614594565b979a9699509497509295939492505050565b5f805f806060858703121561466c575f80fd5b84359350602085013567ffffffffffffffff811115614689575f80fd5b6146958782880161447c565b90945092506146a89050604086016144c4565b905092959194509250565b5f805f805f805f8060a0898b0312156146ca575f80fd5b88359750602089013567ffffffffffffffff808211156146e8575f80fd5b6146f48c838d0161447c565b909950975060408b013591508082111561470c575f80fd5b6147188c838d01614594565b909750955060608b0135945060808b0135915080821115614737575f80fd5b506147448b828c01614594565b999c989b5096995094979396929594505050565b5f805f805f805f60a0888a03121561476e575f80fd5b87359650602088013567ffffffffffffffff8082111561478c575f80fd5b6147988b838c0161447c565b90985096508691506147ac60408b016144c4565b955060608a01359150808211156147c1575f80fd5b506147ce8a828b01614594565b989b979a50959894979596608090950135949350505050565b5f602082840312156147f7575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561483b5761483b6147fe565b604052919050565b5f82601f830112614852575f80fd5b813567ffffffffffffffff81111561486c5761486c6147fe565b61487f6020601f19601f84011601614812565b818152846020838601011115614893575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156148c0575f80fd5b82359150602083013567ffffffffffffffff8111156148dd575f80fd5b6148e985828601614843565b9150509250929050565b5f805f8060608587031215614906575f80fd5b84359350602085013567ffffffffffffffff811115614923575f80fd5b61492f8782880161447c565b9598909750949560400135949350505050565b606081525f6149546060830186614557565b8460208401528281036040840152610a5a8185614557565b5f82601f83011261497b575f80fd5b8135602067ffffffffffffffff821115614997576149976147fe565b8160051b6149a6828201614812565b92835284810182019282810190878511156149bf575f80fd5b83870192505b84831015614409578235825291830191908301906149c5565b5f805f805f60a086880312156149f2575f80fd5b85359450602086013567ffffffffffffffff811115614a0f575f80fd5b614a1b8882890161496c565b945050614a2a604087016144c4565b94979396509394606081013594506080013592915050565b5f805f60408486031215614a54575f80fd5b83359250602084013567ffffffffffffffff811115614a71575f80fd5b614a7d8682870161447c565b9497909650939450505050565b6001600160a01b0381168114611552575f80fd5b5f805f60608486031215614ab0575f80fd5b8335614abb81614a8a565b925060208401359150604084013567ffffffffffffffff811115614add575f80fd5b614ae986828701614843565b9150509250925092565b5f805f8060808587031215614b06575f80fd5b84359350602085013567ffffffffffffffff811115614b23575f80fd5b614b2f8782880161496c565b935050614b3e604086016144c4565b9396929550929360600135925050565b5f805f60608486031215614b60575f80fd5b83359250602084013567ffffffffffffffff811115614b7d575f80fd5b614b898682870161496c565b925050614b98604085016144c4565b90509250925092565b5f8060408385031215614bb2575f80fd5b8235614bbd81614a8a565b9150602083013567ffffffffffffffff8111156148dd575f80fd5b5f805f805f8060808789031215614bed575f80fd5b86359550602087013567ffffffffffffffff80821115614c0b575f80fd5b614c178a838b0161447c565b90975095506040890135915065ffffffffffff82168214614c36575f80fd5b9093506060880135908082111561463a575f80fd5b803564ffffffffff811681146126da575f80fd5b5f805f805f805f8060c0898b031215614c76575f80fd5b88359750602089013567ffffffffffffffff80821115614c94575f80fd5b614ca08c838d0161447c565b9099509750879150614cb460408c016144c4565b9650614cc260608c01614c4b565b9550614cd060808c01614c4b565b945060a08b0135915080821115614737575f80fd5b5f60208284031215614cf5575f80fd5b8135610a3181614a8a565b634e487b7160e01b5f52603260045260245ffd5b604081525f614d266040830185614557565b90506001600160a01b03831660208301529392505050565b5f815180845260208085019450602084015f5b83811015614d6d57815187529582019590820190600101614d51565b509495945050505050565b848152608060208201525f614d906080830186614d3e565b60ff949094166040830152506060015292915050565b5f60208284031215614db6575f80fd5b5051919050565b5f60ff821660ff8103614dd257614dd2614455565b60010192915050565b6001600160a01b0384168152826020820152606060408201525f610c3e6060830184614557565b60ff8281168282160390811115610e9357610e93614455565b81810381811115610e9357610e93614455565b5f60208284031215614e3e575f80fd5b81518015158114610a31575f80fd5b606081525f614e5f6060830186614d3e565b65ffffffffffff851660208401528281036040840152610a5a8185614557565b848152608060208201525f614e976080830186614d3e565b65ffffffffffff8516604084015282810360608401526144098185614557565b7fffff000000000000000000000000000000000000000000000000000000000000841681525f7f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614f17816003860160208901614535565b808401905081600382015284519150614f37826004830160208801614535565b0160040195945050505050565b828152604060208201525f6108126040830184614557565b8281525f60208083018451602086015f5b82811015614f8957815184529284019290840190600101614f6d565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8082028115828204841417610e9357610e93614455565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201525f610c3e6060830184614557565b64ffffffffff81811683821601908082111561501f5761501f614455565b5092915050565b87815260e060208201525f61503e60e0830189614d3e565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526150758185614557565b9a9950505050505050505050565b60a081525f61509560a0830188614d3e565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152611f768185614557565b608081525f6150da6080830187614d3e565b82810360208401526150ec8187614557565b905084604084015282810360608401526144098185614557565b86815260c060208201525f61511e60c0830188614d3e565b82810360408401526151308188614557565b9050856060840152828103608084015261514a8186614557565b9150508260a0830152979650505050505050565b602081525f610a316020830184614d3e565b838152606060208201525f6151886060830185614d3e565b9050826040830152949350505050565b85815260a060208201525f6151b060a0830187614d3e565b60ff8616604084015282810360608401526151cb8186614557565b9150508260808301529695505050505050565b606081525f6151f06060830186614557565b60208301949094525060400152919050565b5f8251615213818460208701614535565b9190910192915050565b5f8261523757634e487b7160e01b5f52601260045260245ffd5b500490565b5f845161524d818460208901614535565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1687:15886:57:-:0;;;2284:81;;;;;;;;;-1:-1:-1;739:22:21;996:42:24;2304:38;;-1:-1:-1;;;;;;2304:38:24;4066:4:20;2304:38:24;;;3993:84:20;739:22:21;772:25;;-1:-1:-1;;;783:13:21;772:25;;;;;2314:10:57;2304:20;;2335:25;;-1:-1:-1;;;2346:13:57;2335:25;;;;;1687:15886;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101db575f3560e01c8063894ecc5811610101578063c4d66de811610094578063d9c03a0411610063578063d9c03a041461073f578063dbbf0e2114610647578063e228a4a31461075e578063ef6ea8621461077d5761026e565b8063c4d66de8146106c3578063cc49db7e146106e2578063d03edb8c14610701578063d4285dc2146107205761026e565b8063af068c9e116100d0578063af068c9e14610666578063b047c1eb14610685578063c0a2895a146106a4578063c1122229146105c45761026e565b8063894ecc58146105f65780638c364d59146106095780639f1fcf0a14610628578063a53417ed146106475761026e565b80633708196e11610179578063419b58fd11610148578063419b58fd146105585780634dc77d9714610586578063505a181d146105a55780636951955d146105c45761026e565b80633708196e146104da578063390baae0146104f95780633a77c2c2146105185780633ae7af08146105455761026e565b8063150f3262116101b5578063150f32621461046a5780631e71d54c146104895780631e7889771461049c578063298314fb146104bb5761026e565b806302d05d3f146103cf57806305242d2f1461041f578063114a72661461044b5761026e565b3661026e5760408051616e7360f01b60208201525f602282018190526030820181905291610221910160405160208183030381529060405261021c9061442f565b61079c565b60408051616e7360f01b60208201525f60228201819052603082015291925061026c910160405160208183030381529060405261025d9061442f565b6102673484614469565b61081a565b005b3033036102a0576040516327a1460b60e21b81526001600160e01b03195f351660048201526024015b60405180910390fd5b5f336001600160a01b03825c16610313575f6102bb336108b7565b146102f4576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610297565b5f821561030b57506001600160a01b03811661030e565b50335b805f5d505b5f806103295f356001600160e01b031916610938565b91509150815f801b03610375576040517ffdde54e20000000000000000000000000000000000000000000000000000000081526001600160e01b03195f35166004820152602401610297565b5f6103b65f368080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052509250869150610a059050565b90505f6103c533858434610a38565b9050805160208201f35b3480156103da575f80fd5b506104027f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561042a575f80fd5b5061043e6104393660046144d4565b610a64565b6040516104169190614582565b348015610456575f80fd5b5061026c6104653660046145d2565b610aa6565b348015610475575f80fd5b5061026c6104843660046145d2565b610b56565b348015610494575f80fd5b505f5c610402565b3480156104a7575f80fd5b5061043e6104b6366004614659565b610bfe565b3480156104c6575f80fd5b5061026c6104d53660046146b3565b610c47565b3480156104e5575f80fd5b5061026c6104f4366004614758565b610d2c565b348015610504575f80fd5b5061026c610513366004614758565b610ddf565b348015610523575f80fd5b506105376105323660046147e7565b610e89565b604051908152602001610416565b61043e6105533660046148af565b610e99565b348015610563575f80fd5b506105776105723660046148f3565b610f47565b60405161041693929190614942565b348015610591575f80fd5b5061043e6105a03660046149de565b610f9a565b3480156105b0575f80fd5b5061026c6105bf366004614a42565b610fa9565b3480156105cf575f80fd5b507f312e302e302d756e617564697465640000000000000000000000000000000000610537565b61043e610604366004614a9e565b61101c565b348015610614575f80fd5b506105376106233660046144d4565b6111f0565b348015610633575f80fd5b50610537610642366004614af3565b611231565b348015610652575f80fd5b50610537610661366004614b4e565b61123e565b348015610671575f80fd5b5061026c610680366004614ba1565b61124a565b348015610690575f80fd5b5061026c61069f366004614bd8565b6112c4565b3480156106af575f80fd5b5061026c6106be366004614c5f565b61136c565b3480156106ce575f80fd5b5061026c6106dd366004614ce5565b611417565b3480156106ed575f80fd5b506105776106fc366004614a42565b611555565b34801561070c575f80fd5b5061043e61071b366004614659565b6115a5565b34801561072b575f80fd5b5061053761073a3660046147e7565b6115e5565b34801561074a575f80fd5b5061026c6107593660046144d4565b6115ef565b348015610769575f80fd5b506105376107783660046147e7565b61166d565b348015610788575f80fd5b5061026c6107973660046145d2565b611677565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f815181106107d3576107d3614d00565b60209081029190910101525f6108127f7462776f726c6400000000000000000042616c616e63657300000000000000008383630100080160dd1b61171f565b949350505050565b6040805160018082528183019092525f916020808301908036833701905050905082815f8151811061084e5761084e614d00565b6020026020010181815250506108b27f7462776f726c6400000000000000000042616c616e63657300000000000000005f1b825f8560405160200161089591815260200190565b60408051601f19818403018152919052630100080160dd1b61174b565b505050565b6040805160018082528183019092525f9182919060208083019080368337019050509050826001600160a01b03165f1b815f815181106108f9576108f9614d00565b60209081029190910101525f6108127f7462776f726c6400000000000000000053797374656d526567697374727900008383630100080160dd1b611760565b6040805160018082528183019092525f918291829160208083019080368337019050509050837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815f8151811061098f5761098f614d00565b60209081029190910101525f80806109e77f7462776f726c6400000000000000000046756e6374696f6e53656c6563746f72857e2402002004000000000000000000000000000000000000000000000000000061181a565b9250925092506109f883838361191b565b9550955050505050915091565b82820160200180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1682179052825b9392505050565b60605f80610a4887878787611932565b9150915081610a5a57610a5a81611af2565b9695505050505050565b6060610a5a868686808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250889250879150611afa9050565b303303610ad3576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610add8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611b8b92505050565b505050505050565b303303610b83576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610b8d8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f92019190915250611ba692505050565b6060610c3e858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250611bde915050565b95945050505050565b303303610c74576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610c7e8833611b3f565b610d22888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250611c1792505050565b5050505050505050565b303303610d59576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610d638733611b3f565b610dd6878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f92019190915250889250611c2d915050565b50505050505050565b303303610e0c576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610e168733611b3f565b610dd6878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284375f9201919091525088925061174b915050565b5f610e9382611c70565b92915050565b6060303303610ec8576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b5f336001600160a01b03825c16610f3b575f610ee3336108b7565b14610f1c576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610297565b5f8215610f3357506001600160a01b038116610f36565b50335b805f5d505b610c3e33868634610a38565b60605f6060610f8a878787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525089925061181a915050565b9250925092509450945094915050565b6060610a5a8686868686611cf3565b303303610fd6576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b610fe08333611b3f565b6108b2838383808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250611df392505050565b606030330361104b576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6001846001600160a01b035f5c166110bf575f611067336108b7565b146110a0576040517f58c7e8d6000000000000000000000000000000000000000000000000000000008152336004820152602401610297565b5f82156110b757506001600160a01b0381166110ba565b50335b805f5d505b336001600160a01b038716036110e2576110db33868634610a38565b92506111e7565b5f6110ed8733611e06565b90506110fc8188338989611eb2565b156111155761110d87878734610a38565b9350506111e7565b5f611120885f611e06565b905061112f8189338a8a611eb2565b156111495761114088888834610a38565b945050506111e7565b5f61117a616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008a1617611f82565b9050611189818a338b8b611eb2565b156111a45761119a89898934610a38565b95505050506111e7565b6040517fc86745f90000000000000000000000000000000000000000000000000000000081526001600160a01b038a166004820152336024820152604401610297565b50509392505050565b5f610a5a868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525088925087915061171f9050565b5f610c3e85858585611ff8565b5f61081284848461203b565b303303611277576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b60408051616e7360f01b60208201525f6022820181905260308201526112b691016040516020818303038152906040526112b09061442f565b33612050565b6112c082826120a1565b5050565b3033036112f1576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6112fb8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061215392505050565b303303611399576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6113a38833611b3f565b610d22888888808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f89018190048102820181019092528781528b93508a9250899189908990819084018382808284375f920191909152506123de92505050565b303303611444576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114e75760408051616e7360f01b60208201525f6022820181905260308201526114b291016040516020818303038152906040526114ad9061442f565b6123f6565b336040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610297929190614d14565b5f6114f0612532565b6001600160a01b031614611530576040517f15e34a4800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61153981612597565b604080515f8152602081019091526115529082906120a1565b50565b60605f6060611596868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525061263192505050565b92509250925093509350939050565b6060610c3e858585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250879250612656915050565b5f610e938261266c565b30330361161c576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6116268533611b3f565b611666858585808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152508792508691506126df9050565b5050505050565b5f610e9382612735565b3033036116a4576040516327a1460b60e21b81526001600160e01b03195f35166004820152602401610297565b6116ae8633611b3f565b610b4e868686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050604080516020601f8901819004810282018101909252878152899350915087908790819084018382808284375f9201919091525061275a92505050565b5f610c3e61172d8686612792565b60ff858116601b0360080285901c1661174685876127e7565b61281f565b611666858561175a84876127e7565b85612153565b5f8061176a61286f565b9050306001600160a01b03821603611790576117888686868661171f565b915050610812565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d59906117db908990899089908990600401614d78565b602060405180830381865afa1580156117f6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117889190614da6565b60605f60605f611829856128a8565b90506118368787836128ca565b93505f611842866128ff565b9050801561191057611854888861293b565b935066ffffffffffffff841667ffffffffffffffff811115611878576118786147fe565b6040519080825280601f01601f1916602001820160405280156118a2576020820181803683370190505b509250602083015f5b828160ff16101561190d575f6118c28b8b8461294d565b90505f6118de888460ff166028026038011c64ffffffffff1690565b90506118ec825f83876129cb565b6118f68185614469565b93505050808061190590614dbd565b9150506118ab565b50505b505093509350939050565b5f8061192685612a92565b90969095509350505050565b5f60605f61193f86612aa6565b90505f5b8151811015611a0b575f82828151811061195f5761195f614d00565b6020026020010151905061198b6001826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15611a02576040517fc3323031000000000000000000000000000000000000000000000000000000008152606082901c9063c3323031906119d4908c908c908c90600401614ddb565b5f604051808303815f87803b1580156119eb575f80fd5b505af11580156119fd573d5f803e3d5ffd5b505050505b50600101611943565b50611a1887858888612b48565b90935091505f5b8151811015611ae7575f828281518110611a3b57611a3b614d00565b60200260200101519050611a676002826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15611ade576040517f973d8f99000000000000000000000000000000000000000000000000000000008152606082901c9063973d8f9990611ab0908c908c908c90600401614ddb565b5f604051808303815f87803b158015611ac7575f80fd5b505af1158015611ad9573d5f803e3d5ffd5b505050505b50600101611a1f565b505094509492505050565b805160208201fd5b6060611b0582612c5f565b8360ff161015611b2257611b1b85858585612c70565b9050610812565b611b1b8585611b3085612c5f565b611b3a9087614e02565b611bde565b611b498282612c9d565b6112c057611b56826123f6565b816040517fd787b737000000000000000000000000000000000000000000000000000000008152600401610297929190614d14565b611ba084848484611b9b89611c70565b611c2d565b50505050565b5f611bb1858561293b565b90505f611bcd828560ff166028026038011c64ffffffffff1690565b9050610b4e868686845f8888612cdf565b6060610812611bee85858561294d565b5f611c1285611bfd898961293b565b9060ff166028026038011c64ffffffffff1690565b613102565b6116668585858585611c288b611c70565b613125565b611c3681612c5f565b8360ff161015611c5257611c4d858585858561174b565b611666565b6116668585611c6084612c5f565b611c6a9087614e02565b8561275a565b5f7f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d000000000000000000008201611cbe57507e60030220202000000000000000000000000000000000000000000000000000919050565b610e93611ceb7f746273746f72650000000000000000005461626c65730000000000000000000084613453565b60205f61281f565b606081831115611d39576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401610297565b5f611d44878761293b565b90505f611d60828760ff166028026038011c64ffffffffff1690565b90508085101580611d7057508084115b15611dcb578081861015611d8e57611d89600186614e1b565b611d90565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401610297565b5f611dd789898961294d565b9050611de68187888803613102565b9998505050505050505050565b6112c08282611e0185611c70565b61346e565b6040805160028082526060820183525f9283929190602083019080368337019050509050836001600160a01b03165f1b815f81518110611e4857611e48614d00565b602002602001018181525050826001600160a01b03165f1b81600181518110611e7357611e73614d00565b60209081029190910101525f610c3e7f7462776f726c640000000000000000005573657244656c65676174696f6e436f8383630100080160dd1b61171f565b5f611ebc8661375a565b15611ec957506001610c3e565b85611ed557505f610c3e565b5f80611f4f865f8a8a8989604051602401611ef293929190614ddb565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f1a86b55000000000000000000000000000000000000000000000000000000000179052612b48565b9150915081611f62575f92505050610c3e565b80806020019051810190611f769190614e2e565b98975050505050505050565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110611fb957611fb9614d00565b60209081029190910101525f6108127f7462776f726c640000000000000000004e616d65737061636544656c656761748383630100080160dd1b61171f565b5f8061200383612c5f565b90508060ff168460ff1610156120275760ff848116601b0360080284901c16611788565b61178886866120368488614e02565b6137d4565b5f61081284848461204b88611c70565b611ff8565b6001600160a01b03811661208a616e7360f01b7dffffffffffffffffffffffffffff000000000000000000000000000000008516176137e3565b6001600160a01b0316146112c057611b56826123f6565b6120cb827f6fdd1c800000000000000000000000000000000000000000000000000000000061387c565b61213f335f84846040516024016120e29190614582565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f7c5b0335000000000000000000000000000000000000000000000000000000001790526138d7565b506112c082828051906020012060016138e7565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff00000000000000000000000000000000000000000000000000000000000016036121dd57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8484846040516121d093929190614e4d565b60405180910390a2611ba0565b5f6121e88585612792565b90505f6121f4866139c6565b90505f5b81518110156122c2575f82828151811061221457612214614d00565b602002602001015190506122406004826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156122b9576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d9061228b908b908b908b908b90600401614e7f565b5f604051808303815f87803b1580156122a2575f80fd5b505af11580156122b4573d5f803e3d5ffd5b505050505b506001016121f8565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be8686866040516122f793929190614e4d565b60405180910390a2612312828565ffffffffffff1685613a35565b5f5b8151811015610dd6575f82828151811061233057612330614d00565b6020026020010151905061235c6008826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156123d5576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba8721906123a7908b908b908b908b90600401614e7f565b5f604051808303815f87803b1580156123be575f80fd5b505af11580156123d0573d5f803e3d5ffd5b505050505b50600101612314565b610b4e8686868686866123f18d8d61293b565b612cdf565b606081601081901b5f61240883613a4b565b9050827fffffffffffffffffffffffffffff0000000000000000000000000000000000008316156124635761245e7fffffffffffffffffffffffffffff0000000000000000000000000000000000008416613a61565b61249a565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b7fffffffffffffffffffffffffffffffff000000000000000000000000000000008316156124d0576124cb83613a61565b612507565b6040518060400160405280600681526020017f3c726f6f743e00000000000000000000000000000000000000000000000000008152505b60405160200161251993929190614eb7565b6040516020818303038152906040529350505050919050565b604080515f808252602082019092525f61258d7f7462776f726c64000000000000000000496e69744d6f64756c6541646472657383837e14010014000000000000000000000000000000000000000000000000000000611760565b60601c9392505050565b604080515f808252602082018352606084901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001682840152825180830360340181526054830190935290916112c0917f7462776f726c64000000000000000000496e69744d6f64756c65416464726573918491907e14010014000000000000000000000000000000000000000000000000000000613b04565b60605f6060612649858561264488611c70565b61181a565b9250925092509250925092565b606061081284848461266788611c70565b611afa565b5f61267682613ba7565b905061268182613c36565b6126da57818260405160200161269991815260200190565b60408051601f19818403018152908290527f41e713ad0000000000000000000000000000000000000000000000000000000082526102979291600401614f44565b919050565b5f6126ea858561293b565b90505f612706828560ff166028026038011c64ffffffffff1690565b9050610b4e86868661271f8764ffffffffff8716614e1b565b604080515f815260208101909152889088612cdf565b5f61273f82613cd0565b9050806126da57818260405160200161269991815260200190565b5f612765858561293b565b90505f612781828560ff166028026038011c64ffffffffff1690565b9050610b4e8686865f858888612cdf565b5f82826040516020016127a6929190614f5c565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b5f80805b8360ff168110156128175761280d60ff601b83900360080287901c1683614469565b91506001016127eb565b509392505050565b5f602082106128445760208204840193506020828161284057612840614f96565b0691505b508254600882021b602082900380841115612817576001850154600882021c82179150509392505050565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175545f906001600160a01b0316806126da573391505090565b5f60086128b760026020614e1b565b6128c19190614faa565b9190911c919050565b6060815f036128e7575060408051602081019091525f8152610a31565b5f6128f28585612792565b9050610c3e815f85613102565b5f600860018061291160026020614e1b565b61291b9190614e1b565b6129259190614e1b565b61292f9190614faa565b8260ff911c1692915050565b5f610a316129498484613d5f565b5490565b5f8383604051602001612961929190614f5c565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f118185f1c90509392505050565b8215612a4f57602083106129f5576020830484019350602083816129f1576129f1614f96565b0692505b8215612a4f5760208390035f81841015612a1657505f19600884021c612a1f565b505f19600882021c5b8554600886021b818451168219821617845250818411612a40575050611ba0565b50600194909401939182900391015b5b60208210612a715783548152600190930192601f1990910190602001612a50565b8115611ba0575f5f19600884021c8251865482191691161782525050505050565b602081015160408201515f905b9050915091565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f81518110612ade57612ade614d00565b60209081029190910101525f612b157f7462776f726c6400000000000000000053797374656d486f6f6b7300000000008383611bde565b9050610812612b26825f8451613db4565b613e40565b5f8160ff1682612b3b8560581c90565b1660ff1614905092915050565b5f60605f80612b5686613e4f565b90925090506001600160a01b038216612ba75785612b73876123f6565b6040517ffbf10ce6000000000000000000000000000000000000000000000000000000008152600401610297929190614f44565b80612bb657612bb68689611b3f565b8615612c01577dffffffffffffffffffffffffffff000000000000000000000000000000008616616e7360f01b175f612bee8261079c565b9050612bfe826102678b84614469565b50505b5f612c0c8760101b90565b7fffffffffffffffffffffffffffff0000000000000000000000000000000000001614612c4457612c3f88888488613ef0565b612c50565b612c5088888488613f63565b90999098509650505050505050565b5f6008600161291b60026020614e1b565b6060610c3e612c7f8686612792565b612c8984866127e7565b60ff868116601b0360080286901c16613102565b5f612ccf616e7360f01b7dffffffffffffffffffffffffffff0000000000000000000000000000000085161783613fc0565b80610a315750610a318383613fc0565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614612d9f577f74620000000000000000000000000000000000000000000000000000000000008788604051602001612d5d91815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252610297939291600401614fc1565b5f612db9828760ff166028026038011c64ffffffffff1690565b90505f83518564ffffffffff1683612dd19190614e1b565b612ddb9190614469565b9050808214158015612dfd575081612df38688615001565b64ffffffffff1614155b15612e4d576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401610297565b818664ffffffffff161115612e9e576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401610297565b5f612eaa848984614085565b90505f612eb68b6139c6565b90505f5b8151811015612f7a575f828281518110612ed657612ed6614d00565b60200260200101519050612f026010826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15612f7157606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b8152600401612f439796959493929190615026565b5f604051808303815f87803b158015612f5a575f80fd5b505af1158015612f6c573d5f803e3d5ffd5b505050505b50600101612eba565b5064ffffffffff88165f5b8a60ff168160ff161015612fb857612fac878260ff166028026038011c64ffffffffff1690565b90910190600101612f85565b508b7faa63765a776145e5e6492f471ae097dfed11cd57a61bc2679dd43180422385b48c838b878c604051612ff1959493929190615083565b60405180910390a250828414613011575f61300c8c8c613d5f565b839055505b5f61301d8c8c8c61294d565b9050613031818a64ffffffffff1689613a35565b505f5b81518110156130f4575f82828151811061305057613050614d00565b6020026020010151905061307c6020826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156130eb57606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016130bd9796959493929190615026565b5f604051808303815f87803b1580156130d4575f80fd5b505af11580156130e6573d5f803e3d5ffd5b505050505b50600101613034565b505050505050505050505050565b60405160208101601f19603f8484010116604052828252612817858585846129cb565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff00000000000000000000000000000000000000000000000000000000000016036131b157857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9868686866040516131a494939291906150c8565b60405180910390a2610b4e565b5f6131bb876139c6565b90505f5b815181101561328d575f8282815181106131db576131db614d00565b602002602001015190506132076001826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15613284576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90613256908c908c908c908c908c908c90600401615106565b5f604051808303815f87803b15801561326d575f80fd5b505af115801561327f573d5f803e3d5ffd5b505050505b506001016131bf565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a9878787876040516132c494939291906150c8565b60405180910390a25f6132d78888612792565b90505f6020870190506132ed825f895184614152565b5f6132f7856128ff565b1115613377575f6133088a8a613d5f565b87815590506020860191505f805f5b613320886128ff565b8160ff161015613372576133358d8d8361294d565b92506133508a8260ff166028026038011c64ffffffffff1690565b915061335e835f8488614152565b6133688286614469565b9450600101613317565b505050505b5f5b8351811015613447575f84828151811061339557613395614d00565b602002602001015190506133c16002826affffffffffffffffffffff1916612b2b90919063ffffffff16565b1561343e576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90613410908e908e908e908e908e908e90600401615106565b5f604051808303815f87803b158015613427575f80fd5b505af1158015613439573d5f803e3d5ffd5b505050505b50600101613379565b50505050505050505050565b60408051602081018490529081018290525f906060016127a6565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff00000000000000000000000000000000000000000000000000000000000016036134f457827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516134e7919061515e565b60405180910390a2505050565b5f6134fe846139c6565b90505f5b81518110156135ca575f82828151811061351e5761351e614d00565b6020026020010151905061354a6040826affffffffffffffffffffff1916612b2b90919063ffffffff16565b156135c1576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf459061359390899089908990600401615170565b5f604051808303815f87803b1580156135aa575f80fd5b505af11580156135bc573d5f803e3d5ffd5b505050505b50600101613502565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07846040516135fb919061515e565b60405180910390a25f61360e8585612792565b9050613666815f61361e866128a8565b67ffffffffffffffff811115613636576136366147fe565b6040519080825280601f01601f191660200182016040528015613660576020820181803683370190505b50613a35565b5f613670846128ff565b1115613690575f6136818686613d5f565b905061368e81602061420d565b505b5f5b8251811015610b4e575f8382815181106136ae576136ae614d00565b602002602001015190506136da6080826affffffffffffffffffffff1916612b2b90919063ffffffff16565b15613751576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90613723908a908a908a90600401615170565b5f604051808303815f87803b15801561373a575f80fd5b505af115801561374c573d5f803e3d5ffd5b505050505b50600101613692565b604080517f737900000000000000000000000000000000000000000000000000000000000060208201525f602282018190527f756e6c696d697465640000000000000000000000000000000000000000000000603083015291016040516020818303038152906040526137cc9061442f565b909114919050565b5f61081282611bfd868661293b565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f8151811061381a5761381a614d00565b60209081029190910101525f6138717f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e1401001400000000000000000000000000000000000000000000000000000061171f565b60601c949350505050565b6138868282614248565b6112c0576040517f74b5e6ff0000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526001600160e01b031982166024820152604401610297565b60605f80610a4887878787613f63565b6040805160028082526060820183525f92602083019080368337019050509050836001600160a01b03165f1b815f8151811061392557613925614d00565b602002602001018181525050828160018151811061394557613945614d00565b602002602001018181525050611ba07f7462776f726c64000000000000000000496e7374616c6c65644d6f64756c65735f1b825f8560405160200161399191151560f81b815260010190565b60408051601f198184030181529190527e0101000100000000000000000000000000000000000000000000000000000061174b565b6040805160018082528183019092526060915f91906020808301908036833701905050905082815f815181106139fe576139fe614d00565b60209081029190910101525f612b157f746273746f726500000000000000000053746f7265486f6f6b730000000000008383611bde565b6108b283838351613a468560200190565b614152565b5f613a5860706010614469565b9190911b919050565b60605f5b6010811015613ac5577fffffffffffffffffffffffffffffffff000000000000000000000000000000008316600882021b7fff000000000000000000000000000000000000000000000000000000000000001615613ac557600101613a65565b604080517fffffffffffffffffffffffffffffffff00000000000000000000000000000000851660208201528151603090910190915281815280610812565b5f613b0d61286f565b9050306001600160a01b03821603613b3157613b2c868686868661174b565b610b4e565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae090613b7e9089908990899089908990600401615198565b5f604051808303815f87803b158015613b95575f80fd5b505af1158015613447573d5f803e3d5ffd5b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613bde57613bde614d00565b60209081029190910101525f6108127f746273746f72650000000000000000005461626c6573000000000000000000008360017e6003022020200000000000000000000000000000000000000000000000000061171f565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613c6d57613c6d614d00565b60209081029190910101525f613cc47f746273746f72650000000000000000005265736f75726365496473000000000083837e0101000100000000000000000000000000000000000000000000000000000061171f565b90506108128160f81c90565b6040805160018082528183019092525f918291906020808301908036833701905050905082815f81518110613d0757613d07614d00565b60209081029190910101525f6108127f746273746f72650000000000000000005461626c6573000000000000000000008360027e6003022020200000000000000000000000000000000000000000000000000061171f565b5f8282604051602001613d73929190614f5c565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b5f81831180613dc35750835182115b15613e00578383836040517f23230fa3000000000000000000000000000000000000000000000000000000008152600401610297939291906151de565b60208401613e0e8482614469565b90505f613e1b8585614e1b565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60605f610a318360155f614263565b6040805160018082528183019092525f91829182916020808301908036833701905050905083815f81518110613e8757613e87614d00565b60209081029190910101525f8080613edf7f7462776f726c6400000000000000000053797374656d73000000000000000000857e1502001401000000000000000000000000000000000000000000000000000061181a565b9250925092506109f88383836142db565b5f6060836001600160a01b03165f613f098589896142e6565b604051613f169190615202565b5f6040518083038185875af1925050503d805f8114613f50576040519150601f19603f3d011682016040523d82523d5f602084013e613f55565b606091505b509097909650945050505050565b5f6060836001600160a01b0316613f7b8488886142e6565b604051613f889190615202565b5f60405180830381855af49150503d805f8114613f50576040519150601f19603f3d011682016040523d82523d5f602084013e613f55565b6040805160028082526060820183525f928392919060208301908036833701905050905083815f81518110613ff757613ff7614d00565b602002602001018181525050826001600160a01b03165f1b8160018151811061402257614022614d00565b60209081029190910101525f6140797f7462776f726c640000000000000000005265736f75726365416363657373000083837e0101000100000000000000000000000000000000000000000000000000000061171f565b9050610c3e8160f81c90565b5f64ffffffffff8211156140c8576040517f4767058800000000000000000000000000000000000000000000000000000000815260048101839052602401610297565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff168085106140fa5780850382019150614102565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b82156141ca576020831061417c5760208304840193506020838161417857614178614f96565b0692505b82156141ca5760208390035f5f19600885021c1990506008850281811c91508351811c90508119875416828216178755508184116141bb575050611ba0565b50600194909401939182900391015b5b602082106141ec5780518455600190930192601f19909101906020016141cb565b8115611ba0575f5f19600884021c8554835182191691161785555050505050565b5f602061421b83601f614469565b614225919061521d565b61422f9084614469565b90505b808310156108b2575f8355600183019250614232565b5f61425283614315565b8015610a315750610a318383614360565b60605f6142708560801c90565b90506fffffffffffffffffffffffffffffffff85165f85828161429557614295614f96565b0490506040519350602084016020820281016040528185525f5b828110156142cf578451871c8252938701936020909101906001016142af565b50505050509392505050565b5f8061192685614414565b60608383836040516020016142fd9392919061523c565b60405160208183030381529060405290509392505050565b5f614340827f01ffc9a700000000000000000000000000000000000000000000000000000000614360565b8015610e935750614359826001600160e01b0319614360565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01ffc9a70000000000000000000000000000000000000000000000000000000017815282519293505f9283928392909183918a617530fa92503d91505f5190508280156143fe575060208210155b801561440957505f81115b979650505050505050565b6020810151603482015160609190911c905f9060f81c612a9f565b8051602080830151919081101561444f575f198160200360031b1b821691505b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610e9357610e93614455565b5f8083601f84011261448c575f80fd5b50813567ffffffffffffffff8111156144a3575f80fd5b6020830191508360208260051b85010111156144bd575f80fd5b9250929050565b803560ff811681146126da575f80fd5b5f805f805f608086880312156144e8575f80fd5b85359450602086013567ffffffffffffffff811115614505575f80fd5b6145118882890161447c565b90955093506145249050604087016144c4565b949793965091946060013592915050565b5f5b8381101561454f578181015183820152602001614537565b50505f910152565b5f815180845261456e816020860160208601614535565b601f01601f19169290920160200192915050565b602081525f610a316020830184614557565b5f8083601f8401126145a4575f80fd5b50813567ffffffffffffffff8111156145bb575f80fd5b6020830191508360208285010111156144bd575f80fd5b5f805f805f80608087890312156145e7575f80fd5b86359550602087013567ffffffffffffffff80821115614605575f80fd5b6146118a838b0161447c565b909750955085915061462560408a016144c4565b9450606089013591508082111561463a575f80fd5b5061464789828a01614594565b979a9699509497509295939492505050565b5f805f806060858703121561466c575f80fd5b84359350602085013567ffffffffffffffff811115614689575f80fd5b6146958782880161447c565b90945092506146a89050604086016144c4565b905092959194509250565b5f805f805f805f8060a0898b0312156146ca575f80fd5b88359750602089013567ffffffffffffffff808211156146e8575f80fd5b6146f48c838d0161447c565b909950975060408b013591508082111561470c575f80fd5b6147188c838d01614594565b909750955060608b0135945060808b0135915080821115614737575f80fd5b506147448b828c01614594565b999c989b5096995094979396929594505050565b5f805f805f805f60a0888a03121561476e575f80fd5b87359650602088013567ffffffffffffffff8082111561478c575f80fd5b6147988b838c0161447c565b90985096508691506147ac60408b016144c4565b955060608a01359150808211156147c1575f80fd5b506147ce8a828b01614594565b989b979a50959894979596608090950135949350505050565b5f602082840312156147f7575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561483b5761483b6147fe565b604052919050565b5f82601f830112614852575f80fd5b813567ffffffffffffffff81111561486c5761486c6147fe565b61487f6020601f19601f84011601614812565b818152846020838601011115614893575f80fd5b816020850160208301375f918101602001919091529392505050565b5f80604083850312156148c0575f80fd5b82359150602083013567ffffffffffffffff8111156148dd575f80fd5b6148e985828601614843565b9150509250929050565b5f805f8060608587031215614906575f80fd5b84359350602085013567ffffffffffffffff811115614923575f80fd5b61492f8782880161447c565b9598909750949560400135949350505050565b606081525f6149546060830186614557565b8460208401528281036040840152610a5a8185614557565b5f82601f83011261497b575f80fd5b8135602067ffffffffffffffff821115614997576149976147fe565b8160051b6149a6828201614812565b92835284810182019282810190878511156149bf575f80fd5b83870192505b84831015614409578235825291830191908301906149c5565b5f805f805f60a086880312156149f2575f80fd5b85359450602086013567ffffffffffffffff811115614a0f575f80fd5b614a1b8882890161496c565b945050614a2a604087016144c4565b94979396509394606081013594506080013592915050565b5f805f60408486031215614a54575f80fd5b83359250602084013567ffffffffffffffff811115614a71575f80fd5b614a7d8682870161447c565b9497909650939450505050565b6001600160a01b0381168114611552575f80fd5b5f805f60608486031215614ab0575f80fd5b8335614abb81614a8a565b925060208401359150604084013567ffffffffffffffff811115614add575f80fd5b614ae986828701614843565b9150509250925092565b5f805f8060808587031215614b06575f80fd5b84359350602085013567ffffffffffffffff811115614b23575f80fd5b614b2f8782880161496c565b935050614b3e604086016144c4565b9396929550929360600135925050565b5f805f60608486031215614b60575f80fd5b83359250602084013567ffffffffffffffff811115614b7d575f80fd5b614b898682870161496c565b925050614b98604085016144c4565b90509250925092565b5f8060408385031215614bb2575f80fd5b8235614bbd81614a8a565b9150602083013567ffffffffffffffff8111156148dd575f80fd5b5f805f805f8060808789031215614bed575f80fd5b86359550602087013567ffffffffffffffff80821115614c0b575f80fd5b614c178a838b0161447c565b90975095506040890135915065ffffffffffff82168214614c36575f80fd5b9093506060880135908082111561463a575f80fd5b803564ffffffffff811681146126da575f80fd5b5f805f805f805f8060c0898b031215614c76575f80fd5b88359750602089013567ffffffffffffffff80821115614c94575f80fd5b614ca08c838d0161447c565b9099509750879150614cb460408c016144c4565b9650614cc260608c01614c4b565b9550614cd060808c01614c4b565b945060a08b0135915080821115614737575f80fd5b5f60208284031215614cf5575f80fd5b8135610a3181614a8a565b634e487b7160e01b5f52603260045260245ffd5b604081525f614d266040830185614557565b90506001600160a01b03831660208301529392505050565b5f815180845260208085019450602084015f5b83811015614d6d57815187529582019590820190600101614d51565b509495945050505050565b848152608060208201525f614d906080830186614d3e565b60ff949094166040830152506060015292915050565b5f60208284031215614db6575f80fd5b5051919050565b5f60ff821660ff8103614dd257614dd2614455565b60010192915050565b6001600160a01b0384168152826020820152606060408201525f610c3e6060830184614557565b60ff8281168282160390811115610e9357610e93614455565b81810381811115610e9357610e93614455565b5f60208284031215614e3e575f80fd5b81518015158114610a31575f80fd5b606081525f614e5f6060830186614d3e565b65ffffffffffff851660208401528281036040840152610a5a8185614557565b848152608060208201525f614e976080830186614d3e565b65ffffffffffff8516604084015282810360608401526144098185614557565b7fffff000000000000000000000000000000000000000000000000000000000000841681525f7f3a000000000000000000000000000000000000000000000000000000000000008060028401528451614f17816003860160208901614535565b808401905081600382015284519150614f37826004830160208801614535565b0160040195945050505050565b828152604060208201525f6108126040830184614557565b8281525f60208083018451602086015f5b82811015614f8957815184529284019290840190600101614f6d565b5091979650505050505050565b634e487b7160e01b5f52601260045260245ffd5b8082028115828204841417610e9357610e93614455565b7fffff00000000000000000000000000000000000000000000000000000000000084168152826020820152606060408201525f610c3e6060830184614557565b64ffffffffff81811683821601908082111561501f5761501f614455565b5092915050565b87815260e060208201525f61503e60e0830189614d3e565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c08401526150758185614557565b9a9950505050505050505050565b60a081525f61509560a0830188614d3e565b65ffffffffffff8716602084015264ffffffffff861660408401528460608401528281036080840152611f768185614557565b608081525f6150da6080830187614d3e565b82810360208401526150ec8187614557565b905084604084015282810360608401526144098185614557565b86815260c060208201525f61511e60c0830188614d3e565b82810360408401526151308188614557565b9050856060840152828103608084015261514a8186614557565b9150508260a0830152979650505050505050565b602081525f610a316020830184614d3e565b838152606060208201525f6151886060830185614d3e565b9050826040830152949350505050565b85815260a060208201525f6151b060a0830187614d3e565b60ff8616604084015282810360608401526151cb8186614557565b9150508260808301529695505050505050565b606081525f6151f06060830186614557565b60208301949094525060400152919050565b5f8251615213818460208701614535565b9190910192915050565b5f8261523757634e487b7160e01b5f52601260045260245ffd5b500490565b5f845161524d818460208901614535565b60609490941b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190930190815260148101919091526034019291505056fea164736f6c6343000818000a","sourceMap":"1687:15886:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;625:63:80;;;-1:-1:-1;;;625:63:80;;;197:92:207;16629:19:57;305:11:207;;;298:100;;;414:12;;;407:101;;;16629:19:57;16651:32;;524:12:207;625:63:80;;;;;;;;;;;;617:72;;;:::i;:::-;16651:13:57;:32::i;:::-;625:63:80;;;-1:-1:-1;;;625:63:80;;;197:92:207;662:14:80;305:11:207;;;298:100;;;414:12;;;407:101;16629:54:57;;-1:-1:-1;16689:57:57;;524:12:207;625:63:80;;;;;;;;;;;;617:72;;;:::i;:::-;16722:23:57;16736:9;16722:11;:23;:::i;:::-;16689:13;:57::i;:::-;16623:128;1687:15886;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;;;;;;;;2480:88;16904:5:::1;16911:10;-1:-1:-1::0;;;;;2145:8:57;;2700:32:::1;2696:467;;2807:1;2764:30;2783:10;2764:18;:30::i;:::-;2746:63;2742:140;;2828:45;::::0;::::1;::::0;;2862:10:::1;2828:45;::::0;::::1;1627:74:207::0;1600:18;;2828:45:57::1;1481:226:207::0;2742:140:57::1;2889:14;2915:10;2911:146;;;-1:-1:-1::0;;;;;;2954:22:57;::::1;2911:146;;;-1:-1:-1::0;3035:10:57::1;2911:146;3142:6;3139:1;3132:17;3073:84;2696:467;16930:19:::2;16951:29:::0;16984:31:::2;17007:7;;-1:-1:-1::0;;;;;;17007:7:57::2;16984:22;:31::i;:::-;16929:86;;;;17044:8;17057:1;17026:32:::0;::::2;::::0;17022:84:::2;;17067:39;::::0;::::2;::::0;;-1:-1:-1;;;;;;17098:7:57::2;;;17067:39;::::0;::::2;1372:98:207::0;1345:18;;17067:39:57::2;1228:248:207::0;17022:84:57::2;17196:21;17220:52;17236:8;;17220:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;-1:-1:-1;17220:52:57;-1:-1:-1;17249:22:57;;-1:-1:-1;17220:15:57::2;::::0;-1:-1:-1;17220:52:57:i:2;:::-;17196:76;;17330:23;17356:75;17389:10;17401:8;17411;17421:9;17356:32;:75::i;:::-;17330:101;;17549:10;17543:17;17536:4;17524:10;17520:21;17513:48;1831:32:::0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1645:55:207;;;1627:74;;1615:2;1600:18;1831:32:57;;;;;;;;3942:258:23;;;;;;;;;;-1:-1:-1;3942:258:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8369:349:57:-;;;;;;;;;;-1:-1:-1;8369:349:57;;;;;:::i;:::-;;:::i;11581:399::-;;;;;;;;;;-1:-1:-1;11581:399:57;;;;;:::i;:::-;;:::i;2014:205::-;;;;;;;;;;-1:-1:-1;2063:7:57;2145:8;2014:205;;5209:244:23;;;;;;;;;;-1:-1:-1;5209:244:23;;;;;:::i;:::-;;:::i;5871:429:57:-;;;;;;;;;;-1:-1:-1;5871:429:57;;;;;:::i;:::-;;:::i;9127:391::-;;;;;;;;;;-1:-1:-1;9127:391:57;;;;;:::i;:::-;;:::i;10050:403::-;;;;;;;;;;-1:-1:-1;10050:403:57;;;;;:::i;:::-;;:::i;711:156:23:-;;;;;;;;;;-1:-1:-1;711:156:23;;;;;:::i;:::-;;:::i;:::-;;;8303:25:207;;;8291:2;8276:18;711:156:23;8126:208:207;13874:272:57;;;;;;:::i;:::-;;:::i;2604:288:23:-;;;;;;;;;;-1:-1:-1;2604:288:23;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7725:295::-;;;;;;;;;;-1:-1:-1;7725:295:23;;;;;:::i;:::-;;:::i;13114:284:57:-;;;;;;;;;;-1:-1:-1;13114:284:57;;;;;:::i;:::-;;:::i;1925:85::-;;;;;;;;;;-1:-1:-1;1992:13:57;1925:85;;14546:1768;;;;;;:::i;:::-;;:::i;4597:265:23:-;;;;;;;;;;-1:-1:-1;4597:265:23;;;;;:::i;:::-;;:::i;6467:258::-;;;;;;;;;;-1:-1:-1;6467:258:23;;;;;:::i;:::-;;:::i;5915:216::-;;;;;;;;;;-1:-1:-1;5915:216:23;;;;;:::i;:::-;;:::i;4201:212:57:-;;;;;;;;;;-1:-1:-1;4201:212:57;;;;;:::i;:::-;;:::i;6669:369::-;;;;;;;;;;-1:-1:-1;6669:369:57;;;;;:::i;:::-;;:::i;7562:479::-;;;;;;;;;;-1:-1:-1;7562:479:57;;;;;:::i;:::-;;:::i;3404:553::-;;;;;;;;;;-1:-1:-1;3404:553:57;;;;;:::i;:::-;;:::i;1906:246:23:-;;;;;;;;;;-1:-1:-1;1906:246:23;;;;;:::i;:::-;;:::i;3371:216::-;;;;;;;;;;-1:-1:-1;3371:216:23;;;;;:::i;:::-;;:::i;1386:143::-;;;;;;;;;;-1:-1:-1;1386:143:23;;;;;:::i;:::-;;:::i;12419:404:57:-;;;;;;;;;;-1:-1:-1;12419:404:57;;;;;:::i;:::-;;:::i;1054:151:23:-;;;;;;;;;;-1:-1:-1;1054:151:23;;;;;:::i;:::-;;:::i;10819:377:57:-;;;;;;;;;;-1:-1:-1;10819:377:57;;;;;:::i;:::-;;:::i;4485:308:68:-;4598:16;;;4612:1;4598:16;;;;;;;;;4546:15;;;;4598:16;;;;;;;;;;;;-1:-1:-1;4598:16:68;4569:45;;4653:11;4620:9;4630:1;4620:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4672:13;4688:62;1263:66;4723:9;4672:13;-1:-1:-1;;;4688:24:68;:62::i;:::-;4672:78;4485:308;-1:-1:-1;;;;4485:308:68:o;5784:269::-;5883:16;;;5897:1;5883:16;;;;;;;;;5854:26;;5883:16;;;;;;;;;;;-1:-1:-1;5883:16:68;5854:45;;5938:11;5905:9;5915:1;5905:12;;;;;;;;:::i;:::-;;;;;;:45;;;;;5957:91;1263:66;1247:83;;5992:9;6003:1;6024:7;6006:27;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;6006:27:68;;;;-1:-1:-1;;6006:27:68;;;;;;;;;-1:-1:-1;;;5957:24:68;:91::i;:::-;5848:205;5784:269;;:::o;4163:314:77:-;4271:16;;;4285:1;4271:16;;;;;;;;;4215:19;;;;4271:16;;;;;;;;;;;;-1:-1:-1;4271:16:77;4242:45;;4332:6;-1:-1:-1;;;;;4316:24:77;4308:33;;4293:9;4303:1;4293:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;4348:13;4364:64;1269:66;4401:9;4348:13;-1:-1:-1;;;4364:26:77;:64::i;6973:451:69:-;7122:16;;;7136:1;7122:16;;;;;;;;;7035:19;;;;;;7122:16;;;;;;;;;;;-1:-1:-1;7122:16:69;7093:45;;7167:16;7159:25;;;7144:9;7154:1;7144:12;;;;;;;;:::i;:::-;;;;;;;;;;:40;7192:24;;;7278:78;1271:66;7321:9;1454:66;7278:19;:78::i;:::-;7191:165;;;;;;7369:50;7376:11;7389:15;7406:12;7369:6;:50::i;:::-;7362:57;;;;;;;;6973:451;;;:::o;1497:492:2:-;1678:28;;;1693:4;1678:28;1672:35;;1781:9;1770:21;1837:20;;1895:43;;1686:5;1497:492;;;;;;:::o;5192:401:55:-;5336:17;5362:12;5376:23;5403:115;5433:6;5477:8;5503;5454:5;5403:13;:115::i;:::-;5361:157;;;;5529:7;5524:41;;5538:27;5554:10;5538:15;:27::i;:::-;5578:10;5192:401;-1:-1:-1;;;;;;5192:401:55:o;3942:258:23:-;4101:17;4133:62;4152:7;4161:8;;4133:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4171:10:23;;-1:-1:-1;4183:11:23;;-1:-1:-1;4133:18:23;;-1:-1:-1;4133:62:23:i;8369:349:57:-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;8582:48:::1;8610:7;8619:10;8582:27;:48::i;:::-;8658:55;8677:7;8686:8;;8658:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;8658:55:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;8696:10;;-1:-1:-1;8658:55:57;-1:-1:-1;8708:4:57;;;;;;8658:55;::::1;8708:4:::0;;;;8658:55;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;8658:18:57::1;::::0;-1:-1:-1;;;8658:55:57:i:1;:::-;8369:349:::0;;;;;;:::o;11581:399::-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;11817:48:::1;11845:7;11854:10;11817:27;:48::i;:::-;11897:78;11926:7;11935:8;;11897:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11897:78:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11945:17;;-1:-1:-1;11897:78:57;-1:-1:-1;11964:10:57;;;;;;11897:78;::::1;11964:10:::0;;;;11897:78;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11897:28:57::1;::::0;-1:-1:-1;;;11897:78:57:i:1;5209:244:23:-:0;5353:17;5385:63;5411:7;5420:8;;5385:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5430:17:23;;-1:-1:-1;5385:25:23;;-1:-1:-1;;5385:63:23:i;:::-;5378:70;5209:244;-1:-1:-1;;;;;5209:244:23:o;5871:429:57:-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;6139:48:::1;6167:7;6176:10;6139:27;:48::i;:::-;6216:79;6236:7;6245:8;;6216:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6216:79:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;6255:10:57;;-1:-1:-1;6255:10:57;;;;6216:79;::::1;6255:10:::0;;;;6216:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;6216:79:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;6267:14;;-1:-1:-1;6216:79:57;-1:-1:-1;6283:11:57;;;;;;6216:79;::::1;6283:11:::0;;;;6216:79;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6216:19:57::1;::::0;-1:-1:-1;;;6216:79:57:i:1;:::-;5871:429:::0;;;;;;;;:::o;9127:391::-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;9369:48:::1;9397:7;9406:10;9369:27;:48::i;:::-;9445:68;9464:7;9473:8;;9445:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;9445:68:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;9483:10;;-1:-1:-1;9445:68:57;-1:-1:-1;9495:4:57;;;;;;9445:68;::::1;9495:4:::0;;;;9445:68;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;9501:11:57;;-1:-1:-1;9445:18:57::1;::::0;-1:-1:-1;;9445:68:57:i:1;:::-;9127:391:::0;;;;;;;:::o;10050:403::-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;10298:48:::1;10326:7;10335:10;10298:27;:48::i;:::-;10374:74;10399:7;10408:8;;10374:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;10374:74:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;10418:10;;-1:-1:-1;10374:74:57;-1:-1:-1;10430:4:57;;;;;;10374:74;::::1;10430:4:::0;;;;10374:74;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;10436:11:57;;-1:-1:-1;10374:24:57::1;::::0;-1:-1:-1;;10374:74:57:i:1;711:156:23:-:0;784:23;829:33;854:7;829:24;:33::i;:::-;815:47;711:156;-1:-1:-1;;711:156:23:o;13874:272:57:-;14039:12;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;14011:5:::1;14018:10;-1:-1:-1::0;;;;;2145:8:57;;2700:32:::1;2696:467;;2807:1;2764:30;2783:10;2764:18;:30::i;:::-;2746:63;2742:140;;2828:45;::::0;::::1;::::0;;2862:10:::1;2828:45;::::0;::::1;1627:74:207::0;1600:18;;2828:45:57::1;1481:226:207::0;2742:140:57::1;2889:14;2915:10;2911:146;;;-1:-1:-1::0;;;;;;2954:22:57;::::1;2911:146;;;-1:-1:-1::0;3035:10:57::1;2911:146;3142:6;3139:1;3132:17;3073:84;2696:467;14066:75:::2;14099:10;14111:8;14121;14131:9;14066:32;:75::i;2604:288:23:-:0;2742:23;2767:28;2797:24;2836:51;2856:7;2865:8;;2836:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2875:11:23;;-1:-1:-1;2836:19:23;;-1:-1:-1;;2836:51:23:i;:::-;2829:58;;;;;;2604:288;;;;;;;;:::o;7725:295::-;7908:12;7935:80;7966:7;7975:8;7985:17;8004:5;8011:3;7935:30;:80::i;13114:284:57:-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;13272:48:::1;13300:7;13309:10;13272:27;:48::i;:::-;13352:41;13375:7;13384:8;;13352:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13352:22:57::1;::::0;-1:-1:-1;;;13352:41:57:i:1;14546:1768::-:0;14736:12;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;14710:4:::1;14716:9:::0;-1:-1:-1;;;;;2730:1:57::1;2145:8:::0;2700:32:::1;2696:467;;2807:1;2764:30;2783:10;2764:18;:30::i;:::-;2746:63;2742:140;;2828:45;::::0;::::1;::::0;;2862:10:::1;2828:45;::::0;::::1;1627:74:207::0;1600:18;;2828:45:57::1;1481:226:207::0;2742:140:57::1;2889:14;2915:10;2911:146;;;-1:-1:-1::0;;;;;;2954:22:57;::::1;2911:146;;;-1:-1:-1::0;3035:10:57::1;2911:146;3142:6;3139:1;3132:17;3073:84;2696:467;14837:10:::2;-1:-1:-1::0;;;;;14824:23:57;::::2;::::0;14820:126:::2;;14864:75;14897:10;14909:8;14919;14929:9;14864:32;:75::i;:::-;14857:82;;;;14820:126;15067:33;15103:75;15143:9;15165:10;15103:26;:75::i;:::-;15067:111;;15189:84;15207:22;15231:9;15242:10;15254:8;15264;15189:17;:84::i;:::-;15185:227;;;15331:74;15364:9;15375:8;15385;15395:9;15331:32;:74::i;:::-;15324:81;;;;;15185:227;15486:35;15524:75;15564:9;15594:1;15524:26;:75::i;:::-;15486:113;;15609:86;15627:24;15653:9;15664:10;15676:8;15686;15609:17;:86::i;:::-;15605:229;;;15753:74;15786:9;15797:8;15807;15817:9;15753:32;:74::i;:::-;15746:81;;;;;;15605:229;15908:40;15951:58;-1:-1:-1::0;;;578:36:59;2820:46;;2819:74;15951:31:57::2;:58::i;:::-;15908:101;;16019:91;16037:29;16068:9;16079:10;16091:8;16101;16019:17;:91::i;:::-;16015:234;;;16168:74;16201:9;16212:8;16222;16232:9;16168:32;:74::i;:::-;16161:81;;;;;;;16015:234;16262:47;::::0;::::2;::::0;;-1:-1:-1;;;;;19674:15:207;;16262:47:57::2;::::0;::::2;19656:34:207::0;16298:10:57::2;19706:18:207::0;;;19699:43;19568:18;;16262:47:57::2;19421:327:207::0;3168:1:57::2;2573::::1;;14546:1768:::0;;;;;:::o;4597:265:23:-;4762:12;4789:68;4814:7;4823:8;;4789:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4833:10:23;;-1:-1:-1;4845:11:23;;-1:-1:-1;4789:24:23;;-1:-1:-1;4789:68:23:i;6467:258::-;6630:7;6652:68;6677:7;6686:8;6696:10;6708:11;6652:24;:68::i;5915:216::-;6049:7;6071:55;6096:7;6105:8;6115:10;6071:24;:55::i;4201:212:57:-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;625:63:80::1;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;197:92:207::0;662:14:80::1;305:11:207::0;;;298:100;;;414:12;;;407:101;4306:57:57::1;::::0;524:12:207;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;4352:10:57;4306:26;:57::i;:::-;4369:39;4388:6;4396:11;4369:18;:39::i;:::-;4201:212:::0;;:::o;6669:369::-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;6890:48:::1;6918:7;6927:10;6890:27;:48::i;:::-;6975:58;7002:7;7011:8;;6975:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;6975:58:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7021:5;;-1:-1:-1;6975:58:57;-1:-1:-1;7028:4:57;;;;;;6975:58;::::1;7028:4:::0;;;;6975:58;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;6975:26:57::1;::::0;-1:-1:-1;;;6975:58:57:i:1;7562:479::-:0;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;7848:48:::1;7876:7;7885:10;7848:27;:48::i;:::-;7934:102;7962:7;7971:8;;7934:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;7934:102:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;7981:17;;-1:-1:-1;8000:16:57;;-1:-1:-1;8018:11:57;;8031:4;;;;;;7934:102;::::1;8031:4:::0;;;;7934:102;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;7934:27:57::1;::::0;-1:-1:-1;;;7934:102:57:i:1;3404:553::-:0;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;3547:10:::1;-1:-1:-1::0;;;;;3561:7:57::1;3547:21;;3543:109;;625:63:80;::::0;;-1:-1:-1;;;625:63:80::1;::::0;::::1;197:92:207::0;662:14:80::1;305:11:207::0;;;298:100;;;414:12;;;407:101;3604:28:57::1;::::0;524:12:207;625:63:80::1;;;;;;;;;;;;617:72;;;:::i;:::-;3604:26:57;:28::i;:::-;3634:10;3585:60;;;;;;;;;;;;:::i;3543:109::-;3743:1;3708:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;3708:37:57::1;;3704:91;;3762:26;;;;;;;;;;;;;;3704:91;3801:42;3831:10;3801:21;:42::i;:::-;3939:12;::::0;;3949:1:::1;3939:12:::0;;::::1;::::0;::::1;::::0;;;3908:44:::1;::::0;3927:10;;3908:18:::1;:44::i;:::-;3404:553:::0;:::o;1906:246:23:-;2015:23;2040:28;2070:24;2109:38;2129:7;2138:8;;2109:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2109:19:23;;-1:-1:-1;;;2109:38:23:i;:::-;2102:45;;;;;;1906:246;;;;;;;:::o;3371:216::-;3501:17;3533:49;3552:7;3561:8;;3533:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3571:10:23;;-1:-1:-1;3533:18:23;;-1:-1:-1;;3533:49:23:i;1386:143::-;1457:16;1493:31;1516:7;1493:22;:31::i;12419:404:57:-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;12654:48:::1;12682:7;12691:10;12654:27;:48::i;:::-;12734:84;12764:7;12773:8;;12734:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12783:17:57;;-1:-1:-1;12802:15:57;;-1:-1:-1;12734:29:57::1;::::0;-1:-1:-1;12734:84:57:i:1;:::-;12419:404:::0;;;;;:::o;1054:151:23:-;1127:18;1167:33;1192:7;1167:24;:33::i;10819:377:57:-;2506:4;2484:10;:27;2480:88;;2528:33;;-1:-1:-1;;;2528:33:57;;-1:-1:-1;;;;;;2553:7:57;;;2528:33;;;1372:98:207;1345:18;;2528:33:57;1228:248:207;2480:88:57;11046:48:::1;11074:7;11083:10;11046:27;:48::i;:::-;11122:69;11148:7;11157:8;;11122:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11122:69:57::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;11167:17;;-1:-1:-1;11122:69:57;-1:-1:-1;11186:4:57;;;;;;11122:69;::::1;11186:4:::0;;;;11122:69;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11122:25:57::1;::::0;-1:-1:-1;;;11122:69:57:i:1;38022:541:20:-:0;38179:7;38316:242;38360:59;38401:7;38410:8;38360:40;:59::i;:::-;38437:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;38486:63:20;38525:11;38538:10;38486:38;:63::i;:::-;38316:17;:242::i;24989:355::-;25161:178;25195:7;25220:8;25250:63;25289:11;25302:10;25250:38;:63::i;:::-;25328:4;25161:16;:178::i;17702:457:24:-;17859:7;17874:21;17898:17;:15;:17::i;:::-;17874:41;-1:-1:-1;17950:4:24;-1:-1:-1;;;;;17925:30:24;;;17921:234;;17972:68;17997:7;18006:8;18016:10;18028:11;17972:24;:68::i;:::-;17965:75;;;;;17921:234;18068:80;;;;;-1:-1:-1;;;;;18068:36:24;;;;;:80;;18105:7;;18114:8;;18124:10;;18136:11;;18068:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;34611:1314:20:-;34741:23;34766:28;34796:24;34862:20;34885:30;:11;:28;:30::i;:::-;34862:53;;34976:65;35009:7;35018:8;35028:12;34976:32;:65::i;:::-;34963:78;;35105:24;35132:30;:11;:28;:30::i;:::-;35105:57;-1:-1:-1;35172:20:20;;35168:753;;35265:66;35313:7;35322:8;35265:47;:66::i;:::-;35248:83;-1:-1:-1;6184:59:15;;;35383:33:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;35383:33:20;-1:-1:-1;35369:47:20;-1:-1:-1;828:4:14;818:15;;35424:21:20;35488:427;35506:16;35502:1;:20;;;35488:427;;;35539:27;35569:63;35611:7;35620:8;35630:1;35569:41;:63::i;:::-;35539:93;-1:-1:-1;35642:14:20;35659:25;:14;35682:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;35659:25:20;35642:42;;35694:110;35725:19;35754:1;35765:6;35788:13;35694:12;:110::i;:::-;35883:23;35900:6;35883:23;;:::i;:::-;;;35529:386;;35524:3;;;;;:::i;:::-;;;;35488:427;;;;35194:727;35168:753;34822:1103;;34611:1314;;;;;;;:::o;8965:235:69:-;9075:19;9096:29;9170:25;9183:11;9170:12;:25::i;:::-;9133:62;;;;-1:-1:-1;8965:235:69;-1:-1:-1;;;;8965:235:69:o;3716:1003:55:-;3852:12;3866:17;3915:22;3940:26;3957:8;3940:16;:26::i;:::-;3915:51;;4043:9;4038:228;4058:5;:12;4054:1;:16;4038:228;;;4085:9;4107:5;4113:1;4107:8;;;;;;;;:::i;:::-;;;;;;;4085:31;;4128:34;392:6:96;4128:4:55;:14;;;;;:34;;;;:::i;:::-;4124:136;;;4174:77;;;;;3404:35:4;;;;;4174:49:55;;:77;;4224:6;;4232:8;;4242;;4174:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4124:136;-1:-1:-1;4072:3:55;;4038:228;;;;4341:78;4356:6;4371:5;4388:8;4408;4341:4;:78::i;:::-;4323:96;;-1:-1:-1;4323:96:55;-1:-1:-1;4494:9:55;4489:226;4509:5;:12;4505:1;:16;4489:226;;;4536:9;4558:5;4564:1;4558:8;;;;;;;;:::i;:::-;;;;;;;4536:31;;4579:33;520:6:96;4579:4:55;:14;;;;;:33;;;;:::i;:::-;4575:134;;;4624:76;;;;;3404:35:4;;;;;4624:48:55;;:76;;4673:6;;4681:8;;4691;;4624:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:134;-1:-1:-1;4523:3:55;;4489:226;;;;3885:834;3716:1003;;;;;;;:::o;501:217:95:-;704:6;698:13;691:4;683:6;679:17;672:40;36975:440:20;37126:12;37163:29;:11;:27;:29::i;:::-;37150:10;:42;;;37146:265;;;37209:82;37248:7;37257:8;37267:10;37279:11;37209:38;:82::i;:::-;37202:89;;;;37146:265;37319:85;37335:7;37344:8;37373:29;:11;:27;:29::i;:::-;37354:49;;:10;:49;:::i;:::-;37319:15;:85::i;1480:281:42:-;1642:29;1652:10;1664:6;1642:9;:29::i;:::-;1637:120;;1720:21;:10;:19;:21::i;:::-;1743:6;1688:62;;;;;;;;;;;;:::i;22831:192:20:-;22948:70;22957:7;22966:8;22976:10;22988:4;22994:23;23009:7;22994:14;:23::i;:::-;22948:8;:70::i;:::-;22831:192;;;;:::o;30619:790::-;30878:36;30917:66;30965:7;30974:8;30917:47;:66::i;:::-;30878:105;-1:-1:-1;30989:26:20;31025:49;30878:105;31056:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;31025:49:20;30989:86;;31113:291;31167:7;31192:8;31227:17;31277:19;31318:1;31333:10;31375:22;31113:36;:291::i;39031:522::-;39167:12;39291:257;39330:79;39372:7;39381:8;39391:17;39330:41;:79::i;:::-;39427:1;39446:93;39521:17;39446:66;39494:7;39503:8;39446:47;:66::i;:::-;:74;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;39446:93:20;39291:12;:257::i;13982:285::-;14168:94;14178:7;14187:8;14197:10;14209:14;14225:11;14238:23;14253:7;14238:14;:23::i;:::-;14168:9;:94::i;23922:409::-;24105:29;:11;:27;:29::i;:::-;24092:10;:42;;;24088:239;;;24144:64;24159:7;24168:8;24178:10;24190:4;24196:11;24144:14;:64::i;:::-;24088:239;;;24229:91;24245:7;24254:8;24283:29;:11;:27;:29::i;:::-;24264:49;;:10;:49;:::i;:::-;24315:4;24229:15;:91::i;6237:651::-;6304:11;6540:62;;;6536:112;;-1:-1:-1;1343:66:29;;6237:651:20;-1:-1:-1;6237:651:20:o;6536:112::-;6692:183;6738:83;1171:66:29;6812:7:20;6738:40;:83::i;:::-;6841:2;6863:1;6692:17;:183::i;42754:1148::-;42931:12;43004:3;42996:5;:11;42992:83;;;43024:44;;;;;;;;22234:25:207;;;22275:18;;;22268:34;;;22207:18;;43024:44:20;22060:248:207;42992:83:20;43284:28;43315:66;43363:7;43372:8;43315:47;:66::i;:::-;43284:97;-1:-1:-1;43387:19:20;43409:41;43284:97;43432:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;43409:41:20;43387:63;;43469:11;43460:5;:20;;:41;;;;43490:11;43484:3;:17;43460:41;43456:157;;;43554:11;43576;43567:5;:20;;:38;;43598:7;43604:1;43598:3;:7;:::i;:::-;43567:38;;;43590:5;43567:38;43518:88;;;;;;;;22234:25:207;;;;22275:18;;;22268:34;22207:18;;43518:88:20;22060:248:207;43456:157:20;43683:16;43702:79;43744:7;43753:8;43763:17;43702:41;:79::i;:::-;43683:98;;43813:78;43844:8;43862:5;43883;43877:3;:11;43813:12;:78::i;:::-;43806:85;42754:1148;-1:-1:-1;;;;;;;;;42754:1148:20:o;27433:145::-;27517:56;27530:7;27539:8;27549:23;27564:7;27549:14;:23::i;:::-;27517:12;:56::i;4990:406:79:-;5132:16;;;5146:1;5132:16;;;;;;;;5065:30;;;;5132:16;5146:1;5132:16;;;;;;;;;;-1:-1:-1;5132:16:79;5103:45;;5193:9;-1:-1:-1;;;;;5177:27:79;5169:36;;5154:9;5164:1;5154:12;;;;;;;;:::i;:::-;;;;;;:51;;;;;5250:9;-1:-1:-1;;;;;5234:27:79;5226:36;;5211:9;5221:1;5211:12;;;;;;;;:::i;:::-;;;;;;;;;;:51;5269:13;5285:62;1271:66;5320:9;5269:13;-1:-1:-1;;;5285:24:79;:62::i;2128:811:43:-;2300:4;2372:32;2384:19;2372:11;:32::i;:::-;2368:49;;;-1:-1:-1;2413:4:43;2406:11;;2368:49;744:53;2476:46;;-1:-1:-1;2517:5:43;2510:12;;2476:46;2636:12;2650:17;2671:193;2703:9;2856:1;2730:19;2810:9;2821:8;2831;2767:74;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2767:74:43;;;;;;;;;;;;;;;;;;;;2671:15;:193::i;:::-;2635:229;;;;2876:7;2871:26;;2892:5;2885:12;;;;;;2871:26;2921:4;2910:24;;;;;;;;;;;;:::i;:::-;2903:31;2128:811;-1:-1:-1;;;;;;;;2128:811:43:o;4676:329:73:-;4804:16;;;4818:1;4804:16;;;;;;;;;4737:30;;;;4804:16;;;;;;;;;;;;-1:-1:-1;4804:16:73;4775:45;;4859:11;4826:9;4836:1;4826:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4878:13;4894:62;1271:66;4929:9;4878:13;-1:-1:-1;;;4894:24:73;:62::i;40817:427:20:-;40974:7;40989:21;41019:29;:11;:27;:29::i;:::-;40989:60;;41072:15;41059:28;;:10;:28;;;41055:185;;;41104:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;41104:31:20;4318:217:3;41055:185:20;41163:70;41185:7;41194:8;41204:28;41217:15;41204:10;:28;:::i;:::-;41163:21;:70::i;40170:225::-;40298:7;40320:70;40335:7;40344:8;40354:10;40366:23;40381:7;40366:14;:23::i;:::-;40320:14;:70::i;2074:233:42:-;-1:-1:-1;;;;;2159:58:42;;:48;-1:-1:-1;;;578:36:59;2820:46;;2819:74;2159:19:42;:48::i;:::-;-1:-1:-1;;;;;2159:58:42;;2155:148;;2266:21;:10;:19;:21::i;4605:570:57:-;4761:60;4786:6;4795:25;4761:16;:60::i;:::-;4828:210;4903:10;4931:1;4956:6;5018:11;4981:50;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4981:50:57;;;;;;;;;;;;;;;;;;;;4828:55;:210::i;:::-;;5102:68;5132:6;5151:11;5141:22;;;;;;5165:4;5102:21;:68::i;18901:1676:20:-;19101:23;19080:7;:44;;;19076:232;;19231:7;19187:100;19250:8;19267:5;19280:4;19187:100;;;;;;;;:::i;:::-;;;;;;;;19295:7;;19076:232;19314:16;19333:59;19374:7;19383:8;19333:40;:59::i;:::-;19314:78;;19538:22;19563:24;19579:7;19563:15;:24::i;:::-;19538:49;;19598:9;19593:328;19613:5;:12;19609:1;:16;19593:328;;;19640:9;19662:5;19668:1;19662:8;;;;;;;;:::i;:::-;;;;;;;19640:31;;19683:41;548:6:32;19683:4:20;:14;;;;;:41;;;;:::i;:::-;19679:236;;;19736:170;;;;;3404:35:4;;;;;19736:54:20;;:170;;19812:7;;19841:8;;19868:5;;19891:4;;19736:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19679:236;-1:-1:-1;19627:3:20;;19593:328;;;;20022:7;19978:100;20041:8;20058:5;20071:4;19978:100;;;;;;;;:::i;:::-;;;;;;;;20128:70;20160:8;20178:5;20128:70;;20191:4;20128:13;:70::i;:::-;20252:9;20247:326;20267:5;:12;20263:1;:16;20247:326;;;20294:9;20316:5;20322:1;20316:8;;;;;;;;:::i;:::-;;;;;;;20294:31;;20337:40;657:6:32;20337:4:20;:14;;;;;:40;;;;:::i;:::-;20333:234;;;20389:169;;;;;3404:35:4;;;;;20389:53:20;;:169;;20464:7;;20493:8;;20520:5;;20543:4;;20389:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20333:234;-1:-1:-1;20281:3:20;;20247:326;;21476:539;21682:328;21736:7;21761:8;21796:17;21839:16;21876:11;21901:4;21937:66;21985:7;21994:8;21937:47;:66::i;:::-;21682:36;:328::i;3351:592:59:-;3415:13;3485:10;385:5:16;2502:44:59;;;3436:19;3583;3485:10;3583:7;:19::i;:::-;3560:42;-1:-1:-1;3665:12:59;3704:35;;;;:102;;3753:53;;;;:34;:53::i;:::-;3704:102;;;;;;;;;;;;;;;;;;;;;3833:25;;;;:87;;3872:48;3907:12;3872:34;:48::i;:::-;3833:87;;;;;;;;;;;;;;;;;;;;;3637:293;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3608:330;;;;;3351:592;;;:::o;3836:234:71:-;3924:16;;;3874:13;3924:16;;;;;;;;;3947:13;3963:64;1182:66;3895:45;3947:13;1365:66;3963:26;:64::i;:::-;4041:23;;;3836:234;-1:-1:-1;;;3836:234:71:o;4854:191::-;4926:16;;;4897:26;4926:16;;;;;;;;24943:2:207;24939:15;;;24956:66;24935:88;5000:25:71;;;24923:101:207;5000:25:71;;;;;25040:12:207;5000:25:71;;;25040:12:207;;;5000:25:71;;;4926:16;;4949:91;;1182:66;;4926:16;;4897:26;1365:66;4949:26;:91::i;33811:253:20:-;33912:23;33937:28;33967:24;34006:53;34016:7;34025:8;34035:23;34050:7;34035:14;:23::i;:::-;34006:9;:53::i;:::-;33999:60;;;;;;33811:253;;;;;:::o;36354:218::-;36476:12;36503:64;36512:7;36521:8;36531:10;36543:23;36558:7;36543:14;:23::i;:::-;36503:8;:64::i;7148:379::-;7213:16;7249:29;7270:7;7249:20;:29::i;:::-;7237:41;;7392:31;7415:7;7392:22;:31::i;:::-;7387:136;;7473:7;7506;7489:25;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;7489:25:20;;;;-1:-1:-1;;7489:25:20;;;;;;;;;;7440:76;;;;;;;;;:::i;7387:136::-;7148:379;;;:::o;32089:833::-;32349:36;32388:66;32436:7;32445:8;32388:47;:66::i;:::-;32349:105;-1:-1:-1;32460:26:20;32496:49;32349:105;32527:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;32496:49:20;32460:86;-1:-1:-1;32584:333:20;32638:7;32663:8;32698:17;32748:37;32770:15;32748:37;;;;:::i;:::-;32844:12;;;32854:1;32844:12;;;;;;;;32814:15;;32888:22;32584:36;:333::i;7795:273::-;7862:18;7902:31;7925:7;7902:22;:31::i;:::-;7888:45;-1:-1:-1;5479:35:17;7939:125:20;;8014:7;8047;8030:25;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;26034:737:20;26285:36;26324:66;26372:7;26381:8;26324:47;:66::i;:::-;26285:105;-1:-1:-1;26396:26:20;26432:49;26285:105;26463:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;26432:49:20;26396:86;;26489:277;26543:7;26568:8;26603:17;26646:1;26668:19;26701:4;26737:22;26489:36;:277::i;52539:191::-;52641:7;52705;52714:8;52688:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;52688:35:20;;;;;;;;;52678:46;;52688:35;52678:46;;;;44145:22;52671:53;;52539:191;-1:-1:-1;;;52539:191:20:o;53556:242::-;53652:7;;;53691:84;53711:10;53707:14;;:1;:14;53691:84;;;53736:32;4431:93:3;4479:19;:27;;;537:1:30;4478:44:3;4444:79;;;4431:93;53736:32:20;;:::i;:::-;;-1:-1:-1;53723:3:20;;53691:84;;;-1:-1:-1;53787:6:20;53556:242;-1:-1:-1;;;53556:242:20:o;8879:812:19:-;8977:14;9013:2;9003:6;:12;8999:112;;9072:2;9063:6;:11;9045:29;;;;9094:2;9084:12;;;;;;:::i;:::-;;;;8999:112;-1:-1:-1;9302:21:19;;9287:12;9275:25;;9271:53;9450:2;:11;;;9532:22;;;9528:159;;;9668:1;9652:14;9648:22;9642:29;9627:12;9612:13;9608:32;9604:68;9596:6;9593:80;9583:90;;8993:698;8879:812;;;;;:::o;1766:227:24:-;996:42;1855:22;1816:7;;-1:-1:-1;;;;;1855:22:24;;1883:106;;1931:10;1924:17;;;1766:227;:::o;4754:171:3:-;4828:7;537:1:30;1247:13;1259:1;334:2;1247:13;:::i;:::-;1246:30;;;;:::i;:::-;4850:70:3;;;;;4754:171;-1:-1:-1;4754:171:3:o;50556:360:20:-;50682:12;50706:6;50716:1;50706:11;50702:26;;-1:-1:-1;50719:9:20;;;;;;;;;-1:-1:-1;50719:9:20;;;;50702:26;50769:16;50788:41;50811:7;50820:8;50788:22;:41::i;:::-;50769:60;;50842:69;50873:8;50891:1;50902:6;50842:12;:69::i;5533:173:3:-;5607:7;537:1:30;1597;;1577:13;1589:1;334:2;1577:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1576:38;;;;:::i;:::-;5643:11:3;5622:79;5635:65;;5622:79;;5533:173;-1:-1:-1;;5533:173:3:o;55672:301:20:-;55793:13;55885:82;55916:48;55946:7;55955:8;55916:29;:48::i;:::-;4645:21:19;;4539:137;54475:274:20;54619:7;54724;54733:8;54707:35;;;;;;;;;:::i;:::-;;;;;;;;;;;;;54697:46;;;;;;54676:17;54669:25;;54649:45;;;44217:34;54649:45;:94;54641:103;;54634:110;;54475:274;;;;;:::o;6010:2380:19:-;6127:10;;6123:1542;;6280:2;6270:6;:12;6266:122;;6343:2;6334:6;:11;6316:29;;;;6367:2;6357:12;;;;;;:::i;:::-;;;;6266:122;6478:10;;6474:1185;;6686:2;:11;;;6560:21;6744:22;;;6740:135;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;;;-1:-1:-1;;;537:1:30;738:25:31;;716:48;6740:135:19;7069:14;7063:21;7048:12;7040:6;7036:25;7032:53;7309:4;7293:13;7287:20;7283:31;7219:4;7215:9;7203:10;7199:26;7144:184;7117:13;7097:243;;7399:13;7389:6;:23;7385:36;;7414:7;;;;7385:36;-1:-1:-1;7562:1:19;7544:19;;;;;7617:23;;;;;7575:30;6474:1185;7694:253;7711:2;7701:6;:12;7694:253;;7805:21;;7783:44;;7880:1;7862:19;;;;-1:-1:-1;;7920:12:19;;;;7908:2;7891:19;7694:253;;;8015:10;;8011:375;;8035:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;8323:20:19;;8233:21;;8256:9;;8229:37;8319:31;;8178:184;8135:237;;-1:-1:-1;6010:2380:19;;;;:::o;8571:236:69:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8636:19:69;;8778:23;8752:50;;8571:236;;;:::o;4591:344:76:-;4708:16;;;4722:1;4708:16;;;;;;;;;4649:22;;4679:26;;4708:16;;;;;;;;;;;;-1:-1:-1;4708:16:76;4679:45;;4763:8;4730:9;4740:1;4730:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;4779:18;4800:49;1266:66;4836:9;4779:18;4800:25;:49::i;:::-;4779:70;;4863:66;:44;4884:5;4891:1;4894:5;:12;4863:20;:44::i;:::-;:64;:66::i;2903:136:4:-;2973:4;3025:9;2992:42;;3011:9;2993:15;3003:4;3802:26;;;3672:162;2993:15;:27;2992:42;;;2985:49;;2903:136;;;;:::o;1695:1386:55:-;1822:12;1836:17;1890:21;1913:17;1934:22;1947:8;1934:12;:22::i;:::-;1889:67;;-1:-1:-1;1889:67:55;-1:-1:-1;;;;;;2001:27:55;;1997:106;;2073:8;2083:19;:8;:17;:19::i;:::-;2037:66;;;;;;;;;;;;:::i;1997:106::-;2209:12;2204:64;;2223:45;2251:8;2261:6;2223:27;:45::i;:::-;2347:9;;2343:197;;578:36:59;2820:46;;-1:-1:-1;;;2819:74:59;2366:22:55;2449:26;2819:74:59;2449:13:55;:26::i;:::-;2424:51;-1:-1:-1;2483:50:55;2497:11;2510:22;2527:5;2424:51;2510:22;:::i;2483:50::-;2358:182;;2343:197;2642:14;2615:23;:8;385:5:16;2502:44:59;;2404:148;2615:23:55;:41;;;:461;;2916:160;2977:6;3003:5;3026:13;3059:8;2916:39;:160::i;:::-;2615:461;;;2739:168;2808:6;2834:5;2857:13;2890:8;2739:47;:168::i;:::-;2597:479;;;;-1:-1:-1;1695:1386:55;-1:-1:-1;;;;;;;1695:1386:55:o;5135:171:3:-;5208:7;537:1:30;1425;1409:13;1421:1;334:2;1409:13;:::i;51381:511:20:-;51544:12;51686:201;51725:41;51748:7;51757:8;51725:22;:41::i;:::-;51784:45;51805:11;51818:10;51784:20;:45::i;:::-;51847:31;;;;4479:19:3;:27;537:1:30;4478:44:3;4444:79;;;4431:93;39291:12:20;:257::i;889:327:42:-;970:4;1112:56;-1:-1:-1;;;578:36:59;2820:46;;2819:74;1161:6:42;1112:19;:56::i;:::-;:99;;;;1172:39;1192:10;1204:6;1172:19;:39::i;46038:3950:20:-;46456:14;46435:7;:35;;;46431:161;;46526:14;46542:7;46575;46558:25;;;;;;19363:19:207;;19407:2;19398:12;;19234:182;46558:25:20;;;;-1:-1:-1;;46558:25:20;;;;;;;;;;46487:98;;;;;;;;;;:::i;46431:161::-;46598:27;46628:49;:22;46659:17;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;46628:49:20;46598:79;;46683:26;46748:4;:11;46734;46712:33;;:19;:33;;;;:::i;:::-;:47;;;;:::i;:::-;46683:76;;47031:18;47008:19;:41;;:98;;;;-1:-1:-1;47087:19:20;47053:30;47072:11;47053:16;:30;:::i;:::-;:53;;;;47008:98;47004:218;;;47123:92;;;;;27466:12:207;27505:15;;;47123:92:20;;;27487:34:207;27557:15;;;27537:18;;;27530:43;27609:15;;27589:18;;;27582:43;27429:18;;47123:92:20;27260:371:207;47004:218:20;47328:19;47309:16;:38;;;47305:140;;;47364:74;;;;;;;;27809:25:207;;;27882:12;27870:25;;27850:18;;;27843:53;27782:18;;47364:74:20;27636:266:207;47305:140:20;47484:35;47522:72;:22;47556:17;47575:18;47522:33;:72::i;:::-;47484:110;;47741:22;47766:24;47782:7;47766:15;:24::i;:::-;47741:49;;47801:9;47796:486;47816:5;:12;47812:1;:16;47796:486;;;47843:9;47865:5;47871:1;47865:8;;;;;;;;:::i;:::-;;;;;;;47843:31;;47886:42;770:6:32;47886:4:20;:14;;;;;:42;;;;:::i;:::-;47882:394;;;3404:35:4;;;;-1:-1:-1;;;;;47940:55:20;;48017:7;48046:8;48085:17;48132:16;48173:11;48212:22;48252:4;47940:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47882:394;-1:-1:-1;47830:3:20;;47796:486;;;-1:-1:-1;48340:32:20;;;:13;48480:107;48498:17;48494:21;;:1;:21;;;48480:107;;;48543:33;:22;48574:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;48543:33:20;48534:42;;;;48517:3;;48480:107;;;;48709:7;48656:228;48736:8;48768:5;48797:11;48834:21;48871:4;48656:228;;;;;;;;;;:::i;:::-;;;;;;;;48288:603;48976:18;48953:19;:41;48949:248;;49004:31;49038:48;49068:7;49077:8;49038:29;:48::i;:::-;629:28:19;;;-1:-1:-1;48949:248:20;49254:27;49284:61;49308:7;49317:8;49327:17;49284:23;:61::i;:::-;49254:91;;49353:92;49385:19;49414:16;49353:92;;49438:4;49353:13;:92::i;:::-;49246:206;49506:9;49501:483;49521:5;:12;49517:1;:16;49501:483;;;49548:9;49570:5;49576:1;49570:8;;;;;;;;:::i;:::-;;;;;;;49548:31;;49591:41;881:6:32;49591:4:20;:14;;;;;:41;;;;:::i;:::-;49587:391;;;3404:35:4;;;;-1:-1:-1;;;;;49644:54:20;;49720:7;49749:8;49788:17;49835:16;49876:11;49915:21;49954:4;49644:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49587:391;-1:-1:-1;49535:3:20;;49501:483;;;;46281:3707;;;;46038:3950;;;;;;;:::o;4976:669:19:-;5392:4;5386:11;5433:4;5421:17;;-1:-1:-1;;5307:16:19;5480:26;;;5307:16;5303:32;5452:4;5445:63;5552:6;5544;5537:22;5570:51;5575:14;5591:6;5599;5607:13;5570:4;:51::i;15127:3138:20:-;15421:23;15400:7;:44;;;15396:198;;15514:7;15498:75;15523:8;15533:10;15545:14;15561:11;15498:75;;;;;;;;;:::i;:::-;;;;;;;;15581:7;;15396:198;15732:22;15757:24;15773:7;15757:15;:24::i;:::-;15732:49;;15792:9;15787:340;15807:5;:12;15803:1;:16;15787:340;;;15834:9;15856:5;15862:1;15856:8;;;;;;;;:::i;:::-;;;;;;;15834:31;;15877:33;343:6:32;15877:4:20;:14;;;;;:33;;;;:::i;:::-;15873:248;;;15922:190;;;;;3404:35:4;;;;;15922:47:20;;:190;;15981:7;;16000:8;;16020:10;;16042:14;;16068:11;;16091;;15922:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15873:248;-1:-1:-1;15821:3:20;;15787:340;;;;16191:7;16175:75;16200:8;16210:10;16222:14;16238:11;16175:75;;;;;;;;;:::i;:::-;;;;;;;;16314:26;16343:59;16384:7;16393:8;16343:40;:59::i;:::-;16314:88;-1:-1:-1;16408:21:20;828:4:14;818:15;;16408:54:20;;16468:149;16506:18;16540:1;16557:10;:17;16597:13;16468;:149::i;:::-;16717:1;16684:30;:11;:28;:30::i;:::-;:34;16680:1174;;;16803:33;16839:66;16887:7;16896:8;16839:47;:66::i;:::-;629:28:19;;;16803:102:20;-1:-1:-1;828:4:14;818:15;;17079:47:20;;17235:27;17270:25;17308:7;17303:545;17321:30;:11;:28;:30::i;:::-;17317:1;:34;;;17303:545;;;17387:63;17429:7;17438:8;17448:1;17387:41;:63::i;:::-;17365:85;-1:-1:-1;17480:25:20;:14;17503:1;6801:16:15;;922;6801;834;6790:27;6750:68;6728:92;;;6613:218;17480:25:20;17460:45;;17515:170;17557:19;17596:1;17617:17;17661:13;17515;:170::i;:::-;17695:34;17712:17;17695:34;;:::i;:::-;;-1:-1:-1;17826:3:20;;17303:545;;;;16720:1134;;;16680:1174;17928:9;17923:338;17943:5;:12;17939:1;:16;17923:338;;;17970:9;17992:5;17998:1;17992:8;;;;;;;;:::i;:::-;;;;;;;17970:31;;18013:32;437:6:32;18013:4:20;:14;;;;;:32;;;;:::i;:::-;18009:246;;;18057:189;;;;;3404:35:4;;;;;18057:46:20;;:189;;18115:7;;18134:8;;18154:10;;18176:14;;18202:11;;18225;;18057:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18009:246;-1:-1:-1;17957:3:20;;17923:338;;;;15336:2929;;;15127:3138;;;;;;:::o;52982:282::-;53227:30;;;;;;31302:19:207;;;31337:12;;;31330:28;;;53070:7:20;;31374:12:207;;53227:30:20;31114:278:207;28177:1778:20;28365:23;28344:7;:44;;;28340:160;;28461:7;28442:37;28470:8;28442:37;;;;;;:::i;:::-;;;;;;;;28177:1778;;;:::o;28340:160::-;28641:22;28666:24;28682:7;28666:15;:24::i;:::-;28641:49;;28701:9;28696:235;28716:5;:12;28712:1;:16;28696:235;;;28743:9;28765:5;28771:1;28765:8;;;;;;;;:::i;:::-;;;;;;;28743:31;;28786:36;983:6:32;28786:4:20;:14;;;;;:36;;;;:::i;:::-;28782:143;;;28834:82;;;;;3404:35:4;;;;;28834:50:20;;:82;;28885:7;;28894:8;;28904:11;;28834:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28782:143;-1:-1:-1;28730:3:20;;28696:235;;;;28998:7;28979:37;29007:8;28979:37;;;;;;:::i;:::-;;;;;;;;29049:26;29078:59;29119:7;29128:8;29078:40;:59::i;:::-;29049:88;;29143:113;29175:18;29203:1;29222:30;:11;:28;:30::i;:::-;29212:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;29212:41:20;;29143:13;:113::i;:::-;29475:1;29442:30;:11;:28;:30::i;:::-;:34;29438:236;;;29486:33;29522:66;29570:7;29579:8;29522:47;:66::i;:::-;29486:102;;29596:71;29627:25;29662:2;29596:12;:71::i;:::-;29478:196;29438:236;29723:9;29718:233;29738:5;:12;29734:1;:16;29718:233;;;29765:9;29787:5;29793:1;29787:8;;;;;;;;:::i;:::-;;;;;;;29765:31;;29808:35;1083:6:32;29808:4:20;:14;;;;;:35;;;;:::i;:::-;29804:141;;;29855:81;;;;;3404:35:4;;;;;29855:49:20;;:81;;29905:7;;29914:8;;29924:11;;29855:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29804:141;-1:-1:-1;29752:3:20;;29718:233;;1063:181:43;764:71:80;;;781:15;764:71;;;197:92:207;1139:4:43;305:11:207;;;298:100;;;814:20:80;414:12:207;;;407:101;1139:4:43;524:12:207;764:71:80;;;;;;;;;;;;756:80;;;:::i;:::-;1158:81:43;;;;1063:181;-1:-1:-1;1063:181:43:o;41760:262:20:-;41902:7;41924:93;41999:17;41924:66;41972:7;41981:8;41924:47;:66::i;4483:306:74:-;4594:16;;;4608:1;4594:16;;;;;;;;;4544:13;;;;4594:16;;;;;;;;;;;;-1:-1:-1;4594:16:74;4565:45;;4649:11;4616:9;4626:1;4616:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;4668:13;4684:62;1269:66;4719:9;4668:13;1449:66;4684:24;:62::i;:::-;4760:23;;;4483:306;-1:-1:-1;;;;4483:306:74:o;879:238:92:-;964:61;996:15;1013:11;964:31;:61::i;:::-;959:156;;1040:70;;;;;-1:-1:-1;;;;;32323:55:207;;1040:70:92;;;32305:74:207;-1:-1:-1;;;;;;32415:79:207;;32395:18;;;32388:107;32278:18;;1040:70:92;32133:368:207;7738:415:58;7893:17;7919:12;7933:18;7955:133;7998:9;8025:8;8049:6;8073:8;7955:23;:133::i;6350:340:72:-;6472:16;;;6486:1;6472:16;;;;;;;;6443:26;;6472:16;;;;;;;;;;-1:-1:-1;6472:16:72;6443:45;;6533:13;-1:-1:-1;;;;;6517:31:72;6509:40;;6494:9;6504:1;6494:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;6570:13;6555:9;6565:1;6555:12;;;;;;;;:::i;:::-;;;;;;:28;;;;;6590:95;1182:66;1166:83;;6625:9;6636:1;6657:11;6639:31;;;;;;32657:14:207;32650:22;32645:3;32641:32;32629:45;;32699:1;32690:11;;32506:201;6639:31:72;;;;-1:-1:-1;;6639:31:72;;;;;;;;;1364:66;6590:24;:95::i;4391:342:28:-;4507:16;;;4521:1;4507:16;;;;;;;;;4448:22;;4478:26;;4507:16;;;;;;;;;;;;-1:-1:-1;4507:16:28;4478:45;;4562:7;4529:9;4539:1;4529:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;4577:18;4598:49;1075:66;4634:9;4577:18;4598:25;:49::i;900:162:19:-;989:68;995:14;1011:6;1019:4;:11;1032:24;1051:4;828::14;818:15;;692:151;1032:24:19;989:5;:68::i;3030:160:59:-;3093:7;3157:26;438:6;385:5:16;3157:26:59;:::i;:::-;3123:61;;;;;3030:160;-1:-1:-1;3030:160:59:o;1796:322::-;1866:13;1887:14;1907:80;1923:2;1914:6;:11;1907:80;;;1941:34;;;3152:1:2;3148:13;;3144:24;1941:39:59;;1937:50;1982:5;1937:50;1927:8;;1907:80;;;2023:30;;;32865:66:207;32853:79;;2023:30:59;;;32841:92:207;2023:30:59;;32949:12:207;;;;2023:30:59;;;809:21:2;;;2023:30:59;2073:39;694:164:2;10690:455:24;10862:21;10886:17;:15;:17::i;:::-;10862:41;-1:-1:-1;10938:4:24;-1:-1:-1;;;;;10913:30:24;;;10909:232;;10953:74;10978:7;10987:8;10997:10;11009:4;11015:11;10953:24;:74::i;:::-;10909:232;;;11048:86;;;;;-1:-1:-1;;;;;11048:36:24;;;;;:86;;11085:7;;11094:8;;11104:10;;11116:4;;11122:11;;11048:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:312:29;5711:16;;;5725:1;5711:16;;;;;;;;;5658;;;;5711;;;;;;;;;;;;-1:-1:-1;5711:16:29;5682:45;;5766:7;5733:9;5743:1;5733:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;5781:13;5797:62;1171:66;5832:9;5843:1;1343:66;5797:24;:62::i;3588:314:27:-;3702:16;;;3716:1;3702:16;;;;;;;;;3654:11;;;;3702:16;;;;;;;;;;;;-1:-1:-1;3702:16:27;3673:45;;3757:10;3724:9;3734:1;3724:12;;;;;;;;:::i;:::-;;;;;;;;;;:44;3775:13;3791:62;1076:66;3826:9;3775:13;1253:66;3791:24;:62::i;:::-;3775:78;;3867:29;3888:5;3875:20;;1452:10:16;1343:126;6974:316:29;7097:16;;;7111:1;7097:16;;;;;;;;;7042:18;;;;7097:16;;;;;;;;;;;;-1:-1:-1;7097:16:29;7068:45;;7152:7;7119:9;7129:1;7119:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;7167:13;7183:62;1171:66;7218:9;7229:1;1343:66;7183:24;:62::i;55104:230:20:-;55225:7;55309;55318:8;55292:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;55292:35:20;;;;;;;;;55282:46;;55292:35;55282:46;;;;44308:40;55255:73;;55104:230;-1:-1:-1;;;55104:230:20:o;1954:561:18:-;2045:5;2140:3;2132:5;:11;:32;;;;2153:4;:11;2147:3;:17;2132:32;2128:80;;;2191:4;2197:5;2204:3;2173:35;;;;;;;;;;;;;:::i;2128:80::-;2274:4;2264:15;;2321:16;2332:5;2264:15;2321:16;:::i;:::-;;-1:-1:-1;2343:12:18;2358:11;2364:5;2358:3;:11;:::i;:::-;643:17;2493:15;2485:3;2474:14;;;;2473:36;;;;;;-1:-1:-1;;;;;1954:561:18:o;40037:220:34:-;40103:24;40135:30;40168:32;40186:6;40194:2;40198:1;40168:17;:32::i;6686:432:78:-;6814:16;;;6828:1;6814:16;;;;;;;;;6744:14;;;;;;6814:16;;;;;;;;;;;-1:-1:-1;6814:16:78;6785:45;;6869:8;6836:9;6846:1;6836:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;6886:24;;;6972:78;1262:66;7015:9;1435:66;6972:19;:78::i;:::-;6885:165;;;;;;7063:50;7070:11;7083:15;7100:12;7063:6;:50::i;5279:317:58:-;5418:12;5432:17;5475:6;-1:-1:-1;;;;;5475:11:58;5495:1;5506:79;5532:8;5553:9;5574:8;5506:13;:79::i;:::-;5475:116;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5457:134:58;;;;-1:-1:-1;5279:317:58;-1:-1:-1;;;;;5279:317:58:o;6100:321::-;6247:12;6261:17;6304:6;-1:-1:-1;;;;;6304:19:58;6331:79;6357:8;6378:9;6399:8;6331:13;:79::i;:::-;6304:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:378:75;4894:16;;;4908:1;4894:16;;;;;;;;4846:11;;;;4894:16;4908:1;4894:16;;;;;;;;;;-1:-1:-1;4894:16:75;4865:45;;4949:10;4916:9;4926:1;4916:12;;;;;;;;:::i;:::-;;;;;;:44;;;;;5005:6;-1:-1:-1;;;;;4989:24:75;4981:33;;4966:9;4976:1;4966:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;5021:13;5037:62;1269:66;5072:9;5021:13;1449:66;5037:24;:62::i;:::-;5021:78;;5113:29;5134:5;5121:20;;1452:10:16;1343:126;7197:1488:15;7323:13;1004:16;7348:25;;7344:97;;;7390:44;;;;;;;;8303:25:207;;;8276:18;;7390:44:15;8126:208:207;7344:97:15;7503:13;6184:59;;;6801:16;;;922;6801;834;6790:27;6750:68;;;6728:92;;7766:38;;;7762:192;;7849:19;7831:15;:37;7816:52;;;;7762:192;;;7930:15;7908:19;:37;7893:52;;;;7762:192;-1:-1:-1;8270:16:15;834;922;8137;;;;8126:27;8262:35;;;8576:5;8415:26;8396:45;;;;8395:61;;;8557:24;;;;8586:34;;;;;8556:65;;-1:-1:-1;7197:1488:15;;;;;:::o;1423:2340:19:-;1536:10;;1532:1504;;1689:2;1679:6;:12;1675:122;;1752:2;1743:6;:11;1725:29;;;;1776:2;1766:12;;;;;;:::i;:::-;;;;1675:122;1887:10;;1883:1147;;2095:2;:11;;;1969:21;-1:-1:-1;;537:1:30;738:25:31;;716:48;2142:18:19;2127:33;;2329:12;2321:6;2317:25;2376:4;2365:9;2361:20;2353:28;;2431:13;2425:20;2414:9;2410:36;2392:54;;2679:4;2675:9;2658:14;2652:21;2648:37;2579:4;2567:10;2563:21;2506:193;2478:14;2458:253;;2770:13;2760:6;:23;2756:36;;2785:7;;;;2756:36;-1:-1:-1;2933:1:19;2915:19;;;;;2988:23;;;;;2946:30;1883:1147;3066:253;3083:2;3073:6;:12;3066:253;;3178:20;;3155:44;;3252:1;3234:19;;;;-1:-1:-1;;3292:12:19;;;;3280:2;3263:19;3066:253;;;3387:10;;3383:376;;3407:12;-1:-1:-1;;537:1:30;738:25:31;;716:48;3695:21:19;;3606:20;;3628:9;;3602:36;3691:32;;3551:184;3507:238;;-1:-1:-1;1423:2340:19;;;;:::o;3966:370::-;4088:13;4137:2;4122:11;:6;4131:2;4122:11;:::i;:::-;4121:18;;;;:::i;:::-;4104:35;;:14;:35;:::i;:::-;4088:51;;4145:187;4169:5;4152:14;:22;4145:187;;;4267:1;4251:14;4244:25;4316:1;4300:14;4296:22;4278:40;;4145:187;;1313:272:45;1400:4;1499:23;1514:7;1499:14;:23::i;:::-;:81;;;;;1526:54;1559:7;1568:11;1526:32;:54::i;2615:1129:36:-;2735:22;2765:21;2789;:11;2869:3:18;2847:25;;2773:104;2789:21:36;2765:45;-1:-1:-1;643:17:18;3110:38;;2816:20:36;2978:11;3110:38:18;2978:11:36;2963:26;;;;:::i;:::-;;2949:40;;3098:4;3092:11;3083:20;;3141:4;3134:5;3130:16;3201:4;3188:11;3184:22;3170:12;3166:41;3160:4;3153:55;3251:11;3244:5;3237:26;3294:1;3271:463;3310:11;3307:1;3304:18;3271:463;;;3704:20;;3683:42;;3662:64;;3576:31;;;;3489:4;3471:23;;;;3397:1;3390:9;3271:463;;;3275:28;;3050:690;;;2615:1129;;;;;:::o;8578:206:78:-;8688:14;8704:17;8754:25;8767:11;8754:12;:25::i;4582:201:58:-;4704:12;4748:8;4758:9;4769:8;4731:47;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4724:54;;4582:201;;;;;:::o;709:400:45:-;773:4;962:68;995:7;1004:25;962:32;:68::i;:::-;:142;;;;-1:-1:-1;1041:63:45;1074:7;-1:-1:-1;;;;;;1041:32:45;:63::i;:::-;1040:64;949:155;709:400;-1:-1:-1;;709:400:45:o;4133:576::-;4296:56;;-1:-1:-1;;;;;;1390:79:207;;4296:56:45;;;1372:98:207;4235:4:45;;;;1345:18:207;;4296:56:45;;;-1:-1:-1;;4296:56:45;;;;;;;;;;;;;;;;;;;;;4534:20;;4296:56;;-1:-1:-1;;;;;;;4296:56:45;;-1:-1:-1;;4499:7:45;4492:5;4481:86;4470:97;;4588:16;4574:30;;4632:4;4626:11;4611:26;;4656:7;:29;;;;;4681:4;4667:10;:18;;4656:29;:48;;;;;4703:1;4689:11;:15;4656:48;4649:55;4133:576;-1:-1:-1;;;;;;;4133:576:45:o;8203:217:78:-;7342:4:2;7328:27;;7322:34;7328:27;;;7322:34;8319:32:78;;;;;;8268:14;;8383:30;;8375:39;1343:126:16;547:357:207;665:12;;712:4;701:16;;;695:23;;665:12;730:16;;727:171;;;-1:-1:-1;;810:6:207;804:4;800:17;797:1;793:25;789:98;782:5;778:110;769:119;;727:171;;547:357;;;:::o;909:184::-;-1:-1:-1;;;958:1:207;951:88;1058:4;1055:1;1048:15;1082:4;1079:1;1072:15;1098:125;1163:9;;;1184:10;;;1181:36;;;1197:18;;:::i;1712:367::-;1775:8;1785:6;1839:3;1832:4;1824:6;1820:17;1816:27;1806:55;;1857:1;1854;1847:12;1806:55;-1:-1:-1;1880:20:207;;1923:18;1912:30;;1909:50;;;1955:1;1952;1945:12;1909:50;1992:4;1984:6;1980:17;1968:29;;2052:3;2045:4;2035:6;2032:1;2028:14;2020:6;2016:27;2012:38;2009:47;2006:67;;;2069:1;2066;2059:12;2006:67;1712:367;;;;;:::o;2084:156::-;2150:20;;2210:4;2199:16;;2189:27;;2179:55;;2230:1;2227;2220:12;2245:706;2418:6;2426;2434;2442;2450;2503:3;2491:9;2482:7;2478:23;2474:33;2471:53;;;2520:1;2517;2510:12;2471:53;2556:9;2543:23;2533:33;;2617:2;2606:9;2602:18;2589:32;2644:18;2636:6;2633:30;2630:50;;;2676:1;2673;2666:12;2630:50;2715:70;2777:7;2768:6;2757:9;2753:22;2715:70;:::i;:::-;2804:8;;-1:-1:-1;2689:96:207;-1:-1:-1;2858:36:207;;-1:-1:-1;2890:2:207;2875:18;;2858:36;:::i;:::-;2245:706;;;;-1:-1:-1;2245:706:207;;2941:2;2926:18;2913:32;;2245:706;-1:-1:-1;;2245:706:207:o;2956:250::-;3041:1;3051:113;3065:6;3062:1;3059:13;3051:113;;;3141:11;;;3135:18;3122:11;;;3115:39;3087:2;3080:10;3051:113;;;-1:-1:-1;;3198:1:207;3180:16;;3173:27;2956:250::o;3211:329::-;3252:3;3290:5;3284:12;3317:6;3312:3;3305:19;3333:76;3402:6;3395:4;3390:3;3386:14;3379:4;3372:5;3368:16;3333:76;:::i;:::-;3454:2;3442:15;-1:-1:-1;;3438:88:207;3429:98;;;;3529:4;3425:109;;3211:329;-1:-1:-1;;3211:329:207:o;3545:217::-;3692:2;3681:9;3674:21;3655:4;3712:44;3752:2;3741:9;3737:18;3729:6;3712:44;:::i;3767:347::-;3818:8;3828:6;3882:3;3875:4;3867:6;3863:17;3859:27;3849:55;;3900:1;3897;3890:12;3849:55;-1:-1:-1;3923:20:207;;3966:18;3955:30;;3952:50;;;3998:1;3995;3988:12;3952:50;4035:4;4027:6;4023:17;4011:29;;4087:3;4080:4;4071:6;4063;4059:19;4055:30;4052:39;4049:59;;;4104:1;4101;4094:12;4119:915;4272:6;4280;4288;4296;4304;4312;4365:3;4353:9;4344:7;4340:23;4336:33;4333:53;;;4382:1;4379;4372:12;4333:53;4418:9;4405:23;4395:33;;4479:2;4468:9;4464:18;4451:32;4502:18;4543:2;4535:6;4532:14;4529:34;;;4559:1;4556;4549:12;4529:34;4598:70;4660:7;4651:6;4640:9;4636:22;4598:70;:::i;:::-;4687:8;;-1:-1:-1;4572:96:207;-1:-1:-1;4572:96:207;;-1:-1:-1;4741:36:207;4773:2;4758:18;;4741:36;:::i;:::-;4731:46;;4830:2;4819:9;4815:18;4802:32;4786:48;;4859:2;4849:8;4846:16;4843:36;;;4875:1;4872;4865:12;4843:36;;4914:60;4966:7;4955:8;4944:9;4940:24;4914:60;:::i;:::-;4119:915;;;;-1:-1:-1;4119:915:207;;-1:-1:-1;4119:915:207;;4993:8;;4119:915;-1:-1:-1;;;4119:915:207:o;5039:606::-;5172:6;5180;5188;5196;5249:2;5237:9;5228:7;5224:23;5220:32;5217:52;;;5265:1;5262;5255:12;5217:52;5301:9;5288:23;5278:33;;5362:2;5351:9;5347:18;5334:32;5389:18;5381:6;5378:30;5375:50;;;5421:1;5418;5411:12;5375:50;5460:70;5522:7;5513:6;5502:9;5498:22;5460:70;:::i;:::-;5549:8;;-1:-1:-1;5434:96:207;-1:-1:-1;5603:36:207;;-1:-1:-1;5635:2:207;5620:18;;5603:36;:::i;:::-;5593:46;;5039:606;;;;;;;:::o;5650:1235::-;5859:6;5867;5875;5883;5891;5899;5907;5915;5968:3;5956:9;5947:7;5943:23;5939:33;5936:53;;;5985:1;5982;5975:12;5936:53;6021:9;6008:23;5998:33;;6082:2;6071:9;6067:18;6054:32;6105:18;6146:2;6138:6;6135:14;6132:34;;;6162:1;6159;6152:12;6132:34;6201:70;6263:7;6254:6;6243:9;6239:22;6201:70;:::i;:::-;6290:8;;-1:-1:-1;6175:96:207;-1:-1:-1;6378:2:207;6363:18;;6350:32;;-1:-1:-1;6394:16:207;;;6391:36;;;6423:1;6420;6413:12;6391:36;6462:60;6514:7;6503:8;6492:9;6488:24;6462:60;:::i;:::-;6541:8;;-1:-1:-1;6436:86:207;-1:-1:-1;6623:2:207;6608:18;;6595:32;;-1:-1:-1;6680:3:207;6665:19;;6652:33;;-1:-1:-1;6697:16:207;;;6694:36;;;6726:1;6723;6716:12;6694:36;;6765:60;6817:7;6806:8;6795:9;6791:24;6765:60;:::i;:::-;5650:1235;;;;-1:-1:-1;5650:1235:207;;-1:-1:-1;5650:1235:207;;;;;;6844:8;-1:-1:-1;;;5650:1235:207:o;6890:1015::-;7083:6;7091;7099;7107;7115;7123;7131;7184:3;7172:9;7163:7;7159:23;7155:33;7152:53;;;7201:1;7198;7191:12;7152:53;7237:9;7224:23;7214:33;;7298:2;7287:9;7283:18;7270:32;7321:18;7362:2;7354:6;7351:14;7348:34;;;7378:1;7375;7368:12;7348:34;7417:70;7479:7;7470:6;7459:9;7455:22;7417:70;:::i;:::-;7506:8;;-1:-1:-1;7391:96:207;-1:-1:-1;7391:96:207;;-1:-1:-1;7560:36:207;7592:2;7577:18;;7560:36;:::i;:::-;7550:46;;7649:2;7638:9;7634:18;7621:32;7605:48;;7678:2;7668:8;7665:16;7662:36;;;7694:1;7691;7684:12;7662:36;;7733:60;7785:7;7774:8;7763:9;7759:24;7733:60;:::i;:::-;6890:1015;;;;-1:-1:-1;6890:1015:207;;;;;;7894:3;7879:19;;;7866:33;;6890:1015;-1:-1:-1;;;;6890:1015:207:o;7910:211::-;8000:6;8053:2;8041:9;8032:7;8028:23;8024:32;8021:52;;;8069:1;8066;8059:12;8021:52;-1:-1:-1;8092:23:207;;7910:211;-1:-1:-1;7910:211:207:o;8339:184::-;-1:-1:-1;;;8388:1:207;8381:88;8488:4;8485:1;8478:15;8512:4;8509:1;8502:15;8528:334;8599:2;8593:9;8655:2;8645:13;;-1:-1:-1;;8641:86:207;8629:99;;8758:18;8743:34;;8779:22;;;8740:62;8737:88;;;8805:18;;:::i;:::-;8841:2;8834:22;8528:334;;-1:-1:-1;8528:334:207:o;8867:589::-;8909:5;8962:3;8955:4;8947:6;8943:17;8939:27;8929:55;;8980:1;8977;8970:12;8929:55;9016:6;9003:20;9042:18;9038:2;9035:26;9032:52;;;9064:18;;:::i;:::-;9108:114;9216:4;-1:-1:-1;;9140:4:207;9136:2;9132:13;9128:86;9124:97;9108:114;:::i;:::-;9247:2;9238:7;9231:19;9293:3;9286:4;9281:2;9273:6;9269:15;9265:26;9262:35;9259:55;;;9310:1;9307;9300:12;9259:55;9375:2;9368:4;9360:6;9356:17;9349:4;9340:7;9336:18;9323:55;9423:1;9398:16;;;9416:4;9394:27;9387:38;;;;9402:7;8867:589;-1:-1:-1;;;8867:589:207:o;9461:419::-;9569:6;9577;9630:2;9618:9;9609:7;9605:23;9601:32;9598:52;;;9646:1;9643;9636:12;9598:52;9682:9;9669:23;9659:33;;9743:2;9732:9;9728:18;9715:32;9770:18;9762:6;9759:30;9756:50;;;9802:1;9799;9792:12;9756:50;9825:49;9866:7;9857:6;9846:9;9842:22;9825:49;:::i;:::-;9815:59;;;9461:419;;;;;:::o;9885:635::-;10051:6;10059;10067;10075;10128:2;10116:9;10107:7;10103:23;10099:32;10096:52;;;10144:1;10141;10134:12;10096:52;10180:9;10167:23;10157:33;;10241:2;10230:9;10226:18;10213:32;10268:18;10260:6;10257:30;10254:50;;;10300:1;10297;10290:12;10254:50;10339:70;10401:7;10392:6;10381:9;10377:22;10339:70;:::i;:::-;9885:635;;10428:8;;-1:-1:-1;10313:96:207;;10510:2;10495:18;10482:32;;9885:635;-1:-1:-1;;;;9885:635:207:o;10525:482::-;10780:2;10769:9;10762:21;10743:4;10806:44;10846:2;10835:9;10831:18;10823:6;10806:44;:::i;:::-;10886:6;10881:2;10870:9;10866:18;10859:34;10941:9;10933:6;10929:22;10924:2;10913:9;10909:18;10902:50;10969:32;10994:6;10986;10969:32;:::i;11012:712::-;11066:5;11119:3;11112:4;11104:6;11100:17;11096:27;11086:55;;11137:1;11134;11127:12;11086:55;11173:6;11160:20;11199:4;11222:18;11218:2;11215:26;11212:52;;;11244:18;;:::i;:::-;11290:2;11287:1;11283:10;11313:28;11337:2;11333;11329:11;11313:28;:::i;:::-;11375:15;;;11445;;;11441:24;;;11406:12;;;;11477:15;;;11474:35;;;11505:1;11502;11495:12;11474:35;11541:2;11533:6;11529:15;11518:26;;11553:142;11569:6;11564:3;11561:15;11553:142;;;11635:17;;11623:30;;11586:12;;;;11673;;;;11553:142;;11729:655;11878:6;11886;11894;11902;11910;11963:3;11951:9;11942:7;11938:23;11934:33;11931:53;;;11980:1;11977;11970:12;11931:53;12016:9;12003:23;11993:33;;12077:2;12066:9;12062:18;12049:32;12104:18;12096:6;12093:30;12090:50;;;12136:1;12133;12126:12;12090:50;12159:61;12212:7;12203:6;12192:9;12188:22;12159:61;:::i;:::-;12149:71;;;12239:36;12271:2;12260:9;12256:18;12239:36;:::i;:::-;11729:655;;;;-1:-1:-1;12229:46:207;;12322:2;12307:18;;12294:32;;-1:-1:-1;12373:3:207;12358:19;12345:33;;11729:655;-1:-1:-1;;11729:655:207:o;12389:536::-;12515:6;12523;12531;12584:2;12572:9;12563:7;12559:23;12555:32;12552:52;;;12600:1;12597;12590:12;12552:52;12636:9;12623:23;12613:33;;12697:2;12686:9;12682:18;12669:32;12724:18;12716:6;12713:30;12710:50;;;12756:1;12753;12746:12;12710:50;12795:70;12857:7;12848:6;12837:9;12833:22;12795:70;:::i;:::-;12389:536;;12884:8;;-1:-1:-1;12769:96:207;;-1:-1:-1;;;;12389:536:207:o;13112:154::-;-1:-1:-1;;;;;13191:5:207;13187:54;13180:5;13177:65;13167:93;;13256:1;13253;13246:12;13271:554;13388:6;13396;13404;13457:2;13445:9;13436:7;13432:23;13428:32;13425:52;;;13473:1;13470;13463:12;13425:52;13512:9;13499:23;13531:31;13556:5;13531:31;:::i;:::-;13581:5;-1:-1:-1;13633:2:207;13618:18;;13605:32;;-1:-1:-1;13688:2:207;13673:18;;13660:32;13715:18;13704:30;;13701:50;;;13747:1;13744;13737:12;13701:50;13770:49;13811:7;13802:6;13791:9;13787:22;13770:49;:::i;:::-;13760:59;;;13271:554;;;;;:::o;13830:617::-;14001:6;14009;14017;14025;14078:3;14066:9;14057:7;14053:23;14049:33;14046:53;;;14095:1;14092;14085:12;14046:53;14131:9;14118:23;14108:33;;14192:2;14181:9;14177:18;14164:32;14219:18;14211:6;14208:30;14205:50;;;14251:1;14248;14241:12;14205:50;14274:61;14327:7;14318:6;14307:9;14303:22;14274:61;:::i;:::-;14264:71;;;14354:36;14386:2;14375:9;14371:18;14354:36;:::i;:::-;13830:617;;;;-1:-1:-1;14344:46:207;;14437:2;14422:18;14409:32;;-1:-1:-1;;13830:617:207:o;14634:517::-;14765:6;14773;14781;14834:2;14822:9;14813:7;14809:23;14805:32;14802:52;;;14850:1;14847;14840:12;14802:52;14886:9;14873:23;14863:33;;14947:2;14936:9;14932:18;14919:32;14974:18;14966:6;14963:30;14960:50;;;15006:1;15003;14996:12;14960:50;15029:61;15082:7;15073:6;15062:9;15058:22;15029:61;:::i;:::-;15019:71;;;15109:36;15141:2;15130:9;15126:18;15109:36;:::i;:::-;15099:46;;14634:517;;;;;:::o;15156:472::-;15250:6;15258;15311:2;15299:9;15290:7;15286:23;15282:32;15279:52;;;15327:1;15324;15317:12;15279:52;15366:9;15353:23;15385:31;15410:5;15385:31;:::i;:::-;15435:5;-1:-1:-1;15491:2:207;15476:18;;15463:32;15518:18;15507:30;;15504:50;;;15550:1;15547;15540:12;15633:1013;15787:6;15795;15803;15811;15819;15827;15880:3;15868:9;15859:7;15855:23;15851:33;15848:53;;;15897:1;15894;15887:12;15848:53;15933:9;15920:23;15910:33;;15994:2;15983:9;15979:18;15966:32;16017:18;16058:2;16050:6;16047:14;16044:34;;;16074:1;16071;16064:12;16044:34;16113:70;16175:7;16166:6;16155:9;16151:22;16113:70;:::i;:::-;16202:8;;-1:-1:-1;16087:96:207;-1:-1:-1;16287:2:207;16272:18;;16259:32;;-1:-1:-1;16331:14:207;16320:26;;16310:37;;16300:65;;16361:1;16358;16351:12;16300:65;16384:5;;-1:-1:-1;16442:2:207;16427:18;;16414:32;;16458:16;;;16455:36;;;16487:1;16484;16477:12;16651:165;16718:20;;16778:12;16767:24;;16757:35;;16747:63;;16806:1;16803;16796:12;16821:1061;16990:6;16998;17006;17014;17022;17030;17038;17046;17099:3;17087:9;17078:7;17074:23;17070:33;17067:53;;;17116:1;17113;17106:12;17067:53;17152:9;17139:23;17129:33;;17213:2;17202:9;17198:18;17185:32;17236:18;17277:2;17269:6;17266:14;17263:34;;;17293:1;17290;17283:12;17263:34;17332:70;17394:7;17385:6;17374:9;17370:22;17332:70;:::i;:::-;17421:8;;-1:-1:-1;17306:96:207;-1:-1:-1;17306:96:207;;-1:-1:-1;17475:36:207;17507:2;17492:18;;17475:36;:::i;:::-;17465:46;;17530:37;17563:2;17552:9;17548:18;17530:37;:::i;:::-;17520:47;;17586:38;17619:3;17608:9;17604:19;17586:38;:::i;:::-;17576:48;;17677:3;17666:9;17662:19;17649:33;17633:49;;17707:2;17697:8;17694:16;17691:36;;;17723:1;17720;17713:12;17887:264;17963:6;18016:2;18004:9;17995:7;17991:23;17987:32;17984:52;;;18032:1;18029;18022:12;17984:52;18071:9;18058:23;18090:31;18115:5;18090:31;:::i;19045:184::-;-1:-1:-1;;;19094:1:207;19087:88;19194:4;19191:1;19184:15;19218:4;19215:1;19208:15;19753:339;19930:2;19919:9;19912:21;19893:4;19950:44;19990:2;19979:9;19975:18;19967:6;19950:44;:::i;:::-;19942:52;;-1:-1:-1;;;;;20034:6:207;20030:55;20025:2;20014:9;20010:18;20003:83;19753:339;;;;;:::o;20097:439::-;20150:3;20188:5;20182:12;20215:6;20210:3;20203:19;20241:4;20270;20265:3;20261:14;20254:21;;20309:4;20302:5;20298:16;20332:1;20342:169;20356:6;20353:1;20350:13;20342:169;;;20417:13;;20405:26;;20451:12;;;;20486:15;;;;20378:1;20371:9;20342:169;;;-1:-1:-1;20527:3:207;;20097:439;-1:-1:-1;;;;;20097:439:207:o;20541:545::-;20862:6;20851:9;20844:25;20905:3;20900:2;20889:9;20885:18;20878:31;20825:4;20926:57;20978:3;20967:9;20963:19;20955:6;20926:57;:::i;:::-;21031:4;21019:17;;;;21014:2;20999:18;;20992:45;-1:-1:-1;21068:2:207;21053:18;21046:34;20918:65;20541:545;-1:-1:-1;;20541:545:207:o;21091:184::-;21161:6;21214:2;21202:9;21193:7;21189:23;21185:32;21182:52;;;21230:1;21227;21220:12;21182:52;-1:-1:-1;21253:16:207;;21091:184;-1:-1:-1;21091:184:207:o;21280:175::-;21317:3;21361:4;21354:5;21350:16;21390:4;21381:7;21378:17;21375:43;;21398:18;;:::i;:::-;21447:1;21434:15;;21280:175;-1:-1:-1;;21280:175:207:o;21460:439::-;-1:-1:-1;;;;;21698:6:207;21694:55;21683:9;21676:74;21786:6;21781:2;21770:9;21766:18;21759:34;21829:2;21824;21813:9;21809:18;21802:30;21657:4;21849:44;21889:2;21878:9;21874:18;21866:6;21849:44;:::i;21904:151::-;21994:4;21987:12;;;21973;;;21969:31;;22012:14;;22009:40;;;22029:18;;:::i;22313:128::-;22380:9;;;22401:11;;;22398:37;;;22415:18;;:::i;22446:277::-;22513:6;22566:2;22554:9;22545:7;22541:23;22537:32;22534:52;;;22582:1;22579;22572:12;22534:52;22614:9;22608:16;22667:5;22660:13;22653:21;22646:5;22643:32;22633:60;;22689:1;22686;22679:12;22728:511;22979:2;22968:9;22961:21;22942:4;23005:56;23057:2;23046:9;23042:18;23034:6;23005:56;:::i;:::-;23109:14;23101:6;23097:27;23092:2;23081:9;23077:18;23070:55;23173:9;23165:6;23161:22;23156:2;23145:9;23141:18;23134:50;23201:32;23226:6;23218;23201:32;:::i;23244:615::-;23554:6;23543:9;23536:25;23597:3;23592:2;23581:9;23577:18;23570:31;23517:4;23624:57;23676:3;23665:9;23661:19;23653:6;23624:57;:::i;:::-;23729:14;23721:6;23717:27;23712:2;23701:9;23697:18;23690:55;23793:9;23785:6;23781:22;23776:2;23765:9;23761:18;23754:50;23821:32;23846:6;23838;23821:32;:::i;23864:925::-;24313:66;24305:6;24301:79;24296:3;24289:92;24271:3;24400;24432:2;24428:1;24423:3;24419:11;24412:23;24464:6;24458:13;24480:74;24547:6;24543:1;24538:3;24534:11;24527:4;24519:6;24515:17;24480:74;:::i;:::-;24582:6;24577:3;24573:16;24563:26;;24617:2;24613:1;24609:2;24605:10;24598:22;24651:6;24645:13;24629:29;;24667:75;24733:8;24729:1;24725:2;24721:10;24714:4;24706:6;24702:17;24667:75;:::i;:::-;24762:17;24781:1;24758:25;;23864:925;-1:-1:-1;;;;;23864:925:207:o;25281:321::-;25489:6;25478:9;25471:25;25532:2;25527;25516:9;25512:18;25505:30;25452:4;25552:44;25592:2;25581:9;25577:18;25569:6;25552:44;:::i;25607:639::-;25857:6;25852:3;25845:19;25827:3;25883:2;25916;25911:3;25907:12;25948:6;25942:13;26013:2;26005:6;26001:15;26034:1;26044:175;26058:6;26055:1;26052:13;26044:175;;;26121:13;;26107:28;;26157:14;;;;26194:15;;;;26080:1;26073:9;26044:175;;;-1:-1:-1;26235:5:207;;25607:639;-1:-1:-1;;;;;;;25607:639:207:o;26251:184::-;-1:-1:-1;;;26300:1:207;26293:88;26400:4;26397:1;26390:15;26424:4;26421:1;26414:15;26440:168;26513:9;;;26544;;26561:15;;;26555:22;;26541:37;26531:71;;26582:18;;:::i;26613:463::-;26859:66;26851:6;26847:79;26836:9;26829:98;26963:6;26958:2;26947:9;26943:18;26936:34;27006:2;27001;26990:9;26986:18;26979:30;26810:4;27026:44;27066:2;27055:9;27051:18;27043:6;27026:44;:::i;27081:174::-;27148:12;27180:10;;;27192;;;27176:27;;27215:11;;;27212:37;;;27229:18;;:::i;:::-;27212:37;27081:174;;;;:::o;27907:898::-;28329:6;28318:9;28311:25;28372:3;28367:2;28356:9;28352:18;28345:31;28292:4;28399:57;28451:3;28440:9;28436:19;28428:6;28399:57;:::i;:::-;28504:4;28492:17;;28487:2;28472:18;;28465:45;28529:12;28577:15;;;28572:2;28557:18;;28550:43;28630:15;;28624:3;28609:19;;28602:44;28677:3;28662:19;;28655:35;;;28727:22;;;28721:3;28706:19;;28699:51;28767:32;28731:6;28784;28767:32;:::i;:::-;28759:40;27907:898;-1:-1:-1;;;;;;;;;;27907:898:207:o;28810:707::-;29149:3;29138:9;29131:22;29112:4;29176:57;29228:3;29217:9;29213:19;29205:6;29176:57;:::i;:::-;29281:14;29273:6;29269:27;29264:2;29253:9;29249:18;29242:55;29345:12;29337:6;29333:25;29328:2;29317:9;29313:18;29306:53;29395:6;29390:2;29379:9;29375:18;29368:34;29451:9;29443:6;29439:22;29433:3;29422:9;29418:19;29411:51;29479:32;29504:6;29496;29479:32;:::i;29522:688::-;29855:3;29844:9;29837:22;29818:4;29882:57;29934:3;29923:9;29919:19;29911:6;29882:57;:::i;:::-;29987:9;29979:6;29975:22;29970:2;29959:9;29955:18;29948:50;30021:32;30046:6;30038;30021:32;:::i;:::-;30007:46;;30089:6;30084:2;30073:9;30069:18;30062:34;30144:9;30136:6;30132:22;30127:2;30116:9;30112:18;30105:50;30172:32;30197:6;30189;30172:32;:::i;30215:894::-;30666:6;30655:9;30648:25;30709:3;30704:2;30693:9;30689:18;30682:31;30629:4;30736:57;30788:3;30777:9;30773:19;30765:6;30736:57;:::i;:::-;30841:9;30833:6;30829:22;30824:2;30813:9;30809:18;30802:50;30875:32;30900:6;30892;30875:32;:::i;:::-;30861:46;;30943:6;30938:2;30927:9;30923:18;30916:34;30999:9;30991:6;30987:22;30981:3;30970:9;30966:19;30959:51;31027:32;31052:6;31044;31027:32;:::i;:::-;31019:40;;;31096:6;31090:3;31079:9;31075:19;31068:35;30215:894;;;;;;;;;:::o;31397:261::-;31576:2;31565:9;31558:21;31539:4;31596:56;31648:2;31637:9;31633:18;31625:6;31596:56;:::i;31663:465::-;31960:6;31949:9;31942:25;32003:2;31998;31987:9;31983:18;31976:30;31923:4;32023:56;32075:2;32064:9;32060:18;32052:6;32023:56;:::i;:::-;32015:64;;32115:6;32110:2;32099:9;32095:18;32088:34;31663:465;;;;;;:::o;32972:706::-;33339:6;33328:9;33321:25;33382:3;33377:2;33366:9;33362:18;33355:31;33302:4;33409:57;33461:3;33450:9;33446:19;33438:6;33409:57;:::i;:::-;33514:4;33506:6;33502:17;33497:2;33486:9;33482:18;33475:45;33568:9;33560:6;33556:22;33551:2;33540:9;33536:18;33529:50;33596:32;33621:6;33613;33596:32;:::i;:::-;33588:40;;;33665:6;33659:3;33648:9;33644:19;33637:35;32972:706;;;;;;;;:::o;33683:359::-;33886:2;33875:9;33868:21;33849:4;33906:44;33946:2;33935:9;33931:18;33923:6;33906:44;:::i;:::-;33981:2;33966:18;;33959:34;;;;-1:-1:-1;34024:2:207;34009:18;34002:34;33898:52;33683:359;-1:-1:-1;33683:359:207:o;34047:287::-;34176:3;34214:6;34208:13;34230:66;34289:6;34284:3;34277:4;34269:6;34265:17;34230:66;:::i;:::-;34312:16;;;;;34047:287;-1:-1:-1;;34047:287:207:o;34339:274::-;34379:1;34405;34395:189;;-1:-1:-1;;;34437:1:207;34430:88;34541:4;34538:1;34531:15;34569:4;34566:1;34559:15;34395:189;-1:-1:-1;34598:9:207;;34339:274::o;34618:530::-;34803:3;34841:6;34835:13;34857:66;34916:6;34911:3;34904:4;34896:6;34892:17;34857:66;:::i;:::-;34992:2;34988:15;;;;35005:66;34984:88;34945:16;;;;34970:103;;;35100:2;35089:14;;35082:30;;;;35139:2;35128:14;;34618:530;-1:-1:-1;;34618:530:207:o","linkReferences":{},"immutableReferences":{"23125":[{"start":992,"length":32},{"start":5199,"length":32}]}},"methodIdentifiers":{"call(bytes32,bytes)":"3ae7af08","callFrom(address,bytes32,bytes)":"894ecc58","creator()":"02d05d3f","deleteRecord(bytes32,bytes32[])":"505a181d","getDynamicField(bytes32,bytes32[],uint8)":"1e788977","getDynamicFieldLength(bytes32,bytes32[],uint8)":"dbbf0e21","getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":"4dc77d97","getField(bytes32,bytes32[],uint8)":"d03edb8c","getField(bytes32,bytes32[],uint8,bytes32)":"05242d2f","getFieldLayout(bytes32)":"3a77c2c2","getFieldLength(bytes32,bytes32[],uint8)":"a53417ed","getFieldLength(bytes32,bytes32[],uint8,bytes32)":"9f1fcf0a","getKeySchema(bytes32)":"d4285dc2","getRecord(bytes32,bytes32[])":"cc49db7e","getRecord(bytes32,bytes32[],bytes32)":"419b58fd","getStaticField(bytes32,bytes32[],uint8,bytes32)":"8c364d59","getValueSchema(bytes32)":"e228a4a3","initialMsgSender()":"1e71d54c","initialize(address)":"c4d66de8","installRootModule(address,bytes)":"af068c9e","popFromDynamicField(bytes32,bytes32[],uint8,uint256)":"d9c03a04","pushToDynamicField(bytes32,bytes32[],uint8,bytes)":"150f3262","setDynamicField(bytes32,bytes32[],uint8,bytes)":"ef6ea862","setField(bytes32,bytes32[],uint8,bytes)":"114a7266","setField(bytes32,bytes32[],uint8,bytes,bytes32)":"3708196e","setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":"298314fb","setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":"390baae0","spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":"c0a2895a","spliceStaticData(bytes32,bytes32[],uint48,bytes)":"b047c1eb","storeVersion()":"c1122229","worldVersion()":"6951955d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes2\",\"name\":\"expected\",\"type\":\"bytes2\"},{\"internalType\":\"ResourceId\",\"name\":\"resourceId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"resourceIdString\",\"type\":\"string\"}],\"name\":\"Store_InvalidResourceType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"fieldLength\",\"type\":\"uint40\"}],\"name\":\"Store_InvalidSplice\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"tableIdString\",\"type\":\"string\"}],\"name\":\"Store_TableNotFound\",\"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\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"World_DirectCallToSystemForbidden\",\"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\":\"bytes32\",\"name\":\"storeVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloStore\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"worldVersion\",\"type\":\"bytes32\"}],\"name\":\"HelloWorld\",\"type\":\"event\"},{\"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[]\"}],\"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\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"Store_SetRecord\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"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\":\"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\"},{\"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\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"call\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"internalType\":\"ResourceId\",\"name\":\"systemId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"callFrom\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"creator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"deleteRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"}],\"name\":\"getDynamicFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"getDynamicFieldSlice\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getField\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getFieldLayout\",\"outputs\":[{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"}],\"name\":\"getFieldLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getKeySchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"keySchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"}],\"name\":\"getRecord\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"getStaticField\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"}],\"name\":\"getValueSchema\",\"outputs\":[{\"internalType\":\"Schema\",\"name\":\"valueSchema\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialMsgSender\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"initModule\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IModule\",\"name\":\"module\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"encodedArgs\",\"type\":\"bytes\"}],\"name\":\"installRootModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"byteLengthToPop\",\"type\":\"uint256\"}],\"name\":\"popFromDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"dataToPush\",\"type\":\"bytes\"}],\"name\":\"pushToDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setDynamicField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"staticData\",\"type\":\"bytes\"},{\"internalType\":\"PackedCounter\",\"name\":\"encodedLengths\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"dynamicData\",\"type\":\"bytes\"}],\"name\":\"setRecord\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"fieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"FieldLayout\",\"name\":\"fieldLayout\",\"type\":\"bytes32\"}],\"name\":\"setStaticField\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint8\",\"name\":\"dynamicFieldIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint40\",\"name\":\"startWithinField\",\"type\":\"uint40\"},{\"internalType\":\"uint40\",\"name\":\"deleteCount\",\"type\":\"uint40\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceDynamicData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"ResourceId\",\"name\":\"tableId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32[]\",\"name\":\"keyTuple\",\"type\":\"bytes32[]\"},{\"internalType\":\"uint48\",\"name\":\"start\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"spliceStaticData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldVersion\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This contract is the core \\\"World\\\" contract containing various methods for data manipulation, system calls, and dynamic function selector handling.\",\"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_DirectCallToSystemForbidden(address)\":[{\"params\":{\"caller\":\"the address who made a direct call to a System\"}}],\"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\":{\"HelloStore(bytes32)\":{\"params\":{\"storeVersion\":\"The version of the Store contract.\"}},\"HelloWorld(bytes32)\":{\"details\":\"Emitted upon successful World initialization.\",\"params\":{\"worldVersion\":\"The version of the World being initialized.\"}},\"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[],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.\",\"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\":{\"call(bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The data for the system call.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"callFrom(address,bytes32,bytes)\":{\"details\":\"If system is private, caller must have appropriate access.\",\"params\":{\"callData\":\"The ABI data for the system call.\",\"delegator\":\"The address on whose behalf the system is called.\",\"systemId\":\"The ID of the system to be called.\"},\"returns\":{\"_0\":\"Return data from the system call.\"}},\"constructor\":{\"details\":\"Event emitted when the World contract is created.\"},\"deleteRecord(bytes32,bytes32[])\":{\"details\":\"Requires the caller to have access to the table's namespace or name.\",\"params\":{\"keyTuple\":\"Array of keys identifying the record to delete.\",\"tableId\":\"The unique identifier for the table.\"}},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The dynamic data of the specified field.\"}},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified dynamic field.\"}},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"params\":{\"dynamicFieldIndex\":\"Index of the dynamic field to slice.\",\"end\":\"The ending position of the slice.\",\"keyTuple\":\"The tuple used as a key to fetch the dynamic field slice.\",\"start\":\"The starting position of the slice.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The sliced data from the specified dynamic field.\"}},\"getField(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The data of the specified field.\"}},\"getFieldLayout(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table for which to retrieve the field layout.\"},\"returns\":{\"fieldLayout\":\"The layout of fields in the specified table.\"}},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"details\":\"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.\",\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the field to measure.\",\"fieldLayout\":\"The layout of fields for measurement.\",\"keyTuple\":\"The tuple used as a key.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"_0\":\"The length of the specified field.\"}},\"getKeySchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"keySchema\":\"The schema for keys in the specified table.\"}},\"getRecord(bytes32,bytes32[])\":{\"params\":{\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getRecord(bytes32,bytes32[],bytes32)\":{\"params\":{\"fieldLayout\":\"The layout of fields to retrieve.\",\"keyTuple\":\"The tuple used as a key to fetch the record.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"dynamicData\":\"The dynamic data of the record.\",\"encodedLengths\":\"Encoded lengths of dynamic data.\",\"staticData\":\"The static data of the record.\"}},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"params\":{\"fieldIndex\":\"Index of the static field to retrieve.\",\"fieldLayout\":\"The layout of fields for the retrieval.\",\"keyTuple\":\"The tuple used as a key to fetch the static field.\",\"tableId\":\"The ID of the table.\"},\"returns\":{\"data\":\"The static data of the specified field.\"}},\"getValueSchema(bytes32)\":{\"params\":{\"tableId\":\"The ID of the table.\"},\"returns\":{\"valueSchema\":\"The schema for values in the specified table.\"}},\"initialize(address)\":{\"details\":\"Only the initial creator can initialize. This can be done only once.\",\"params\":{\"initModule\":\"The core module to initialize the World with.\"}},\"installRootModule(address,bytes)\":{\"details\":\"The caller must own the root namespace.\",\"params\":{\"encodedArgs\":\"The ABI encoded arguments for module installation.\",\"module\":\"The module to be installed.\"}},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"params\":{\"byteLengthToPop\":\"The number of bytes to remove from the end of the dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to remove data from.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"dataToPush\":\"Data to append to the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to append to.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified dynamic field.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"params\":{\"data\":\"Data to write into the specified field.\",\"fieldIndex\":\"Index of the field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"dynamicData\":\"Dynamic data (variable length fields) of the record.\",\"encodedLengths\":\"Encoded lengths of data.\",\"keyTuple\":\"Array of keys identifying the record.\",\"staticData\":\"Static data (fixed length fields) of the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"details\":\"Requires the caller to have access to the table's namespace or name (encoded in the tableId).\",\"params\":{\"data\":\"Data to write into the specified static field.\",\"fieldIndex\":\"Index of the static field to modify.\",\"fieldLayout\":\"The layout to adhere to when modifying the field.\",\"keyTuple\":\"Array of keys identifying the record.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"params\":{\"data\":\"Data to splice into the dynamic data of the field.\",\"deleteCount\":\"Number of bytes to delete starting from the `startWithinField`.\",\"dynamicFieldIndex\":\"Index of the dynamic field to modify.\",\"keyTuple\":\"Array of keys identifying the record.\",\"startWithinField\":\"Start position within the specified dynamic field.\",\"tableId\":\"The unique identifier for the table.\"}},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"params\":{\"data\":\"Data to splice into the static data of the record.\",\"keyTuple\":\"Array of keys identifying the record.\",\"start\":\"Position from where the static data modification should start.\",\"tableId\":\"The unique identifier for the table.\"}},\"storeVersion()\":{\"returns\":{\"_0\":\"The current version of the store as a bytes32.\"}},\"worldVersion()\":{\"returns\":{\"_0\":\"The current version of the world contract.\"}}},\"title\":\"World Contract\",\"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_DirectCallToSystemForbidden(address)\":[{\"notice\":\"Raised when a System has been called directly and then makes an internal call to World, which is forbidden.\"}],\"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\":{\"HelloStore(bytes32)\":{\"notice\":\"Emitted when the store is initialized.\"},\"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[],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\":{\"call(bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID.\"},\"callFrom(address,bytes32,bytes)\":{\"notice\":\"Calls a system with a given system ID on behalf of the given delegator.\"},\"creator()\":{\"notice\":\"Address of the contract's creator.\"},\"deleteRecord(bytes32,bytes32[])\":{\"notice\":\"Deletes a record from the table identified by `tableId`.\"},\"getDynamicField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specific dynamic (variable length) field in a record.\"},\"getDynamicFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified dynamic (variable length) field in a record.\"},\"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)\":{\"notice\":\"Retrieves a slice of a dynamic (variable length) field.\"},\"getField(bytes32,bytes32[],uint8)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specified field in a record.\"},\"getFieldLayout(bytes32)\":{\"notice\":\"Fetches the field layout for a given table.\"},\"getFieldLength(bytes32,bytes32[],uint8)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getFieldLength(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Calculates the length of a specified field in a record.\"},\"getKeySchema(bytes32)\":{\"notice\":\"Retrieves the key schema for a given table.\"},\"getRecord(bytes32,bytes32[])\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple.\"},\"getRecord(bytes32,bytes32[],bytes32)\":{\"notice\":\"Fetches a record from a specified table using a provided key tuple and field layout.\"},\"getStaticField(bytes32,bytes32[],uint8,bytes32)\":{\"notice\":\"Retrieves data for a specific static (fixed length) field in a record.\"},\"getValueSchema(bytes32)\":{\"notice\":\"Retrieves the value schema for a given table.\"},\"initialMsgSender()\":{\"notice\":\"tracks the initial person who called the World\"},\"initialize(address)\":{\"notice\":\"Initializes the World by installing the core module.\"},\"installRootModule(address,bytes)\":{\"notice\":\"Installs a given root module in the World.\"},\"popFromDynamicField(bytes32,bytes32[],uint8,uint256)\":{\"notice\":\"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"pushToDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`.\"},\"setDynamicField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a dynamic (varible length) field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes)\":{\"notice\":\"Writes data into a specified field in the table identified by `tableId`.\"},\"setField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a specified field in the table, adhering to a specific layout.\"},\"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)\":{\"notice\":\"Writes a record in the table identified by `tableId`.\"},\"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)\":{\"notice\":\"Writes data into a static (fixed length) field in the table identified by `tableId`.\"},\"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)\":{\"notice\":\"Modifies dynamic (variable length) data in a record for a specified field.\"},\"spliceStaticData(bytes32,bytes32[],uint48,bytes)\":{\"notice\":\"Modifies static (fixed length) data in a record at the specified position.\"},\"storeVersion()\":{\"notice\":\"Retrieves the version of the store.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@latticexyz/world/src/World.sol\":\"World\"},\"evmVersion\":\"cancun\",\"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\":\"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55\",\"dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy\"]},\"node_modules/@latticexyz/store/src/FieldLayout.sol\":{\"keccak256\":\"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf\",\"dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK\"]},\"node_modules/@latticexyz/store/src/Hook.sol\":{\"keccak256\":\"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4\",\"dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2\"]},\"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\":\"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b\",\"dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc\"]},\"node_modules/@latticexyz/store/src/IStoreData.sol\":{\"keccak256\":\"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb\",\"dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g\"]},\"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\":\"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1\",\"dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9\"]},\"node_modules/@latticexyz/store/src/IStoreHook.sol\":{\"keccak256\":\"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e\",\"dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9\"]},\"node_modules/@latticexyz/store/src/IStoreRead.sol\":{\"keccak256\":\"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924\",\"dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA\"]},\"node_modules/@latticexyz/store/src/IStoreRegistration.sol\":{\"keccak256\":\"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67\",\"dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC\"]},\"node_modules/@latticexyz/store/src/IStoreWrite.sol\":{\"keccak256\":\"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263\",\"dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC\"]},\"node_modules/@latticexyz/store/src/Memory.sol\":{\"keccak256\":\"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912\",\"dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM\"]},\"node_modules/@latticexyz/store/src/PackedCounter.sol\":{\"keccak256\":\"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6\",\"dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX\"]},\"node_modules/@latticexyz/store/src/ResourceId.sol\":{\"keccak256\":\"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2\",\"dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9\"]},\"node_modules/@latticexyz/store/src/Schema.sol\":{\"keccak256\":\"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99\",\"dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5\"]},\"node_modules/@latticexyz/store/src/Slice.sol\":{\"keccak256\":\"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a\",\"dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta\"]},\"node_modules/@latticexyz/store/src/Storage.sol\":{\"keccak256\":\"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d\",\"dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE\"]},\"node_modules/@latticexyz/store/src/StoreCore.sol\":{\"keccak256\":\"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3\",\"dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR\"]},\"node_modules/@latticexyz/store/src/StoreData.sol\":{\"keccak256\":\"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210\",\"dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A\"]},\"node_modules/@latticexyz/store/src/StoreRead.sol\":{\"keccak256\":\"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd\",\"dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF\"]},\"node_modules/@latticexyz/store/src/StoreSwitch.sol\":{\"keccak256\":\"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff\",\"dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7\"]},\"node_modules/@latticexyz/store/src/codegen/index.sol\":{\"keccak256\":\"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787\",\"dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol\":{\"keccak256\":\"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551\",\"dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY\"]},\"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol\":{\"keccak256\":\"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea\",\"dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av\"]},\"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol\":{\"keccak256\":\"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4\",\"dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h\"]},\"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol\":{\"keccak256\":\"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44\",\"dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB\"]},\"node_modules/@latticexyz/store/src/constants.sol\":{\"keccak256\":\"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2\",\"dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN\"]},\"node_modules/@latticexyz/store/src/rightMask.sol\":{\"keccak256\":\"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38\",\"dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S\"]},\"node_modules/@latticexyz/store/src/storeHookTypes.sol\":{\"keccak256\":\"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64\",\"dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby\"]},\"node_modules/@latticexyz/store/src/storeResourceTypes.sol\":{\"keccak256\":\"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb\",\"dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX\"]},\"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol\":{\"keccak256\":\"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4\",\"dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT\"]},\"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol\":{\"keccak256\":\"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf\",\"dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY\"]},\"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol\":{\"keccak256\":\"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205\",\"dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT\"]},\"node_modules/@latticexyz/store/src/version.sol\":{\"keccak256\":\"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed\",\"dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU\"]},\"node_modules/@latticexyz/world/src/AccessControl.sol\":{\"keccak256\":\"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c\",\"dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q\"]},\"node_modules/@latticexyz/world/src/Delegation.sol\":{\"keccak256\":\"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89\",\"dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ\"]},\"node_modules/@latticexyz/world/src/ERC165Checker.sol\":{\"keccak256\":\"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1\",\"dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX\"]},\"node_modules/@latticexyz/world/src/IDelegationControl.sol\":{\"keccak256\":\"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d\",\"dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC\"]},\"node_modules/@latticexyz/world/src/IERC165.sol\":{\"keccak256\":\"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3\",\"dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe\"]},\"node_modules/@latticexyz/world/src/IModule.sol\":{\"keccak256\":\"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd\",\"dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo\"]},\"node_modules/@latticexyz/world/src/ISystemHook.sol\":{\"keccak256\":\"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc\",\"dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3\"]},\"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol\":{\"keccak256\":\"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db\",\"dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc\"]},\"node_modules/@latticexyz/world/src/IWorldErrors.sol\":{\"keccak256\":\"0x5e733399a521c7a051601e1f31835ac1653d310a04194e2d10c54206277586cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2646c3cf530d6768c4479c64477306a38b3358009792dfe82436cf1e6c27f90\",\"dweb:/ipfs/QmdD5Vk7iswuvWVHBsRkw3n7tJ1gaZ9X9y7s2SkurkQ829\"]},\"node_modules/@latticexyz/world/src/IWorldKernel.sol\":{\"keccak256\":\"0x603c73df2d8d210b1970be3e7e49b8659ae45574add5ce3911a4fc59cce88839\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a095f9d317302d15e0e124951fe6b29a3bb0e3452e3d2211ac126b49992af443\",\"dweb:/ipfs/QmRwwuh7w1msqx4vixJDbiBux4wVALiPGzCZJbikZsqwz7\"]},\"node_modules/@latticexyz/world/src/SystemCall.sol\":{\"keccak256\":\"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d\",\"dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7\"]},\"node_modules/@latticexyz/world/src/World.sol\":{\"keccak256\":\"0x82571022970e441996611f5229a75ea0f2d8e81ee32219aa2a3cae28b8dba79e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aadedce1b3a14423c5fcad571362a862dd475cfcaaaab089e8049c0f61ca2047\",\"dweb:/ipfs/QmTVAh2wFmLk4SM6snMnh7sRNLaqvWdWVXUmuEsGgY3C5G\"]},\"node_modules/@latticexyz/world/src/WorldContext.sol\":{\"keccak256\":\"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006\",\"dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX\"]},\"node_modules/@latticexyz/world/src/WorldResourceId.sol\":{\"keccak256\":\"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74\",\"dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol\":{\"keccak256\":\"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458\",\"dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y\"]},\"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol\":{\"keccak256\":\"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd\",\"dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol\":{\"keccak256\":\"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69\",\"dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd\"]},\"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol\":{\"keccak256\":\"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e\",\"dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol\":{\"keccak256\":\"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35\",\"dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS\"]},\"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e\",\"dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv\"]},\"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol\":{\"keccak256\":\"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c\",\"dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol\":{\"keccak256\":\"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2\",\"dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD\"]},\"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol\":{\"keccak256\":\"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c\",\"dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU\"]},\"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol\":{\"keccak256\":\"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7\",\"dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR\"]},\"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol\":{\"keccak256\":\"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571\",\"dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91\"]},\"node_modules/@latticexyz/world/src/constants.sol\":{\"keccak256\":\"0xb8320f88ed5519a4fe2554ad94815ce328a50fef7719932375d6ce695265c2f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8f5de30fbcc63e469e46ad4a4d4bcd7d8e4b4f2d31fcf62a04aca48d999af22\",\"dweb:/ipfs/QmXw1jDQM2szfRY3tAGrRy6fEzte6yVFgebJAqCLMDHndV\"]},\"node_modules/@latticexyz/world/src/requireInterface.sol\":{\"keccak256\":\"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658\",\"dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C\"]},\"node_modules/@latticexyz/world/src/revertWithBytes.sol\":{\"keccak256\":\"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8\",\"dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW\"]},\"node_modules/@latticexyz/world/src/systemHookTypes.sol\":{\"keccak256\":\"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d\",\"dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy\"]},\"node_modules/@latticexyz/world/src/version.sol\":{\"keccak256\":\"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e\",\"dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k\"]},\"node_modules/@latticexyz/world/src/worldResourceTypes.sol\":{\"keccak256\":\"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d\",\"dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"inputs":[{"internalType":"bytes2","name":"expected","type":"bytes2"},{"internalType":"ResourceId","name":"resourceId","type":"bytes32"},{"internalType":"string","name":"resourceIdString","type":"string"}],"type":"error","name":"Store_InvalidResourceType"},{"inputs":[{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"uint40","name":"fieldLength","type":"uint40"}],"type":"error","name":"Store_InvalidSplice"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"string","name":"tableIdString","type":"string"}],"type":"error","name":"Store_TableNotFound"},{"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":"address","name":"caller","type":"address"}],"type":"error","name":"World_DirectCallToSystemForbidden"},{"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":"bytes32","name":"storeVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloStore","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"worldVersion","type":"bytes32","indexed":true}],"type":"event","name":"HelloWorld","anonymous":false},{"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}],"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":"bytes","name":"staticData","type":"bytes","indexed":false},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32","indexed":false},{"internalType":"bytes","name":"dynamicData","type":"bytes","indexed":false}],"type":"event","name":"Store_SetRecord","anonymous":false},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32","indexed":true},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]","indexed":false},{"internalType":"uint48","name":"start","type":"uint48","indexed":false},{"internalType":"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":"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":[{"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":"payable","type":"fallback"},{"inputs":[{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"call","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"delegator","type":"address"},{"internalType":"ResourceId","name":"systemId","type":"bytes32"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"callFrom","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"creator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"deleteRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getDynamicFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDynamicFieldSlice","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getField","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLayout","outputs":[{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"}],"stateMutability":"view","type":"function","name":"getFieldLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getKeySchema","outputs":[{"internalType":"Schema","name":"keySchema","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"getRecord","outputs":[{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getStaticField","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getValueSchema","outputs":[{"internalType":"Schema","name":"valueSchema","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"initialMsgSender","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IModule","name":"initModule","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"contract IModule","name":"module","type":"address"},{"internalType":"bytes","name":"encodedArgs","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"installRootModule"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint256","name":"byteLengthToPop","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"popFromDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"dataToPush","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"pushToDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setDynamicField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"bytes","name":"staticData","type":"bytes"},{"internalType":"PackedCounter","name":"encodedLengths","type":"bytes32"},{"internalType":"bytes","name":"dynamicData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setRecord"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"fieldIndex","type":"uint8"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"FieldLayout","name":"fieldLayout","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setStaticField"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint8","name":"dynamicFieldIndex","type":"uint8"},{"internalType":"uint40","name":"startWithinField","type":"uint40"},{"internalType":"uint40","name":"deleteCount","type":"uint40"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceDynamicData"},{"inputs":[{"internalType":"ResourceId","name":"tableId","type":"bytes32"},{"internalType":"bytes32[]","name":"keyTuple","type":"bytes32[]"},{"internalType":"uint48","name":"start","type":"uint48"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"spliceStaticData"},{"inputs":[],"stateMutability":"pure","type":"function","name":"storeVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"worldVersion","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"call(bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The data for the system call.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"callFrom(address,bytes32,bytes)":{"details":"If system is private, caller must have appropriate access.","params":{"callData":"The ABI data for the system call.","delegator":"The address on whose behalf the system is called.","systemId":"The ID of the system to be called."},"returns":{"_0":"Return data from the system call."}},"constructor":{"details":"Event emitted when the World contract is created."},"deleteRecord(bytes32,bytes32[])":{"details":"Requires the caller to have access to the table's namespace or name.","params":{"keyTuple":"Array of keys identifying the record to delete.","tableId":"The unique identifier for the table."}},"getDynamicField(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to retrieve.","keyTuple":"The tuple used as a key to fetch the dynamic field.","tableId":"The ID of the table."},"returns":{"data":"The dynamic data of the specified field."}},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified dynamic field."}},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"params":{"dynamicFieldIndex":"Index of the dynamic field to slice.","end":"The ending position of the slice.","keyTuple":"The tuple used as a key to fetch the dynamic field slice.","start":"The starting position of the slice.","tableId":"The ID of the table."},"returns":{"_0":"The sliced data from the specified dynamic field."}},"getField(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to retrieve.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the field.","tableId":"The ID of the table."},"returns":{"data":"The data of the specified field."}},"getFieldLayout(bytes32)":{"params":{"tableId":"The ID of the table for which to retrieve the field layout."},"returns":{"fieldLayout":"The layout of fields in the specified table."}},"getFieldLength(bytes32,bytes32[],uint8)":{"details":"This overload loads the FieldLayout from storage. If the table's FieldLayout is known to the caller, it should be passed in to the other overload to avoid the storage read.","params":{"fieldIndex":"Index of the field to measure.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the field to measure.","fieldLayout":"The layout of fields for measurement.","keyTuple":"The tuple used as a key.","tableId":"The ID of the table."},"returns":{"_0":"The length of the specified field."}},"getKeySchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"keySchema":"The schema for keys in the specified table."}},"getRecord(bytes32,bytes32[])":{"params":{"keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getRecord(bytes32,bytes32[],bytes32)":{"params":{"fieldLayout":"The layout of fields to retrieve.","keyTuple":"The tuple used as a key to fetch the record.","tableId":"The ID of the table."},"returns":{"dynamicData":"The dynamic data of the record.","encodedLengths":"Encoded lengths of dynamic data.","staticData":"The static data of the record."}},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"params":{"fieldIndex":"Index of the static field to retrieve.","fieldLayout":"The layout of fields for the retrieval.","keyTuple":"The tuple used as a key to fetch the static field.","tableId":"The ID of the table."},"returns":{"data":"The static data of the specified field."}},"getValueSchema(bytes32)":{"params":{"tableId":"The ID of the table."},"returns":{"valueSchema":"The schema for values in the specified table."}},"initialize(address)":{"details":"Only the initial creator can initialize. This can be done only once.","params":{"initModule":"The core module to initialize the World with."}},"installRootModule(address,bytes)":{"details":"The caller must own the root namespace.","params":{"encodedArgs":"The ABI encoded arguments for module installation.","module":"The module to be installed."}},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"params":{"byteLengthToPop":"The number of bytes to remove from the end of the dynamic field.","dynamicFieldIndex":"Index of the dynamic field to remove data from.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"dataToPush":"Data to append to the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to append to.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified dynamic field.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"params":{"data":"Data to write into the specified field.","fieldIndex":"Index of the field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"dynamicData":"Dynamic data (variable length fields) of the record.","encodedLengths":"Encoded lengths of data.","keyTuple":"Array of keys identifying the record.","staticData":"Static data (fixed length fields) of the record.","tableId":"The unique identifier for the table."}},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"details":"Requires the caller to have access to the table's namespace or name (encoded in the tableId).","params":{"data":"Data to write into the specified static field.","fieldIndex":"Index of the static field to modify.","fieldLayout":"The layout to adhere to when modifying the field.","keyTuple":"Array of keys identifying the record.","tableId":"The unique identifier for the table."}},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"params":{"data":"Data to splice into the dynamic data of the field.","deleteCount":"Number of bytes to delete starting from the `startWithinField`.","dynamicFieldIndex":"Index of the dynamic field to modify.","keyTuple":"Array of keys identifying the record.","startWithinField":"Start position within the specified dynamic field.","tableId":"The unique identifier for the table."}},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"params":{"data":"Data to splice into the static data of the record.","keyTuple":"Array of keys identifying the record.","start":"Position from where the static data modification should start.","tableId":"The unique identifier for the table."}},"storeVersion()":{"returns":{"_0":"The current version of the store as a bytes32."}},"worldVersion()":{"returns":{"_0":"The current version of the world contract."}}},"version":1},"userdoc":{"kind":"user","methods":{"call(bytes32,bytes)":{"notice":"Calls a system with a given system ID."},"callFrom(address,bytes32,bytes)":{"notice":"Calls a system with a given system ID on behalf of the given delegator."},"creator()":{"notice":"Address of the contract's creator."},"deleteRecord(bytes32,bytes32[])":{"notice":"Deletes a record from the table identified by `tableId`."},"getDynamicField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specific dynamic (variable length) field in a record."},"getDynamicFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified dynamic (variable length) field in a record."},"getDynamicFieldSlice(bytes32,bytes32[],uint8,uint256,uint256)":{"notice":"Retrieves a slice of a dynamic (variable length) field."},"getField(bytes32,bytes32[],uint8)":{"notice":"Retrieves data for a specified field in a record."},"getField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specified field in a record."},"getFieldLayout(bytes32)":{"notice":"Fetches the field layout for a given table."},"getFieldLength(bytes32,bytes32[],uint8)":{"notice":"Calculates the length of a specified field in a record."},"getFieldLength(bytes32,bytes32[],uint8,bytes32)":{"notice":"Calculates the length of a specified field in a record."},"getKeySchema(bytes32)":{"notice":"Retrieves the key schema for a given table."},"getRecord(bytes32,bytes32[])":{"notice":"Fetches a record from a specified table using a provided key tuple."},"getRecord(bytes32,bytes32[],bytes32)":{"notice":"Fetches a record from a specified table using a provided key tuple and field layout."},"getStaticField(bytes32,bytes32[],uint8,bytes32)":{"notice":"Retrieves data for a specific static (fixed length) field in a record."},"getValueSchema(bytes32)":{"notice":"Retrieves the value schema for a given table."},"initialMsgSender()":{"notice":"tracks the initial person who called the World"},"initialize(address)":{"notice":"Initializes the World by installing the core module."},"installRootModule(address,bytes)":{"notice":"Installs a given root module in the World."},"popFromDynamicField(bytes32,bytes32[],uint8,uint256)":{"notice":"Removes a specified amount of data from the end of a dynamic (variable length) field in the table identified by `tableId`."},"pushToDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Appends data to the end of a dynamic (variable length) field in the table identified by `tableId`."},"setDynamicField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a dynamic (varible length) field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes)":{"notice":"Writes data into a specified field in the table identified by `tableId`."},"setField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a specified field in the table, adhering to a specific layout."},"setRecord(bytes32,bytes32[],bytes,bytes32,bytes)":{"notice":"Writes a record in the table identified by `tableId`."},"setStaticField(bytes32,bytes32[],uint8,bytes,bytes32)":{"notice":"Writes data into a static (fixed length) field in the table identified by `tableId`."},"spliceDynamicData(bytes32,bytes32[],uint8,uint40,uint40,bytes)":{"notice":"Modifies dynamic (variable length) data in a record for a specified field."},"spliceStaticData(bytes32,bytes32[],uint48,bytes)":{"notice":"Modifies static (fixed length) data in a record at the specified position."},"storeVersion()":{"notice":"Retrieves the version of the store."}},"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/World.sol":"World"},"evmVersion":"cancun","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":"0xf506b8e9521a2173ae51aca038b86f705ac6c10fc6361c5df32ea37c7218fdbd","urls":["bzz-raw://9ce5626141f377ea6c9477a27205fa23013c321423950a97f75a2685ac401c55","dweb:/ipfs/QmfYjQmUcQUm46dRHbiYkUnoBokHuS58WZUd8oSdGKKohy"],"license":"MIT"},"node_modules/@latticexyz/store/src/FieldLayout.sol":{"keccak256":"0xc6aa930fb9a3df986870e3c77e567cabff12ae5e7b2c2af69669390e018d3728","urls":["bzz-raw://a8d6d40675ddd6575538cfa915f73fc8379f4c154b034220df2cf6b7be6d9baf","dweb:/ipfs/QmS7RNEDNBq6YwVJ1gPfs36CJg9d6h5MaxPRtuL3726uEK"],"license":"MIT"},"node_modules/@latticexyz/store/src/Hook.sol":{"keccak256":"0x6041a89e90293b15acf91378e329815cb857d79f0b384918cd97292378ed5c09","urls":["bzz-raw://0e263d3c8230b4a4852e3b66058e9c36e946cf64471ffd0ac7f54b7a37f329f4","dweb:/ipfs/QmdCnZE1G5PX4ZswUiR6t2DWMRDbVdJYaCzbCF4hbDTKc2"],"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":"0xa95a7b8095a313078abe9b3953fa4512aac88ead4526e37023583cb5dc274cb3","urls":["bzz-raw://8a878403e5133ec5f250d752e7b7495e2b13420cd3a42fb59aa6d5f8ee6d188b","dweb:/ipfs/QmUGxeD5Y7B5goNNgFcgaAakjoSr4YtVaE3CMAypRUZGmc"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreData.sol":{"keccak256":"0x174b2e5a5f80094d752cd2a36f1fbdf50e81b1e203216b9e5a6f33e02d606cec","urls":["bzz-raw://59e6de780b55c1937a7148d3cc07ec137c3e2f243f331ba0b70f3262d919c1cb","dweb:/ipfs/QmTJbh6ybPsZE9pFziTztstWxmh6ogUgMa6E81M6PMTA6g"],"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":"0xfdeeba7e17c947285610d49d85d402cfe5286c046814f827c1aaa37636c16d8f","urls":["bzz-raw://5fde8b7c7caf4dcdcb524565cb8745d897d4d22d88fa0744f9db4b3d36a1eee1","dweb:/ipfs/QmbUe4pfJeRqiiPz31BKWbYv12cz8Lz3Ky5yKydtTb4FY9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreHook.sol":{"keccak256":"0x677224ab340753edf523ccff8c9d6ede987addbf0d7bc13d0e479306f3866a99","urls":["bzz-raw://6c0285a7684490d6e65d6f91b3631abdafb135d200ea9068e730dd98017a305e","dweb:/ipfs/QmcURHZiMGnSET9P2iSgph22F6iFdoDbN4WmJsHxTAT5G9"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRead.sol":{"keccak256":"0xe246addf70a3fe65f19e2ab0048d48785bc2ef2f75884eeade151aef59ff5449","urls":["bzz-raw://389022221307160febdec33a7fbdd82fcfbdd1fa6f9b1c67ffe3bf0467d2c924","dweb:/ipfs/QmWunXryDsJZJBwdXxKetRH1vB4tkwTXsdzoM4nePGVvaA"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreRegistration.sol":{"keccak256":"0xf6d2871ca67aacadfd5dd4caef45440a571d932e68a04466f2674e481e79e167","urls":["bzz-raw://260067ed037789d073f407db1d416171e33c79e9b584090794d05e990ee88b67","dweb:/ipfs/QmbAA4Ynfy5aQv71JkZrPcdt2iqc3NK8DcAL1mnx7M1WYC"],"license":"MIT"},"node_modules/@latticexyz/store/src/IStoreWrite.sol":{"keccak256":"0x7f6d8a25eea4a9d51de396ff64215e2567b29ce607538f04ec1a4ae2efb591bc","urls":["bzz-raw://8ae6e34ba2e92bd3cb8dd556838f4e3caa6c3feaf9e2d63649afa944cb5e3263","dweb:/ipfs/QmR1oNRLp87pnrnxrujdT7JU1Gzwq22rVukKUkXmwNBVSC"],"license":"MIT"},"node_modules/@latticexyz/store/src/Memory.sol":{"keccak256":"0x79954fa7614943899ad13b27ca0c2bf27c996d7b82a0e347afa48d7a4bbc6e2d","urls":["bzz-raw://34f7d6e209bcc6e379e004ae5a03f909e23e4e87956205610f4e39969b968912","dweb:/ipfs/QmZQeHDwtUBEpTSWn9L7AZ1id6dUbEHmLo6Cj3f9jKRqVM"],"license":"MIT"},"node_modules/@latticexyz/store/src/PackedCounter.sol":{"keccak256":"0x6dc7a614a120b1940ca8de1924e59895a42ef5f0e22d81a9221790fd76687c2e","urls":["bzz-raw://b638521a9590a62c4e976f12be43d0370246836b90227cbf2e306888331986f6","dweb:/ipfs/QmcEpcjHhL9rawjJRuMJvtTv3YwN2ggYsQHXZeoF88VRFX"],"license":"MIT"},"node_modules/@latticexyz/store/src/ResourceId.sol":{"keccak256":"0xdca93829ef7e90c12678d3b7bcafee1d3ec9499abfc76c91edd188a8923f4f18","urls":["bzz-raw://3193518ae917765035c845266de41ccebde7a7a06ee6fd7f000534a530975ab2","dweb:/ipfs/QmYr9dCG2HKUMrXHevyRanqsPRHYpD2dnpgZkvwZYqWHe9"],"license":"MIT"},"node_modules/@latticexyz/store/src/Schema.sol":{"keccak256":"0x21d008da9dd112938ad5381264dce39be7855002076afa01d78dc6421a951fd8","urls":["bzz-raw://1af33c3d662d6ba193987ec62c865e05b53ced4904bff9a5729ab3ada2ca3a99","dweb:/ipfs/QmUSXF3R7LwQWW8P6BZCrt3MAgGN5UwiiaHB3DGCSBZLL5"],"license":"MIT"},"node_modules/@latticexyz/store/src/Slice.sol":{"keccak256":"0x1f04af14e5040f71bd3daa79b90245a275e52f8d0294c17ae5bfe9aa727651a5","urls":["bzz-raw://d76533959ded2f58434ae9f89fe8c3ff66095ec94e829f89914b362751799e3a","dweb:/ipfs/Qmb1e12g6Sku2u1R96qei1GhqSNi1sZhKRCb111SyNk1ta"],"license":"MIT"},"node_modules/@latticexyz/store/src/Storage.sol":{"keccak256":"0x48c9749d33f06406b8033b3df67002836d1b356c6ae8282865e7b437941ed61f","urls":["bzz-raw://931e1275db62ba2f9410ee8a8ab384ece2a7031cdf446c50696078f9da24a04d","dweb:/ipfs/QmTXzyjLNj5KuJUHfe1T3awroK5DLkCU4dm6RR4pSUVrfE"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreCore.sol":{"keccak256":"0x7cafc150d77cb46ecb49b1a1a7d43cc17e21a095596cf544cc8ba6bfe7ed7f20","urls":["bzz-raw://889cadacfbc667e10a7a83ac34e858c76d0472d04cad72c7691a84879e503ce3","dweb:/ipfs/Qmcm6GFFoGFw2nmuz3Z2NRAgqfBPFZixHppmQzZM4Fy3sR"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreData.sol":{"keccak256":"0x9d740905a6bd4e322f7cc6f7837fe80d7733f7604d2077e45b58b8c3e84b67dd","urls":["bzz-raw://c53f83af2b84c740ede7fa379d92d86ab2e94341296d930114fa58c0380fd210","dweb:/ipfs/QmTUf3nL1fqKQXuTQF9HyjeWXdXYGemD2EzXUB3BjaNS2A"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreRead.sol":{"keccak256":"0x9fdfe426fd74b31fe309efbd9bf30bcfea7457366f8c8138cf0ee0bd983d6c28","urls":["bzz-raw://5bba26fa27f64c5560708391c09da78a1e8bbaa6b5d515aa7692a57516319ecd","dweb:/ipfs/QmQmDtwG742BMqW8qgiMAccdpZbzxQyyVnW9LMETP2NBVF"],"license":"MIT"},"node_modules/@latticexyz/store/src/StoreSwitch.sol":{"keccak256":"0xbe5cb815a5d073d1d94fc73a3a02a151ffb4e9ce299f00580c6c2d9cd339d7c9","urls":["bzz-raw://b7416ec2aeef38b06c4e559dc3e76fa8cd51f54c06cc58aeed613f44dfd3c3ff","dweb:/ipfs/QmRp6ZmUckpmGKG31wyZSxtgmUJZS2y85sRP2UU9Foajn7"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/index.sol":{"keccak256":"0xa59c43271d363f2366d6f6732ae586b1a36a3ffa4906b8f5cbbf19d3d314562c","urls":["bzz-raw://2bd7c9f8f9ad579a8dfec566b2bd2e646f8065ce8a07e6732e11a4a3a2be7787","dweb:/ipfs/QmWBwZGnYYxEiRjFKSsu1mFtCWJYw3XSojhn7zmc5YE4vG"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Hooks.sol":{"keccak256":"0x2e81480e081ce6ad4917ecc634e5c9b7a5674068992ae8d9088f0f6296da3bf7","urls":["bzz-raw://2acfdee4dd4c0347ec214273184f267db0e7edc82e586600501d13581dbb5551","dweb:/ipfs/QmcD945zNdGfkwKVvKHA2fpBGictaz4cVMnNm96SmTG5qY"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/ResourceIds.sol":{"keccak256":"0x29ed1bd962e594e00a9b921ddbbb202a47206adbece718721483a69593b88763","urls":["bzz-raw://786df2eca996d18660a4ea7d059dfb8c8476fe5cc8f14e0ce5c8f237e08444ea","dweb:/ipfs/QmQ8dbVA2rMgcb9rznHVjn8DGH9U8bZuHmebukjkYxs2Av"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/StoreHooks.sol":{"keccak256":"0xe9c42e51b6d20496dde8e8013680ec4a4ea1229fd57f0364a2a061c14c1c115b","urls":["bzz-raw://2bcbeeb7b3de32fc68102f7875d71348d5a0171dbb50937d6ebeb28dd10d4ed4","dweb:/ipfs/QmPY91z4D25KGLU2nhnZgb538Mh1mi46RbwHQB8kZvXd4h"],"license":"MIT"},"node_modules/@latticexyz/store/src/codegen/tables/Tables.sol":{"keccak256":"0xf80e355b361d29b0169483074b73e2502b228d539d5b3511239edfa9644ae270","urls":["bzz-raw://067d0b61a94453ed29f985cee8d237b46ef1c95f790848a927951e951ebe5a44","dweb:/ipfs/QmVjF2vEnRXzq1GHXwXd9iHJAfyrZNA2wAuygpZv6dGRTB"],"license":"MIT"},"node_modules/@latticexyz/store/src/constants.sol":{"keccak256":"0x2fe1752ecfb01c2de84cd9ae0c47fef85f9f0a7668ae31dc8b19724570eaad50","urls":["bzz-raw://cb90fb960543d00b37df49274c3b7bda6f2c8fb1b363226610f6de7f5bffc7c2","dweb:/ipfs/Qmc1ZQ6xPm8jXaWbc9Lakq2uZxY3pqtVC8r3WnNDFgLGTN"],"license":"MIT"},"node_modules/@latticexyz/store/src/rightMask.sol":{"keccak256":"0xbde7a13eb04663ffd62c3eac929abde4bf8d4fb4c434e510782af01045b78410","urls":["bzz-raw://3b629c78d8e194824b07bbf66f62d5bb94ce883100f5523cb545d3e980792f38","dweb:/ipfs/QmWCRbCT55mnusK1abavXvwM4uN9QStcML4ZgjUG9L6V8S"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeHookTypes.sol":{"keccak256":"0xcc16f330a9cb5f9f095e2bfc62c67818f2b91a229223c64c87891f1cebfc0305","urls":["bzz-raw://1384e4acac4553089859ff1368f358e5c81ceba986a902e5ec082801de097f64","dweb:/ipfs/QmXcEESML4KRKCfwxvC3tsW9jiA8PE7pxPuZ8L1t1wiNby"],"license":"MIT"},"node_modules/@latticexyz/store/src/storeResourceTypes.sol":{"keccak256":"0x515001322ebb9b58c62be0bd96ba65dc82841cc550533f283813ad24baaf2554","urls":["bzz-raw://b014d298897dfc75189c10f5e3d970d8368db734c545f6c7d4833cec9c7117eb","dweb:/ipfs/Qmcs7rTdh6zVyDHczXW6mEJqVmndZZTDSjNC1jouf43hTX"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/DecodeSlice.sol":{"keccak256":"0xcf8e6e16b76972b6a96ea6b428d7298fc174a840fc8c5c09b6fe2030d31600d7","urls":["bzz-raw://025cf5112618018efd416155c9df257cd28447629bd79c0c37655a8e22c0e4f4","dweb:/ipfs/QmaqeqzGVrAK6rQqQgCzs8UJMWrWmR52jqzN8jqRdaY1kT"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/EncodeArray.sol":{"keccak256":"0x248c35b8efaf6a0b0229fd81cafcb8fac6a54662187b56b49574b10e9c3ebf29","urls":["bzz-raw://63b6c95da7d63346db3b741f836b20e23f8e46a6245efdfa6443b204edecabcf","dweb:/ipfs/QmY79DfLgvMsTSZJzwbYmzGYE2ajCumu3ruQ2GpDyYbVqY"],"license":"MIT"},"node_modules/@latticexyz/store/src/tightcoder/TightCoder.sol":{"keccak256":"0x08f257c62602117fe4943580b0a19f19cf696b22000afd927a2159e24625a13a","urls":["bzz-raw://40ee497f86d4192794a5592264e356dcda27bbe275f6a110dfbc3c3b67798205","dweb:/ipfs/QmW98aRsWSvUzwvX8FkweFDrgGS9YKr8KvfnFrT5HkMtvT"],"license":"MIT"},"node_modules/@latticexyz/store/src/version.sol":{"keccak256":"0x1cf2e205960520ded9a1ac8a6f4e4e25b5153114939adc7acb66122aba88af61","urls":["bzz-raw://7b41a9da0859000750196a14db7352e12fbe0d55e3849a468fe41b23ffa847ed","dweb:/ipfs/QmTjkrru4tcqXx38k49C2ris5ednawtkfdcW5EVRNJYBKU"],"license":"MIT"},"node_modules/@latticexyz/world/src/AccessControl.sol":{"keccak256":"0xc1b9fa9167dc3d39d5591d0b2d5f7c3c12ad6aeaa0a1b83b1e326ebd104de439","urls":["bzz-raw://ed0ff59e3240fc85509fc5a1bc9c158f2056bd4be82ba88100ed138afc08d60c","dweb:/ipfs/QmZScS3xhT8EMX4RrnVEqWm1VrGBG9JiA6aiZWtWMphF7q"],"license":"MIT"},"node_modules/@latticexyz/world/src/Delegation.sol":{"keccak256":"0xd049053827c730ad69585c1c7eb52b4fd9774370063aab461021a111ee0bc86a","urls":["bzz-raw://e5a05e41e45c0054e835565046276d830581ca181e7ff3d83b15c71b6e01af89","dweb:/ipfs/QmZYGFT621rS5fE2WXKX5wqBMENguMuY7DqaXPkZ2rcEfZ"],"license":"MIT"},"node_modules/@latticexyz/world/src/ERC165Checker.sol":{"keccak256":"0x26204bcfddbc272eae391f4512a629f53697867d582ea8cabcd6a8e04a255270","urls":["bzz-raw://46944bac8253250ba3f645a6164df8e996738bc76a544867677e54ede57619a1","dweb:/ipfs/QmY1XSxQY9MuQSEvGaeQT6kqmeJ3VhYyRRTfzCkRmdsWsX"],"license":"MIT"},"node_modules/@latticexyz/world/src/IDelegationControl.sol":{"keccak256":"0x9f0dcc1cd281b51a5d3d8f75a55ce8cfb2577c88a9b6644ee144fe260c14e60e","urls":["bzz-raw://85d99d96c33512968e2c3ef68777bdf65305de0b01597e182750ce2c152e089d","dweb:/ipfs/QmZwB163CzPuHJGPW8LPL8pHsEdvkYmBuoEVbu3JqNSTkC"],"license":"MIT"},"node_modules/@latticexyz/world/src/IERC165.sol":{"keccak256":"0xe00be0c676fa14949ecc4324ae3e932834b0550e2fabbc813b5aa49cf0e2b695","urls":["bzz-raw://700a595ee72389add0e9aef8ae6c2cafc5336b0dc2c43e580ce4d9546ca0dee3","dweb:/ipfs/QmPfRtR5591tJPSvu9mz9J26qSwEjFm5FK8D99jA3qHZCe"],"license":"MIT"},"node_modules/@latticexyz/world/src/IModule.sol":{"keccak256":"0x6c11c44fef08d46ca9f291551a42b8576259f65b7e957aef92540ba0acd72909","urls":["bzz-raw://0ffbc3646ea495350939319f5418ba2dd45b6ec809d6b84ed3264e592a9385bd","dweb:/ipfs/QmPCjuQUMWVUPv7vSVfztnymYA9hUP1xRS62FD6iwzGMuo"],"license":"MIT"},"node_modules/@latticexyz/world/src/ISystemHook.sol":{"keccak256":"0xad31c270fe5bf23869fe4a55a9a8d3372871c595f6b0f9a197e810051ab1bfdc","urls":["bzz-raw://af7acd6a86410c6d2586739e370134265521cf522fec0c3091804c0d0f99a0fc","dweb:/ipfs/QmRRbUbw89Z3tva95UTvxKhFwn5ddYNMiHbVs6Nnmpsty3"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldContextConsumer.sol":{"keccak256":"0xd3645ee90c73dd991659a140c0132c5a2aaf27a296c457737b212d87b2f66402","urls":["bzz-raw://519d81e2bc7233b1488339eaf9220f7eb57086dd3ee8e1831708ebc6e87f00db","dweb:/ipfs/Qmf8RjMxuPXbteMeEB3vstjutsCrmveyBFCjVFt7nSYgtc"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldErrors.sol":{"keccak256":"0x5e733399a521c7a051601e1f31835ac1653d310a04194e2d10c54206277586cb","urls":["bzz-raw://d2646c3cf530d6768c4479c64477306a38b3358009792dfe82436cf1e6c27f90","dweb:/ipfs/QmdD5Vk7iswuvWVHBsRkw3n7tJ1gaZ9X9y7s2SkurkQ829"],"license":"MIT"},"node_modules/@latticexyz/world/src/IWorldKernel.sol":{"keccak256":"0x603c73df2d8d210b1970be3e7e49b8659ae45574add5ce3911a4fc59cce88839","urls":["bzz-raw://a095f9d317302d15e0e124951fe6b29a3bb0e3452e3d2211ac126b49992af443","dweb:/ipfs/QmRwwuh7w1msqx4vixJDbiBux4wVALiPGzCZJbikZsqwz7"],"license":"MIT"},"node_modules/@latticexyz/world/src/SystemCall.sol":{"keccak256":"0x9c3e1e5eb40d130e90726ca4bfabd748d190d076ecd95c668f038635f751cad2","urls":["bzz-raw://40ba8d4ea85cdac5b622117bf70f56466bfd8b3b693fbb4ab266630768f8865d","dweb:/ipfs/QmQ8ttFdCFJdw1thyDJHheoWNkdpQUM2u7kZzi4zj6mYh7"],"license":"MIT"},"node_modules/@latticexyz/world/src/World.sol":{"keccak256":"0x82571022970e441996611f5229a75ea0f2d8e81ee32219aa2a3cae28b8dba79e","urls":["bzz-raw://aadedce1b3a14423c5fcad571362a862dd475cfcaaaab089e8049c0f61ca2047","dweb:/ipfs/QmTVAh2wFmLk4SM6snMnh7sRNLaqvWdWVXUmuEsGgY3C5G"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldContext.sol":{"keccak256":"0x4b83d5791209b8f39773b07e5f162dfd0617f5f9b5b4bd371c087412e5ad01cf","urls":["bzz-raw://033a3777136e6d5c581efc8bf2535403abe44874409c85d17a353fae6dc56006","dweb:/ipfs/QmaXepBDVnmnMdVzuxbGT2qo5vqWnjB75KNCCdxRehrBMX"],"license":"MIT"},"node_modules/@latticexyz/world/src/WorldResourceId.sol":{"keccak256":"0xf668eeaecd294a2b8b9e1a771161373af84abe42b8a9820cf9d3092a9a1e64bd","urls":["bzz-raw://01f2939361e51497304e66bdcd9cb33bfea95737fce41ca731f20d3b5dbd5f74","dweb:/ipfs/QmayLveLBSq8axMgbouD411V5BTiYXKbg9ddEpxjcMU4ez"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Balances.sol":{"keccak256":"0x705f45c60cd9f5cf5ed2b92d73bef71f2c234ec281297dae79779860cfdf9e6f","urls":["bzz-raw://b927d760e5f09c72c421ad62ab8da11a38a2a47d321e6b023e3d7c2a4a46a458","dweb:/ipfs/QmXMDWhE5gVHURzFAL7cyA7EeFJRkykZRZwRV9qrTBj13Y"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/FunctionSelectors.sol":{"keccak256":"0x88a0bc28aa9ef62f524fd2592cc0aaaf3e33a8cb0c7674c6dba7f2115be551f8","urls":["bzz-raw://c64f10d7f97971fca0b7b2ab5b38f8d06d85d54b7b34d8ddc90da17264dae7dd","dweb:/ipfs/QmeMgiefFv9fvetswGBG3q2LzL1SJ6zNwBwupSgVpSmpDG"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InitModuleAddress.sol":{"keccak256":"0x4d0a317051e00a64696a4f9a749f95953dda5ce6fc086b194f54276af1510395","urls":["bzz-raw://5e96a02aa8a528d9d18d741a5cac7c19200ee5739ec92d42faafbf64efeeeb69","dweb:/ipfs/QmXkeMC6EyH3b6px685Dgfd5uGnrkfBUAQ4n1S8bsicEWd"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/InstalledModules.sol":{"keccak256":"0x6d247eea47c3566ea8e71b39e662607509f7a2080eabddf83c9f6b0682d27edc","urls":["bzz-raw://ab03d2cf026d39902ec68c3665a6779053e82e0f60bccfe2810be4b43f05894e","dweb:/ipfs/Qmdzg8bmkWjN4mw9EfnHFqYHpTJACGm9YoYZDZhX1MMamY"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceDelegationControl.sol":{"keccak256":"0x05b07d7a06c7e801fb0c0143dde8fce02907d9940f2862b63dcf085d43e54fdf","urls":["bzz-raw://18eaa2e74e9db4d142a7743c6ab9bfa5e9ff5c3700c0db148840266c4ac8ad35","dweb:/ipfs/QmRiBMxuzDRTST9C4nu8jo6z2D44HYG6VEpKNyDPa6HMhS"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x1bf6746d0154dc5464f394e5b3d8d66398a55eaff68f6e2c3f3f964d8daf39cd","urls":["bzz-raw://b902e62ea9758145aaa0677c04b764cf721ba103b8294191cdc4ba6c25f3ba9e","dweb:/ipfs/QmT3m18HiJd8BT1j5pWeXkGMQjqRCfKDiFvoBTBJ8ZKruv"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/ResourceAccess.sol":{"keccak256":"0x57b12c2ff2649db6dd7e2acacece0c5fbdcc0f0bff9b28c685c93d4372688568","urls":["bzz-raw://3a9c39f46cf1e43b13b4a94fad22fde80223f6b5e39c87ca5a8f5d76432d1a3c","dweb:/ipfs/QmNdEEiM7acceMy4ojy9oFKvba7Yjm3MXF1hpnRoWTaAsD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemHooks.sol":{"keccak256":"0x65c5544ed57f2e01d6729339461496fa3db50dd843db6de163e6cca2b9b17c68","urls":["bzz-raw://9d8acc162ac647954ffcfd98f6083823713b10d8dc4a05defc18199e9929faf2","dweb:/ipfs/QmVEwCPrDFcQ84qbJyfm3dNEXuqMbUVVqi5DddmJUREriD"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/SystemRegistry.sol":{"keccak256":"0x98b313c90edc060aed54e1728c5931e104914d485dfb0099099dc469773c6194","urls":["bzz-raw://595d820d40e7faceb413613f24d56e82d13e3e53dd86c69627f1c0f134b5705c","dweb:/ipfs/QmUosi7xfNsg5ehaPNZ7tpU3UxyBMbfQW1ESyqH8Bk73JU"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/Systems.sol":{"keccak256":"0xb9b4eada80dfde28cc334d7a8ede2a57b92f3b42f3501af693ba981ba38b8f21","urls":["bzz-raw://c6edf1eb4a0d1730b331eff58f3f26aa037fed7767b6d420a28b905134908bf7","dweb:/ipfs/QmXyZNb5SvwLJ7eG2mrFLDyC6Q2wKPGiHyeQQ21cQLujJR"],"license":"MIT"},"node_modules/@latticexyz/world/src/codegen/tables/UserDelegationControl.sol":{"keccak256":"0x25c8832ec6db8bc83d0a3c274d8cb49f93bfc57e2b0125c739caf19c1a2c8a51","urls":["bzz-raw://a226cf322efa14384b1191263136af4792d5e6285a7ffa9030218a44ec97d571","dweb:/ipfs/QmYC19AoGU6v15mzTKq2oHWMKUeRnzxGEkKgHVEUcUKw91"],"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/requireInterface.sol":{"keccak256":"0x95e9469529f790727966c513ed19b42abf065a2cd482faba4b8e3404edfb8730","urls":["bzz-raw://da63bf514679a87134d2c36563c9c398906e1e06b27cb17eed10895cd7c87658","dweb:/ipfs/QmUrfkw8YTs6zUq5eaWPgdLmTUJVsp1CRBGQz6kdh7bs3C"],"license":"MIT"},"node_modules/@latticexyz/world/src/revertWithBytes.sol":{"keccak256":"0x0e18f180961360de71b9374363cf31bf97e489fc895ff900946b515eeb7ecb3a","urls":["bzz-raw://e85a5e2c0e79ef39a6e367b3b653d475f702fb8f4e14f5817ca3091480e21eb8","dweb:/ipfs/QmeoYVTLo3LncJRD3mqc5bMSHY3Rc9N3yveu6pH2uRVCGW"],"license":"MIT"},"node_modules/@latticexyz/world/src/systemHookTypes.sol":{"keccak256":"0xf312c694828e49cd263d1df8ba82beb0376ce8dce1337f9e62ec52e3ed36a145","urls":["bzz-raw://2b060c176e46fa6e55d2f525d1f1c64e3c371e6bf24b6d0ff05ae20b3c0c0c0d","dweb:/ipfs/QmdLfnBQrYnLq1iwjX9UyzpDqe6EyJ21T56ZWUVJr1VQCy"],"license":"MIT"},"node_modules/@latticexyz/world/src/version.sol":{"keccak256":"0x940fa33f2a4986bda788f9418fe4e51ae206a6e4954721443cec11ebf2e700be","urls":["bzz-raw://3aacb56ffa02e40a60b9343aae4fe7c0d9623b74c6ee70b9a42f8428e64e4d4e","dweb:/ipfs/QmNXwHcUzNEvqjaSTdooSV3hhCkGadpT9peQAmhLaQTj2k"],"license":"MIT"},"node_modules/@latticexyz/world/src/worldResourceTypes.sol":{"keccak256":"0x3478328afa3363bcb25271cdcd4c23355f53be785ae0aab5159490122831b8ed","urls":["bzz-raw://5192c5d7dbe1e5521fc9af4830c991be7209652080c507ee6860cc3746dce96d","dweb:/ipfs/Qmbf6ge8pEwaGhjei7MKFCNk9UbCb55AvUadbbeqyNKJ12"],"license":"MIT"}},"version":1},"id":57}