@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.23

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 (1077) hide show
  1. package/package.json +14 -6
  2. package/test/agent-export.e2e.test.ts +376 -0
  3. package/test/agent-orchestration.e2e.test.ts +1568 -0
  4. package/test/agent-restart-recovery.e2e.test.ts +149 -0
  5. package/test/agent-runtime.e2e.test.ts +1515 -0
  6. package/test/anvil-contracts.e2e.test.ts +533 -0
  7. package/test/anvil-helper.ts +285 -0
  8. package/test/api-auth-live.e2e.test.ts +519 -0
  9. package/test/api-auth.e2e.test.ts +1039 -0
  10. package/test/api-server.e2e.test.ts +4582 -0
  11. package/test/apps-e2e.e2e.test.ts +1108 -0
  12. package/test/auth-modules.e2e.test.ts +71 -0
  13. package/test/cloud-auth-state.e2e.test.ts +145 -0
  14. package/test/cloud-persistence.e2e.test.ts +260 -0
  15. package/test/cloud-providers.e2e.test.ts +781 -0
  16. package/test/config-hot-reload.e2e.test.ts +131 -0
  17. package/test/contract-deployer.ts +151 -0
  18. package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
  19. package/test/contracts/MockMiladyCollection.sol +195 -0
  20. package/test/contracts/cache/solidity-files-cache.json +1 -0
  21. package/test/contracts/foundry.toml +14 -0
  22. package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
  23. package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
  24. package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
  25. package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
  26. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
  27. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
  28. package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
  29. package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
  30. package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
  31. package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
  32. package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
  33. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
  34. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
  35. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
  36. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
  37. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
  38. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
  39. package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
  40. package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
  41. package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
  42. package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
  43. package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
  44. package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
  45. package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
  46. package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
  47. package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
  48. package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
  49. package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
  50. package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
  51. package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
  52. package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
  53. package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
  54. package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
  55. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
  56. package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
  57. package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
  58. package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
  59. package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
  60. package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
  61. package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
  62. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
  63. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
  64. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
  65. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
  66. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
  67. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
  68. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
  69. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
  70. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
  71. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
  72. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
  73. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
  74. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
  75. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
  76. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
  77. package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
  78. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
  79. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
  80. package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
  81. package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
  82. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
  83. package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
  84. package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
  85. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
  86. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
  87. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
  88. package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
  89. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
  90. package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
  91. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
  92. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
  93. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
  94. package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
  95. package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
  96. package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
  97. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
  98. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
  99. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
  100. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
  101. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
  102. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
  103. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
  104. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
  105. package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
  106. package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
  107. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
  108. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
  109. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
  110. package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
  111. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
  112. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
  113. package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
  114. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
  115. package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
  116. package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
  117. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
  118. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
  119. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
  120. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
  121. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
  122. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
  123. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
  124. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
  125. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
  126. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
  127. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
  128. package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
  129. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
  130. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
  131. package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
  132. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
  133. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
  134. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
  135. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
  136. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
  137. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
  138. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
  139. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
  140. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
  141. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
  142. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
  143. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
  144. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
  145. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
  146. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
  147. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
  148. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
  149. package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
  150. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
  151. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
  152. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
  153. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
  154. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
  155. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
  156. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
  157. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
  158. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
  159. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
  160. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
  161. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
  162. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
  163. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
  164. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
  165. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
  166. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
  167. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
  168. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
  169. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
  170. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
  171. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
  172. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
  173. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
  174. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
  175. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
  176. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
  177. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
  178. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
  179. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
  180. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
  181. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
  182. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
  183. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
  184. package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
  185. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
  186. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
  187. package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
  188. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
  189. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
  190. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
  191. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
  192. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
  193. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
  194. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
  195. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
  196. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
  197. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
  198. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
  199. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
  200. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
  201. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
  202. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
  203. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
  204. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
  205. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
  206. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
  207. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
  208. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
  209. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
  210. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
  211. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
  212. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
  213. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
  214. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
  215. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
  216. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
  217. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
  218. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
  219. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
  220. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
  221. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
  222. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
  223. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
  224. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
  225. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
  226. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
  227. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
  228. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
  229. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
  230. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
  231. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
  232. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
  233. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
  234. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
  235. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
  236. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
  237. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
  238. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
  239. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
  240. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
  241. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
  242. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
  243. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
  244. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
  245. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
  246. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
  247. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
  248. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
  249. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
  250. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
  251. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
  252. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
  253. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
  254. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
  255. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
  256. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
  257. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
  258. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
  259. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
  260. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
  261. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
  262. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
  263. package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
  264. package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
  265. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
  266. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
  267. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
  268. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
  269. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
  270. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
  271. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
  272. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
  273. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
  274. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
  275. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
  276. package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
  277. package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
  278. package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
  279. package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
  280. package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
  281. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
  282. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
  283. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
  284. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
  285. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
  286. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
  287. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
  288. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
  289. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
  290. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
  291. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
  292. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
  293. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
  294. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
  295. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
  296. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
  297. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
  298. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
  299. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
  300. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
  301. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
  302. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
  303. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
  304. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
  305. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
  306. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
  307. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
  308. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
  309. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
  310. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
  311. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
  312. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
  313. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
  314. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
  315. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
  316. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
  317. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
  318. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
  319. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
  320. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
  321. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
  322. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
  323. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
  324. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
  325. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
  326. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
  327. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
  328. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
  329. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
  330. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
  331. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
  332. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
  333. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
  334. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
  335. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
  336. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
  337. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
  338. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
  339. package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
  340. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
  341. package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
  342. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
  343. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
  344. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
  345. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
  346. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
  347. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
  348. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
  349. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
  350. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
  351. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
  352. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
  353. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
  354. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
  355. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
  356. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
  357. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
  358. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
  359. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
  360. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
  361. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
  362. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
  363. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
  364. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
  365. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
  366. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
  367. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
  368. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
  369. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
  370. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
  371. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
  372. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
  373. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
  374. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
  375. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
  376. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
  377. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
  378. package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
  379. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
  380. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
  381. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
  382. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
  383. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
  384. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
  385. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
  386. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
  387. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
  388. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
  389. package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
  390. package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
  391. package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
  392. package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
  393. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
  394. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
  395. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
  396. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
  397. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
  398. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
  399. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
  400. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
  401. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
  402. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
  403. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
  404. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
  405. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
  406. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
  407. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
  408. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
  409. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
  410. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
  411. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
  412. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
  413. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
  414. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
  415. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
  416. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
  417. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
  418. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
  419. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
  420. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
  421. package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
  422. package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
  423. package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
  424. package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
  425. package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
  426. package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
  427. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
  428. package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
  429. package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
  430. package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
  431. package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
  432. package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
  433. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
  434. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
  435. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
  436. package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
  437. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
  438. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
  439. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
  440. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
  441. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
  442. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
  443. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
  444. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
  445. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
  446. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
  447. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
  448. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
  449. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
  450. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
  451. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
  452. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
  453. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
  454. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
  455. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
  456. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
  457. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
  458. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
  459. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
  460. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
  461. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
  462. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
  463. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
  464. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
  465. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
  466. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
  467. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
  468. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
  469. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
  470. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
  471. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
  472. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
  473. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
  474. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
  475. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
  476. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
  477. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
  478. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
  479. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
  480. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
  481. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
  482. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
  483. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
  484. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
  485. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
  486. package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
  487. package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
  488. package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
  489. package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
  490. package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
  491. package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
  492. package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
  493. package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
  494. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
  495. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
  496. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
  497. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
  498. package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
  499. package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
  500. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
  501. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
  502. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
  503. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
  504. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
  505. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
  506. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
  507. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
  508. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
  509. package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
  510. package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
  511. package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
  512. package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
  513. package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
  514. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
  515. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
  516. package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
  517. package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
  518. package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
  519. package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
  520. package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
  521. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
  522. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
  523. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
  524. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
  525. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
  526. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
  527. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
  528. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
  529. package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
  530. package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
  531. package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
  532. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
  533. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
  534. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
  535. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
  536. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
  537. package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
  538. package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
  539. package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
  540. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
  541. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
  542. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
  543. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
  544. package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
  545. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
  546. package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
  547. package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
  548. package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
  549. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
  550. package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
  551. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
  552. package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
  553. package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
  554. package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
  555. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
  556. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
  557. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
  558. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
  559. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
  560. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
  561. package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
  562. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
  563. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
  564. package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
  565. package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
  566. package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
  567. package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
  568. package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
  569. package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
  570. package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
  571. package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
  572. package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
  573. package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
  574. package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
  575. package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
  576. package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
  577. package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
  578. package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
  579. package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
  580. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
  581. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
  582. package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
  583. package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
  584. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
  585. package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
  586. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
  587. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
  588. package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
  589. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
  590. package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
  591. package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
  592. package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
  593. package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
  594. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
  595. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
  596. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
  597. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
  598. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
  599. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
  600. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
  601. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
  602. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
  603. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
  604. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
  605. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
  606. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
  607. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
  608. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
  609. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
  610. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
  611. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
  612. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
  613. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
  614. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
  615. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
  616. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
  617. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
  618. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
  619. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
  620. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
  621. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
  622. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
  623. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
  624. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
  625. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
  626. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
  627. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
  628. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
  629. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
  630. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
  631. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
  632. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
  633. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
  634. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
  635. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
  636. package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
  637. package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
  638. package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
  639. package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
  640. package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
  641. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
  642. package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
  643. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
  644. package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
  645. package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
  646. package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
  647. package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
  648. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
  649. package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
  650. package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
  651. package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
  652. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
  653. package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
  654. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
  655. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
  656. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
  657. package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
  658. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
  659. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
  660. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
  661. package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
  662. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
  663. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
  664. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
  665. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
  666. package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
  667. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
  668. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
  669. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
  670. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
  671. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
  672. package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
  673. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
  674. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
  675. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
  676. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
  677. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
  678. package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
  679. package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
  680. package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
  681. package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
  682. package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
  683. package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
  684. package/test/contracts/out/Address.sol/Address.json +1 -0
  685. package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
  686. package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
  687. package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
  688. package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
  689. package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
  690. package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
  691. package/test/contracts/out/Base.sol/CommonBase.json +1 -0
  692. package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
  693. package/test/contracts/out/Base.sol/TestBase.json +1 -0
  694. package/test/contracts/out/Base64.sol/Base64.json +1 -0
  695. package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
  696. package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
  697. package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
  698. package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
  699. package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
  700. package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
  701. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
  702. package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
  703. package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
  704. package/test/contracts/out/Clones.sol/Clones.json +1 -0
  705. package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
  706. package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
  707. package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
  708. package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
  709. package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
  710. package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
  711. package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
  712. package/test/contracts/out/Context.sol/Context.json +1 -0
  713. package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
  714. package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
  715. package/test/contracts/out/Counters.sol/Counters.json +1 -0
  716. package/test/contracts/out/Create2.sol/Create2.json +1 -0
  717. package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
  718. package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
  719. package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
  720. package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
  721. package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
  722. package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
  723. package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
  724. package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
  725. package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
  726. package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
  727. package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
  728. package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
  729. package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
  730. package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
  731. package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
  732. package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
  733. package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
  734. package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
  735. package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
  736. package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
  737. package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
  738. package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
  739. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
  740. package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
  741. package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
  742. package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
  743. package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
  744. package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
  745. package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
  746. package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
  747. package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
  748. package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
  749. package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
  750. package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
  751. package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
  752. package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
  753. package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
  754. package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
  755. package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
  756. package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
  757. package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
  758. package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
  759. package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
  760. package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
  761. package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
  762. package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
  763. package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
  764. package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
  765. package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
  766. package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
  767. package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
  768. package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
  769. package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
  770. package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
  771. package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
  772. package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
  773. package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
  774. package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
  775. package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
  776. package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
  777. package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
  778. package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
  779. package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
  780. package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
  781. package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
  782. package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
  783. package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
  784. package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
  785. package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
  786. package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
  787. package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
  788. package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
  789. package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
  790. package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
  791. package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
  792. package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
  793. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
  794. package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
  795. package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
  796. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
  797. package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
  798. package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
  799. package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
  800. package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
  801. package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
  802. package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
  803. package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
  804. package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
  805. package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
  806. package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
  807. package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
  808. package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
  809. package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
  810. package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
  811. package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
  812. package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
  813. package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
  814. package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
  815. package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
  816. package/test/contracts/out/Governor.sol/Governor.json +1 -0
  817. package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
  818. package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
  819. package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
  820. package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
  821. package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
  822. package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
  823. package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
  824. package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
  825. package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
  826. package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
  827. package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
  828. package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
  829. package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
  830. package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
  831. package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
  832. package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
  833. package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
  834. package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
  835. package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
  836. package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
  837. package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
  838. package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
  839. package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
  840. package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
  841. package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
  842. package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
  843. package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
  844. package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
  845. package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
  846. package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
  847. package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
  848. package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
  849. package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
  850. package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
  851. package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
  852. package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
  853. package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
  854. package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
  855. package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
  856. package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
  857. package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
  858. package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
  859. package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
  860. package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
  861. package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
  862. package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
  863. package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
  864. package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
  865. package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
  866. package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
  867. package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
  868. package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
  869. package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
  870. package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
  871. package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
  872. package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
  873. package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
  874. package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
  875. package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
  876. package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
  877. package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
  878. package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
  879. package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
  880. package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
  881. package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
  882. package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
  883. package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
  884. package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
  885. package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
  886. package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
  887. package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
  888. package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
  889. package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
  890. package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
  891. package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
  892. package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
  893. package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
  894. package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
  895. package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
  896. package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
  897. package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
  898. package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
  899. package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
  900. package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
  901. package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
  902. package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
  903. package/test/contracts/out/Math.sol/Math.json +1 -0
  904. package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
  905. package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
  906. package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
  907. package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
  908. package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
  909. package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
  910. package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
  911. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
  912. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
  913. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
  914. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
  915. package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
  916. package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
  917. package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
  918. package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
  919. package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
  920. package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
  921. package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
  922. package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
  923. package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
  924. package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
  925. package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
  926. package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
  927. package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
  928. package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
  929. package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
  930. package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
  931. package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
  932. package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
  933. package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
  934. package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
  935. package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
  936. package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
  937. package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
  938. package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
  939. package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
  940. package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
  941. package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
  942. package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
  943. package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
  944. package/test/contracts/out/Script.sol/Script.json +1 -0
  945. package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
  946. package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
  947. package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
  948. package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
  949. package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
  950. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
  951. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
  952. package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
  953. package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
  954. package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
  955. package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
  956. package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
  957. package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
  958. package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
  959. package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
  960. package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
  961. package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
  962. package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
  963. package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
  964. package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
  965. package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
  966. package/test/contracts/out/StdError.sol/stdError.json +1 -0
  967. package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
  968. package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
  969. package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
  970. package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
  971. package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
  972. package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
  973. package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
  974. package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
  975. package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
  976. package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
  977. package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
  978. package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
  979. package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
  980. package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
  981. package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
  982. package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
  983. package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
  984. package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
  985. package/test/contracts/out/Strings.sol/Strings.json +1 -0
  986. package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
  987. package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
  988. package/test/contracts/out/Timers.sol/Timers.json +1 -0
  989. package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
  990. package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
  991. package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
  992. package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
  993. package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
  994. package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
  995. package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
  996. package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
  997. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
  998. package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
  999. package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
  1000. package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
  1001. package/test/contracts/out/Vm.sol/Vm.json +1 -0
  1002. package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
  1003. package/test/contracts/out/Votes.sol/Votes.json +1 -0
  1004. package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
  1005. package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
  1006. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
  1007. package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
  1008. package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
  1009. package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
  1010. package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
  1011. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
  1012. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
  1013. package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
  1014. package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
  1015. package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
  1016. package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
  1017. package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
  1018. package/test/contracts/out/console.sol/console.json +1 -0
  1019. package/test/contracts/out/console2.sol/console2.json +1 -0
  1020. package/test/contracts/out/demo.sol/DemoTest.json +1 -0
  1021. package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
  1022. package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
  1023. package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
  1024. package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
  1025. package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
  1026. package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
  1027. package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
  1028. package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
  1029. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
  1030. package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
  1031. package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
  1032. package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
  1033. package/test/contracts/out/receivers.sol/Receiver.json +1 -0
  1034. package/test/contracts/out/test.sol/DSTest.json +1 -0
  1035. package/test/contracts/out/test.sol/Test.json +1 -0
  1036. package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
  1037. package/test/database-api.e2e.test.ts +666 -0
  1038. package/test/debug-anvil.ts +44 -0
  1039. package/test/deferred-restart.e2e.test.ts +368 -0
  1040. package/test/discord-connector.e2e.test.ts +463 -0
  1041. package/test/e2e-global-setup.ts +29 -0
  1042. package/test/e2e-validation.e2e.test.ts +1588 -0
  1043. package/test/health-endpoint.e2e.test.ts +95 -0
  1044. package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
  1045. package/test/knowledge-live.e2e.test.ts +405 -0
  1046. package/test/mcp-config.e2e.test.ts +630 -0
  1047. package/test/native-modules.e2e.test.ts +470 -0
  1048. package/test/permissions-api.e2e.test.ts +637 -0
  1049. package/test/plugin-install.e2e.test.ts +645 -0
  1050. package/test/plugin-lifecycle.e2e.test.ts +617 -0
  1051. package/test/plugin-management.e2e.test.ts +308 -0
  1052. package/test/provider-switch.e2e.test.ts +322 -0
  1053. package/test/scripts/test-force.ts +139 -0
  1054. package/test/scripts/test-parallel.mjs +192 -0
  1055. package/test/scripts/validate-all-features.sh +557 -0
  1056. package/test/setup.ts +122 -0
  1057. package/test/signal-connector.e2e.test.ts +229 -0
  1058. package/test/skills-marketplace-api.e2e.test.ts +585 -0
  1059. package/test/skills-marketplace-services.e2e.test.ts +518 -0
  1060. package/test/skills-marketplace.e2e.test.ts +268 -0
  1061. package/test/stubs/coding-agent-module.ts +18 -0
  1062. package/test/stubs/electron-module.ts +17 -0
  1063. package/test/stubs/empty-module.mjs +4 -0
  1064. package/test/stubs/pi-ai-module.ts +12 -0
  1065. package/test/subscription-auth.e2e.test.ts +747 -0
  1066. package/test/terminal-execution.e2e.test.ts +134 -0
  1067. package/test/terminal-run-limits.e2e.test.ts +132 -0
  1068. package/test/test-env.ts +156 -0
  1069. package/test/trajectory-collection.e2e.test.ts +800 -0
  1070. package/test/trajectory-database.e2e.test.ts +209 -0
  1071. package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
  1072. package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
  1073. package/test/trigger-execution-flow.e2e.test.ts +132 -0
  1074. package/test/trigger-runtime.e2e.test.ts +247 -0
  1075. package/test/wallet-api.e2e.test.ts +1295 -0
  1076. package/test/wallet-live.e2e.test.ts +428 -0
  1077. package/vitest.e2e.config.ts +71 -0
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testCannotSetChain_ChainIdExists","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChainAliasNotFound","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChainBubbleUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChainIdNotFound","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChainNoDefault","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testChainRpcInitialization","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testDontUseDefaultRpcUrl","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetNoChainId0","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGetNoEmptyAlias","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRpcs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetChain","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetChainFirstFails","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetChain_ExistingOne","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetNoChainId0","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testSetNoEmptyAlias","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040525f8054600160ff19918216811790925560048054909116909117905534801561002b575f80fd5b5061469b806100395f395ff3fe608060405234801561000f575f80fd5b506004361061016d575f3560e01c806390d09112116100d9578063bf6f51a911610093578063cf4f12721161006e578063cf4f12721461025b578063d1f6523514610263578063e20c9f711461026b578063fa7626d414610273575f80fd5b8063bf6f51a914610243578063cceac16d1461024b578063cd2feecf14610253575f80fd5b806390d0911214610203578063916a17c61461020b5780639a53677a14610213578063a370537e1461021b578063b5508aa914610223578063ba414fa61461022b575f80fd5b80635ba93af61161012a5780635ba93af6146101b95780635dbfa47f146101c157806366d9a9a0146101c95780637b44af7a146101de57806385226c81146101e65780638e7ffe2a146101fb575f80fd5b8063120a8613146101715780631ed7831c1461017b5780633e5e3c23146101995780633f7286f4146101a157806346a5a1da146101a957806349f4fab5146101b1575b5f80fd5b61017961027f565b005b61018361039f565b6040516101909190613a3d565b60405180910390f35b6101836103ff565b61018361045d565b6101796104bb565b610179610650565b610179610727565b610179610799565b6101d16107fd565b6040516101909190613a89565b6101796108e7565b6101ee6109c0565b6040516101909190613b87565b610179610a8b565b610179610e61565b6101d1610efd565b610179610fde565b610179611082565b6101ee61140d565b6102336114d8565b6040519015158152602001610190565b6101796115ed565b610179611874565b61017961191d565b610179611ad9565b610179611d7d565b610183611f79565b5f546102339060ff1681565b60405163f28dceb360e01b815260206004820152604d60248201525f805160206143f083398151915260448201527f617461293a20436861696e20494420333133333720616c72656164792075736560648201526c3210313c901130b73b34b6111760991b60848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b158015610318575f80fd5b505af115801561032a573d5f803e3d5ffd5b5050604080518082018252600681526530b73b34b61960d11b602080830191909152825160a08101845260056060820190815264105b9d9a5b60da1b60808301528152617a698183015283518085018552600381526215549360ea1b928101929092529283015261039d93509150611fd7565b565b6060600d8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116103d7575b5050505050905090565b6060600f8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116103d7575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116103d7575050505050905090565b60408051808201825260178152763732b2b239afbab73232b334b732b22fb2b73b2fbb30b960491b60208083019190915282516080810184525f60608201818152825263075bcd15828401528451928301855282529283015261051d91611fd7565b60405163f28dceb360e01b815260206004820152607f60248201527f4661696c656420746f207265736f6c766520656e76207661722060554e44454660448201527f494e45445f5250435f55524c5f504c414345484f4c4445526020696e2060247b60648201527f554e444546494e45445f5250435f55524c5f504c414345484f4c4445527d603a60848201527f20656e7669726f6e6d656e74207661726961626c65206e6f7420666f756e640060a48201525f805160206144308339815191529063f28dceb39060c4015f604051808303815f87803b1580156105ff575f80fd5b505af1158015610611573d5f803e3d5ffd5b5050505061064d604051806040016040528060178152602001763732b2b239afbab73232b334b732b22fb2b73b2fbb30b960491b81525061228b565b50565b60405163f28dceb360e01b815260206004820152604760248201525f8051602061441083398151915260448201527f6e207769746820616c69617320226e6f5f737563685f616c69617322206e6f74606482015266103337bab7321760c91b60848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b1580156106e3575f80fd5b505af11580156106f5573d5f803e3d5ffd5b5050505061064d6040518060400160405280600d81526020016c6e6f5f737563685f616c69617360981b81525061228b565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb39061075590600401613be7565b5f604051808303815f87803b15801561076c575f80fd5b505af115801561077e573d5f803e3d5ffd5b5050505061064d60405180602001604052805f81525061228b565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb3906107c790600401613c42565b5f604051808303815f87803b1580156107de575f80fd5b505af11580156107f0573d5f803e3d5ffd5b5050505061064d5f612518565b60606012805480602002602001604051908101604052809291908181526020015f905b828210156108de575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156108c657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108885790505b50505050508152505081526020019060010190610820565b50505050905090565b60405163f28dceb360e01b815260206004820152604860248201525f8051602061441083398151915260448201527f6e207769746820616c6961732022646f65735f6e6f745f657869737422206e6f6064820152673a103337bab7321760c11b60848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b15801561097b575f80fd5b505af115801561098d573d5f803e3d5ffd5b5050505061064d6040518060400160405280600e81526020016d191bd95cd7db9bdd17d95e1a5cdd60921b81525061228b565b60606011805480602002602001604051908101604052809291908181526020015f905b828210156108de578382905f5260205f20018054610a0090613c86565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2c90613c86565b8015610a775780601f10610a4e57610100808354040283529160200191610a77565b820191905f5260205f20905b815481529060010190602001808311610a5a57829003601f168201915b5050505050815260200190600101906109e3565b610aba610a986001612518565b606001516040518060600160405280603d815260200161457d603d91396128a9565b610b2c610aed6040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b81525061228b565b606001516040518060400160405280601b81526020017f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f2f00000000008152506128a9565b610b85610b6360405180604001604052806013815260200172617262697472756d5f6f6e655f676f65726c6960681b81525061228b565b60600151604051806060016040528060268152602001614537602691396128a9565b610bf5610bb66040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b81525061228b565b606001516040518060400160405280601c81526020017f68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063000000008152506128a9565b604051631eac91f760e11b81525f8051602061443083398151915290633d5923ee90610c2390600401613cb8565b5f604051808303815f87803b158015610c3a575f80fd5b505af1158015610c4c573d5f803e3d5ffd5b50505050610cad610c816040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b81525061228b565b606001516040518060400160405280600a8152602001696d796f7665727269646560b01b8152506128a9565b604051631eac91f760e11b81525f8051602061443083398151915290633d5923ee90610cdb90600401613d15565b5f604051808303815f87803b158015610cf2575f80fd5b505af1158015610d04573d5f803e3d5ffd5b505060408051631eac91f760e11b81526004810191909152600f60448201526e1350525393915517d49410d7d55493608a1b606482015260806024820152600b60848201526a36bcb7bb32b93934b2329960a91b60a48201525f805160206144308339815191529250633d5923ee915060c4015f604051808303815f87803b158015610d8e575f80fd5b505af1158015610da0573d5f803e3d5ffd5b50505050610dcf610a98604051806040016040528060078152602001661b585a5b9b995d60ca1b81525061228b565b610e14610ddd617a69612518565b6060015160405180604001604052806015815260200174687474703a2f2f3132372e302e302e313a3835343560581b8152506128a9565b61039d610e3f604051806040016040528060078152602001667365706f6c696160c81b81525061228b565b606001516040518060600160405280603d8152602001614475603d91396128a9565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb390610e8f90600401613d85565b5f604051808303815f87803b158015610ea6575f80fd5b505af1158015610eb8573d5f803e3d5ffd5b505060408051602080820183525f808352835160808101855260608101828152815263075bcd1581840152845192830185529082529283015261039d93509150611fd7565b60606013805480602002602001604051908101604052809291908181526020015f905b828210156108de575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610fc657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610f885790505b50505050508152505081526020019060010190610f20565b60405163f28dceb360e01b815260206004820152603960248201525f8051602061455d83398151915260448201527f696e207769746820494420333231206e6f7420666f756e642e0000000000000060648201525f805160206144308339815191529063f28dceb3906084015f604051808303815f87803b158015611061575f80fd5b505af1158015611073573d5f803e3d5ffd5b5050505061064d610141612518565b61111f6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b815250815260200163075bcd1581526020016040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b815250815250611fd7565b5f61114d6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525061228b565b9050611180815f01516040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b8152506128a9565b611192816020015163075bcd156129ea565b6111c481604001516040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b8152506128a9565b6111ff81606001516040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b8152506128a9565b5f61120d63075bcd15612518565b8051835191925061121d916128a9565b61122f816020015183602001516129ea565b611241816040015183604001516128a9565b611253816060015183606001516128a9565b60408051808201825260148082527320b737ba3432b91021bab9ba37b69021b430b4b760611b602080840191909152918552633ade68b185830152825180840190935282527330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b908201526112be9083612ac9565b5f6112f46040518060400160405280601481526020017330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b81525061228b565b905061132f815f01516040518060400160405280601481526020017320b737ba3432b91021bab9ba37b69021b430b4b760611b8152506128a9565b6113418160200151633ade68b16129ea565b61137b81604001516040518060400160405280601481526020017330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b8152506128a9565b6113b681606001516040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b8152506128a9565b6113c363075bcd15612518565b91506113f6825f01516040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b8152506128a9565b611408826020015163075bcd156129ea565b505050565b60606010805480602002602001604051908101604052809291908181526020015f905b828210156108de578382905f5260205f2001805461144d90613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461147990613c86565b80156114c45780601f1061149b576101008083540402835291602001916114c4565b820191905f5260205f20905b8154815290600101906020018083116114a757829003601f168201915b505050505081526020019060010190611430565b5f8054610100900460ff16156114f657505f54610100900460ff1690565b5f5f805160206144308339815191523b156115e857604080515f80516020614430833981519152602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091611574917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001613dea565b60408051601f198184030181529082905261158e91613e1a565b5f604051808303815f865af19150503d805f81146115c7576040519150601f19603f3d011682016040523d82523d5f602084013e6115cc565b606091505b50915050808060200190518101906115e49190613e35565b9150505b919050565b61168a6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b815250815260200163075bcd1581526020016040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b815250815250611fd7565b6116a861169a63075bcd15612518565b6020015163075bcd156129ea565b604080518082018252600c81526b31bab9ba37b6afb1b430b4b760a11b602080830191909152825160a081018452600e606082019081526d26b7b234b334b2b21021b430b4b760911b60808301528152633b9ac9ff8183015283518085018552601781527668747470733a2f2f6d6f6469666965642e636861696e2f60481b928101929092529283015261173b91611fd7565b60405163f28dceb360e01b815260206004820152603f60248201525f8051602061455d83398151915260448201527f696e207769746820494420313233343536373839206e6f7420666f756e642e0060648201525f805160206144308339815191529063f28dceb3906084015f604051808303815f87803b1580156117be575f80fd5b505af11580156117d0573d5f803e3d5ffd5b505050506117e163075bcd15612518565b505f6117f0633b9ac9ff612518565b9050611825815f01516040518060400160405280600e81526020016d26b7b234b334b2b21021b430b4b760911b8152506128a9565b6118378160200151633b9ac9ff6129ea565b61064d81606001516040518060400160405280601781526020017668747470733a2f2f6d6f6469666965642e636861696e2f60481b8152506128a9565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb3906118a290600401613e54565b5f604051808303815f87803b1580156118b9575f80fd5b505af11580156118cb573d5f803e3d5ffd5b50506040805180820182526005815264616c69617360d81b60208083019190915282516080810184525f6060820181815282528183018190528451928301855282529283015261039d93509150611fd7565b6119ba6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b815250815260200163075bcd1581526020016040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b815250815250611fd7565b60405163f28dceb360e01b815260206004820152605860248201525f805160206143f083398151915260448201527f617461293a20436861696e2049442031323334353637383920616c726561647960648201527f20757365642062792022637573746f6d5f636861696e222e000000000000000060848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b158015611a63575f80fd5b505af1158015611a75573d5f803e3d5ffd5b5050604080518082018252601481527330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b60208083019190915282516080810184525f60608201818152825263075bcd15828401528451928301855282529283015261039d93509150611fd7565b611b01604051806040016040528060078152602001661b585a5b9b995d60ca1b815250612af8565b611b2860405180604001604052806006815260200165676f65726c6960d01b815250612af8565b611b50604051806040016040528060078152602001667365706f6c696160c81b815250612af8565b611b79604051806040016040528060088152602001676f7074696d69736d60c01b815250612af8565b611ba96040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b815250612af8565b611bd66040518060400160405280600c81526020016b617262697472756d5f6f6e6560a01b815250612af8565b611c0a60405180604001604052806013815260200172617262697472756d5f6f6e655f676f65726c6960681b815250612af8565b611c386040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b815250612af8565b611c60604051806040016040528060078152602001663837b63cb3b7b760c91b815250612af8565b611c8f6040518060400160405280600e81526020016d706f6c79676f6e5f6d756d62616960901b815250612af8565b611cb9604051806040016040528060098152602001686176616c616e63686560b81b815250612af8565b611ce86040518060400160405280600e81526020016d6176616c616e6368655f66756a6960901b815250612af8565b611d186040518060400160405280600f81526020016e3137312fb9b6b0b93a2fb1b430b4b760891b815250612af8565b611d5060405180604001604052806017815260200176189b9897dcdb585c9d17d8da185a5b97dd195cdd1b995d604a1b815250612af8565b61039d6040518060400160405280600c81526020016b33b737b9b4b9afb1b430b4b760a11b815250612af8565b6004805460ff1916905560405163f28dceb360e01b815260206004820152606360248201527f4661696c656420746f2067657420656e7669726f6e6d656e742076617269616260448201527f6c652060414e56494c5f5250435f55524c60206173207479706520607374726960648201527f6e67603a20656e7669726f6e6d656e74207661726961626c65206e6f7420666f6084820152621d5b9960ea1b60a48201525f805160206144308339815191529063f28dceb39060c4015f604051808303815f87803b158015611e4f575f80fd5b505af1158015611e61573d5f803e3d5ffd5b50505050611e70617a69612518565b5060405163f28dceb360e01b815260206004820152606560248201527f4661696c656420746f2067657420656e7669726f6e6d656e742076617269616260448201527f6c6520605345504f4c49415f5250435f55524c6020617320747970652060737460648201527f72696e67603a20656e7669726f6e6d656e74207661726961626c65206e6f7420608482015264199bdd5b9960da1b60a48201525f805160206144308339815191529063f28dceb39060c4015f604051808303815f87803b158015611f3b575f80fd5b505af1158015611f4d573d5f803e3d5ffd5b5050505061064d604051806040016040528060078152602001667365706f6c696160c81b81525061228b565b6060600c8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116103d7575050505050905090565b81515f036120005760405162461bcd60e51b8152600401611ff790613d85565b60405180910390fd5b80602001515f036120235760405162461bcd60e51b8152600401611ff790613e54565b61202b612b79565b6020808201515f908152600390915260408120805461204990613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461207590613c86565b80156120c05780601f10612097576101008083540402835291602001916120c0565b820191905f5260205f20905b8154815290600101906020018083116120a357829003601f168201915b5050505050905080515f14806120e3575082805190602001208180519060200120145b602083015160405163348051d760e11b815260048101919091525f8051602061443083398151915290636900a3ae906024015f60405180830381865afa15801561212f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121569190810190613eb7565b82604051602001612168929190613f5f565b604051602081830303815290604052906121955760405162461bcd60e51b8152600401611ff79190613fe8565b505f6001846040516121a79190613e1a565b908152602001604051809103902060010154905060035f8281526020019081526020015f205f6121d791906139f3565b6040518060800160405280845f015181526020018460200151815260200185815260200184604001518152506001856040516122139190613e1a565b908152604051908190036020019020815181906122309082614047565b50602082015160018201556040820151600282019061224f9082614047565b50606082015160038201906122649082614047565b5050506020808401515f9081526003909152604090206122848582614047565b5050505050565b6122b56040518060800160405280606081526020015f815260200160608152602001606081525090565b81515f036122d55760405162461bcd60e51b8152600401611ff790613be7565b6122dd612b79565b6001826040516122ed9190613e1a565b90815260200160405180910390206040518060800160405290815f8201805461231590613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461234190613c86565b801561238c5780601f106123635761010080835404028352916020019161238c565b820191905f5260205f20905b81548152906001019060200180831161236f57829003601f168201915b50505050508152602001600182015481526020016002820180546123af90613c86565b80601f01602080910402602001604051908101604052809291908181526020018280546123db90613c86565b80156124265780601f106123fd57610100808354040283529160200191612426565b820191905f5260205f20905b81548152906001019060200180831161240957829003601f168201915b5050505050815260200160038201805461243f90613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461246b90613c86565b80156124b65780601f1061248d576101008083540402835291602001916124b6565b820191905f5260205f20905b81548152906001019060200180831161249957829003601f168201915b505050505081525050905080602001515f1415826040516020016124da9190614103565b604051602081830303815290604052906125075760405162461bcd60e51b8152600401611ff79190613fe8565b5061251282826134a0565b92915050565b6125426040518060800160405280606081526020015f815260200160608152602001606081525090565b815f036125615760405162461bcd60e51b8152600401611ff790613c42565b612569612b79565b5f828152600360205260408120805461258190613c86565b80601f01602080910402602001604051908101604052809291908181526020018280546125ad90613c86565b80156125f85780601f106125cf576101008083540402835291602001916125f8565b820191905f5260205f20905b8154815290600101906020018083116125db57829003601f168201915b5050505050905060018160405161260f9190613e1a565b90815260200160405180910390206040518060800160405290815f8201805461263790613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461266390613c86565b80156126ae5780601f10612685576101008083540402835291602001916126ae565b820191905f5260205f20905b81548152906001019060200180831161269157829003601f168201915b50505050508152602001600182015481526020016002820180546126d190613c86565b80601f01602080910402602001604051908101604052809291908181526020018280546126fd90613c86565b80156127485780601f1061271f57610100808354040283529160200191612748565b820191905f5260205f20905b81548152906001019060200180831161272b57829003601f168201915b5050505050815260200160038201805461276190613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461278d90613c86565b80156127d85780601f106127af576101008083540402835291602001916127d8565b820191905f5260205f20905b8154815290600101906020018083116127bb57829003601f168201915b50505091909252505050602081015160405163348051d760e11b8152600481018690529193501515905f8051602061443083398151915290636900a3ae906024015f60405180830381865afa158015612833573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261285a9190810190613eb7565b60405160200161286a9190614161565b604051602081830303815290604052906128975760405162461bcd60e51b8152600401611ff79190613fe8565b506128a281836134a0565b9392505050565b806040516020016128ba9190613e1a565b60405160208183030381529060405280519060200120826040516020016128e19190613e1a565b60405160208183030381529060405280519060200120146129e6577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516129689060208082526024908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472604082015263696e675d60e01b606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838260405161299f91906141bb565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516129d691906141fe565b60405180910390a16129e661377b565b5050565b8082146129e6577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051612a5b9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051612a929190614227565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516129d6919061425e565b6129e6826040518060600160405280845f01518152602001846020015181526020018460600151815250611fd7565b5f612b028261228b565b6060015160405163261a000d60e21b81529091505f8051602061443083398151915290639868003490612b39908490600401613fe8565b6020604051808303815f875af1158015612b55573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114089190614287565b5f5462010000900460ff1615612b8b57565b5f805462ff0000191662010000179055604080518082018252600580825264185b9d9a5b60da1b602080840191909152835160a0810185526060810192835264105b9d9a5b60da1b6080820152918252617a6982820152835180850185526015815274687474703a2f2f3132372e302e302e313a3835343560581b9181019190915292810192909252612c1d91613873565b612c97604051806040016040528060078152602001661b585a5b9b995d60ca1b81525060405180606001604052806040518060400160405280600781526020016613585a5b9b995d60ca1b8152508152602001600181526020016040518060600160405280603d81526020016144b2603d91399052613873565b612d0f60405180604001604052806006815260200165676f65726c6960d01b815250604051806060016040528060405180604001604052806006815260200165476f65726c6960d01b8152508152602001600581526020016040518060600160405280603c81526020016145ba603c91399052613873565b612d8b604051806040016040528060078152602001667365706f6c696160c81b8152506040518060600160405280604051806040016040528060078152602001665365706f6c696160c81b815250815260200162aa36a781526020016040518060600160405280603d8152602001614475603d91399052613873565b612e25604051806040016040528060088152602001676f7074696d69736d60c01b8152506040518060600160405280604051806040016040528060088152602001674f7074696d69736d60c01b8152508152602001600a81526020016040518060400160405280601b81526020017f68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f0000000000815250815250613873565b612ece6040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b81525060405180606001604052806040518060400160405280600f81526020016e4f7074696d69736d20476f65726c6960881b81525081526020016101a481526020016040518060400160405280601a81526020017f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f000000000000815250815250613873565b612f716040518060400160405280600c81526020016b617262697472756d5f6f6e6560a01b81525060405180606001604052806040518060400160405280600c81526020016b417262697472756d204f6e6560a01b815250815260200161a4b181526020016040518060400160405280601c81526020017f68747470733a2f2f617262312e617262697472756d2e696f2f72706300000000815250815250613873565b61300560405180604001604052806013815260200172617262697472756d5f6f6e655f676f65726c6960681b815250604051806060016040528060405180604001604052806013815260200172417262697472756d204f6e6520476f65726c6960681b815250815260200162066eed81526020016040518060600160405280602581526020016145f6602591399052613873565b6130aa6040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b81525060405180606001604052806040518060400160405280600d81526020016c417262697472756d204e6f766160981b815250815260200161a4ba81526020016040518060400160405280601c81526020017f68747470733a2f2f6e6f76612e617262697472756d2e696f2f72706300000000815250815250613873565b613142604051806040016040528060078152602001663837b63cb3b7b760c91b8152506040518060600160405280604051806040016040528060078152602001662837b63cb3b7b760c91b8152508152602001608981526020016040518060400160405280601781526020017f68747470733a2f2f706f6c79676f6e2d7270632e636f6d000000000000000000815250815250613873565b6131cc6040518060400160405280600e81526020016d706f6c79676f6e5f6d756d62616960901b81525060405180606001604052806040518060400160405280600e81526020016d506f6c79676f6e204d756d62616960901b8152508152602001620138818152602001604051806060016040528060218152602001614516602191399052613873565b61324b604051806040016040528060098152602001686176616c616e63686560b81b8152506040518060600160405280604051806040016040528060098152602001684176616c616e63686560b81b815250815260200161a86a8152602001604051806060016040528060258152602001614450602591399052613873565b6132d46040518060400160405280600e81526020016d6176616c616e6368655f66756a6960901b81525060405180606001604052806040518060400160405280600e81526020016d4176616c616e6368652046756a6960901b815250815260200161a86981526020016040518060600160405280602a815260200161461b602a91399052613873565b61335e6040518060400160405280600f81526020016e3137312fb9b6b0b93a2fb1b430b4b760891b81525060405180606001604052806040518060400160405280600f81526020016e2127211029b6b0b93a1021b430b4b760891b815250815260200160388152602001604051806060016040528060218152602001614645602191399052613873565b6133fe60405180604001604052806017815260200176189b9897dcdb585c9d17d8da185a5b97dd195cdd1b995d604a1b81525060405180606001604052806040518060400160405280601781526020017f424e4220536d61727420436861696e20546573746e65740000000000000000008152508152602001606181526020016040518060600160405280602781526020016144ef602791399052613873565b61039d6040518060400160405280600c81526020016b33b737b9b4b9afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b23b737b9b4b99021b430b4b760a11b8152508152602001606481526020016040518060400160405280601b81526020017f68747470733a2f2f7270632e676e6f736973636861696e2e636f6d0000000000815250815250613873565b6134ca6040518060800160405280606081526020015f815260200160608152602001606081525090565b8160600151515f036137755760405163975a6ce960e01b81525f805160206144308339815191529063975a6ce990613506908690600401613fe8565b5f60405180830381865afa92505050801561354257506040513d5f823e601f3d908101601f1916820160405261353f9190810190613eb7565b60015b61376f573d80801561356f576040519150601f19603f3d011682016040523d82523d5f602084013e613574565b606091505b505f61357f856138cb565b60405160200161358f919061429e565b60408051601f1981840301815291905260045490915060ff1615613668577f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b031663d145736c826002886040516135ef9190613e1a565b9081526040519081900360200181206001600160e01b031960e085901b16825261361c92916004016142c9565b5f604051808303815f875af1158015613637573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261365e9190810190613eb7565b60608501526136df565b60405163f877cb1960e01b81525f805160206144308339815191529063f877cb1990613698908490600401613fe8565b5f60405180830381865afa1580156136b2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136d99190810190613eb7565b60608501525b5f856040516020016136f1919061435f565b60408051601f198184030181529082905261370e91602401613fe8565b60408051601f19818403018152919052602080820180516001600160e01b0316630bc4450360e01b178152855191860191909120825190912091925014158061375a5750606085015151155b1561376757825183602001fd5b505050613775565b60608301525b50919050565b5f805160206144308339815191523b1561386357604080515f80516020614430833981519152602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526138069291602001613dea565b60408051601f198184030181529082905261382091613e1a565b5f604051808303815f865af19150503d805f8114613859576040519150601f19603f3d011682016040523d82523d5f602084013e61385e565b606091505b505050505b5f805461ff001916610100179055565b5f816040015190508060028460405161388c9190613e1a565b908152602001604051809103902090816138a69190614047565b50604080516020810182525f8152908301526138c28383611fd7565b60409091015250565b60605f8290505f815167ffffffffffffffff8111156138ec576138ec613ea3565b6040519080825280601f01601f191660200182016040528015613916576020820181803683370190505b5090505f5b82518110156139eb575f83828151811061393757613937614396565b01602001516001600160f81b0319169050606160f81b811080159061396a5750603d60f91b6001600160f81b0319821611155b156139ae5761397e602060f883901c6143be565b60f81b83838151811061399357613993614396565b60200101906001600160f81b03191690815f1a9053506139d8565b808383815181106139c1576139c1614396565b60200101906001600160f81b03191690815f1a9053505b50806139e3816143d7565b91505061391b565b509392505050565b5080546139ff90613c86565b5f825580601f10613a0e575050565b601f0160209004905f5260205f209081019061064d91905b80821115613a39575f8155600101613a26565b5090565b602080825282518282018190525f9190848201906040850190845b81811015613a7d5783516001600160a01b031683529284019291840191600101613a58565b50909695505050505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b84811015613b2b57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015613b165783516001600160e01b0319168252928b019260019290920191908b0190613aec565b50978a01979550505091870191600101613aaf565b50919998505050505050505050565b5f5b83811015613b54578181015183820152602001613b3c565b50505f910152565b5f8151808452613b73816020860160208601613b3a565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b82811015613bda57603f19888603018452613bc8858351613b5c565b94509285019290850190600101613bac565b5092979650505050505050565b602081525f61251260208301604381525f8051602061441083398151915260208201527f6e20616c6961732063616e6e6f742062652074686520656d707479207374726960408201526237339760e91b606082015260800190565b602081525f61251260208301603281525f8051602061455d83398151915260208201527134b71024a21031b0b73737ba10313290181760711b604082015260600190565b600181811c90821680613c9a57607f821691505b60208210810361377557634e487b7160e01b5f52602260045260245ffd5b604081525f613cec604083016015815274105490925514955357d393d59057d49410d7d55493605a1b602082015260400190565b828103602093840152600a8152696d796f7665727269646560b01b928101929092525060400190565b604081525f613d49604083016015815274105490925514955357d393d59057d49410d7d55493605a1b602082015260400190565b828103602093840152601c81527f68747470733a2f2f6e6f76612e617262697472756d2e696f2f72706300000000928101929092525060400190565b602081525f61251260208301604d81525f805160206143f083398151915260208201527f617461293a20436861696e20616c6961732063616e6e6f74206265207468652060408201526c32b6b83a3c9039ba3934b7339760991b606082015260800190565b6001600160e01b03198316815281515f90613e0c816004850160208701613b3a565b919091016004019392505050565b5f8251613e2b818460208701613b3a565b9190910192915050565b5f60208284031215613e45575f80fd5b815180151581146128a2575f80fd5b602081525f61251260208301603b81525f805160206143f083398151915260208201527f617461293a20436861696e2049442063616e6e6f7420626520302e0000000000604082015260600190565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613ec7575f80fd5b815167ffffffffffffffff80821115613ede575f80fd5b818401915084601f830112613ef1575f80fd5b815181811115613f0357613f03613ea3565b604051601f8201601f19908116603f01168101908382118183101715613f2b57613f2b613ea3565b81604052828152876020848701011115613f43575f80fd5b613f54836020830160208801613b3a565b979650505050505050565b5f805160206143f083398151915281526e030ba30949d1021b430b4b71024a21608d1b60208201525f8351613f9b81602f850160208801613b3a565b711030b63932b0b23c903ab9b2b210313c901160711b602f918401918201528351613fcd816041840160208801613b3a565b61111760f11b60419290910191820152604301949350505050565b602081525f6128a26020830184613b5c565b601f821115611408575f81815260208120601f850160051c810160208610156140205750805b601f850160051c820191505b8181101561403f5782815560010161402c565b505050505050565b815167ffffffffffffffff81111561406157614061613ea3565b6140758161406f8454613c86565b84613ffa565b602080601f8311600181146140a8575f84156140915750858301515b5f19600386901b1c1916600185901b17855561403f565b5f85815260208120601f198616915b828110156140d6578886015182559484019460019091019084016140b7565b50858210156140f357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f8051602061441083398151915281526d37103bb4ba341030b634b0b9901160911b60208201525f825161413e81602e850160208701613b3a565b6b11103737ba103337bab7321760a11b602e939091019283015250603a01919050565b5f8051602061455d83398151915281526a034b7103bb4ba341024a2160ad1b60208201525f825161419981602b850160208701613b3a565b6a103737ba103337bab7321760a91b602b939091019283015250603601919050565b604081525f6141e460408301600a8152690808080808081319599d60b21b602082015260400190565b82810360208401526141f68185613b5c565b949350505050565b604081525f6141e460408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f61425060408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b604081525f61425060408301600a8152690808080808149a59da1d60b21b602082015260400190565b5f60208284031215614297575f80fd5b5051919050565b5f82516142af818460208701613b3a565b6717d49410d7d5549360c21b920191825250600801919050565b604081525f6142db6040830185613b5c565b6020838203818501525f85546142f081613c86565b8085526001828116801561430b576001811461432557614350565b60ff1984168787015282151560051b870186019450614350565b895f52855f205f5b8481101561434857815489820189015290830190870161432d565b880187019550505b50929998505050505050505050565b6f034b73b30b634b210393831903ab936160851b81525f8251614389816010850160208701613b3a565b9190910160100192915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115612512576125126143aa565b5f600182016143e8576143e86143aa565b506001019056fe537464436861696e7320736574436861696e28737472696e672c436861696e44537464436861696e7320676574436861696e28737472696e67293a20436861690000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f72706368747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f663461306264616434323637346164616235666330616330373766666162326268747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f663461306264616434323637346164616235666330616330373766666162326268747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c68747470733a2f2f7270632d6d756d6261692e6d61746963766967696c2e636f6d68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f7270632f537464436861696e7320676574436861696e2875696e74323536293a2043686168747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f313661386265383837393535343062396233393033643864653066376261613568747470733a2f2f676f65726c692e696e667572612e696f2f76332f663461306264616434323637346164616235666330616330373766666162326268747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f72706368747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f72706368747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267a26469706673582212203dd16bfdfa29fa0b8b3865039f003e05534d6084988cf3d14e0dcf89f9f7d56d64736f6c63430008140033","sourceMap":"92:6758:293:-:0;;;1572:26:268;;;1594:4;-1:-1:-1;;1572:26:268;;;;;;;;3288:44:273;;;;;;;;;;;92:6758:293;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061016d575f3560e01c806390d09112116100d9578063bf6f51a911610093578063cf4f12721161006e578063cf4f12721461025b578063d1f6523514610263578063e20c9f711461026b578063fa7626d414610273575f80fd5b8063bf6f51a914610243578063cceac16d1461024b578063cd2feecf14610253575f80fd5b806390d0911214610203578063916a17c61461020b5780639a53677a14610213578063a370537e1461021b578063b5508aa914610223578063ba414fa61461022b575f80fd5b80635ba93af61161012a5780635ba93af6146101b95780635dbfa47f146101c157806366d9a9a0146101c95780637b44af7a146101de57806385226c81146101e65780638e7ffe2a146101fb575f80fd5b8063120a8613146101715780631ed7831c1461017b5780633e5e3c23146101995780633f7286f4146101a157806346a5a1da146101a957806349f4fab5146101b1575b5f80fd5b61017961027f565b005b61018361039f565b6040516101909190613a3d565b60405180910390f35b6101836103ff565b61018361045d565b6101796104bb565b610179610650565b610179610727565b610179610799565b6101d16107fd565b6040516101909190613a89565b6101796108e7565b6101ee6109c0565b6040516101909190613b87565b610179610a8b565b610179610e61565b6101d1610efd565b610179610fde565b610179611082565b6101ee61140d565b6102336114d8565b6040519015158152602001610190565b6101796115ed565b610179611874565b61017961191d565b610179611ad9565b610179611d7d565b610183611f79565b5f546102339060ff1681565b60405163f28dceb360e01b815260206004820152604d60248201525f805160206143f083398151915260448201527f617461293a20436861696e20494420333133333720616c72656164792075736560648201526c3210313c901130b73b34b6111760991b60848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b158015610318575f80fd5b505af115801561032a573d5f803e3d5ffd5b5050604080518082018252600681526530b73b34b61960d11b602080830191909152825160a08101845260056060820190815264105b9d9a5b60da1b60808301528152617a698183015283518085018552600381526215549360ea1b928101929092529283015261039d93509150611fd7565b565b6060600d8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f20905b81546001600160a01b031681526001909101906020018083116103d7575b5050505050905090565b6060600f8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116103d7575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116103d7575050505050905090565b60408051808201825260178152763732b2b239afbab73232b334b732b22fb2b73b2fbb30b960491b60208083019190915282516080810184525f60608201818152825263075bcd15828401528451928301855282529283015261051d91611fd7565b60405163f28dceb360e01b815260206004820152607f60248201527f4661696c656420746f207265736f6c766520656e76207661722060554e44454660448201527f494e45445f5250435f55524c5f504c414345484f4c4445526020696e2060247b60648201527f554e444546494e45445f5250435f55524c5f504c414345484f4c4445527d603a60848201527f20656e7669726f6e6d656e74207661726961626c65206e6f7420666f756e640060a48201525f805160206144308339815191529063f28dceb39060c4015f604051808303815f87803b1580156105ff575f80fd5b505af1158015610611573d5f803e3d5ffd5b5050505061064d604051806040016040528060178152602001763732b2b239afbab73232b334b732b22fb2b73b2fbb30b960491b81525061228b565b50565b60405163f28dceb360e01b815260206004820152604760248201525f8051602061441083398151915260448201527f6e207769746820616c69617320226e6f5f737563685f616c69617322206e6f74606482015266103337bab7321760c91b60848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b1580156106e3575f80fd5b505af11580156106f5573d5f803e3d5ffd5b5050505061064d6040518060400160405280600d81526020016c6e6f5f737563685f616c69617360981b81525061228b565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb39061075590600401613be7565b5f604051808303815f87803b15801561076c575f80fd5b505af115801561077e573d5f803e3d5ffd5b5050505061064d60405180602001604052805f81525061228b565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb3906107c790600401613c42565b5f604051808303815f87803b1580156107de575f80fd5b505af11580156107f0573d5f803e3d5ffd5b5050505061064d5f612518565b60606012805480602002602001604051908101604052809291908181526020015f905b828210156108de575f8481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156108c657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116108885790505b50505050508152505081526020019060010190610820565b50505050905090565b60405163f28dceb360e01b815260206004820152604860248201525f8051602061441083398151915260448201527f6e207769746820616c6961732022646f65735f6e6f745f657869737422206e6f6064820152673a103337bab7321760c11b60848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b15801561097b575f80fd5b505af115801561098d573d5f803e3d5ffd5b5050505061064d6040518060400160405280600e81526020016d191bd95cd7db9bdd17d95e1a5cdd60921b81525061228b565b60606011805480602002602001604051908101604052809291908181526020015f905b828210156108de578382905f5260205f20018054610a0090613c86565b80601f0160208091040260200160405190810160405280929190818152602001828054610a2c90613c86565b8015610a775780601f10610a4e57610100808354040283529160200191610a77565b820191905f5260205f20905b815481529060010190602001808311610a5a57829003601f168201915b5050505050815260200190600101906109e3565b610aba610a986001612518565b606001516040518060600160405280603d815260200161457d603d91396128a9565b610b2c610aed6040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b81525061228b565b606001516040518060400160405280601b81526020017f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f2f00000000008152506128a9565b610b85610b6360405180604001604052806013815260200172617262697472756d5f6f6e655f676f65726c6960681b81525061228b565b60600151604051806060016040528060268152602001614537602691396128a9565b610bf5610bb66040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b81525061228b565b606001516040518060400160405280601c81526020017f68747470733a2f2f6e6f76612e617262697472756d2e696f2f727063000000008152506128a9565b604051631eac91f760e11b81525f8051602061443083398151915290633d5923ee90610c2390600401613cb8565b5f604051808303815f87803b158015610c3a575f80fd5b505af1158015610c4c573d5f803e3d5ffd5b50505050610cad610c816040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b81525061228b565b606001516040518060400160405280600a8152602001696d796f7665727269646560b01b8152506128a9565b604051631eac91f760e11b81525f8051602061443083398151915290633d5923ee90610cdb90600401613d15565b5f604051808303815f87803b158015610cf2575f80fd5b505af1158015610d04573d5f803e3d5ffd5b505060408051631eac91f760e11b81526004810191909152600f60448201526e1350525393915517d49410d7d55493608a1b606482015260806024820152600b60848201526a36bcb7bb32b93934b2329960a91b60a48201525f805160206144308339815191529250633d5923ee915060c4015f604051808303815f87803b158015610d8e575f80fd5b505af1158015610da0573d5f803e3d5ffd5b50505050610dcf610a98604051806040016040528060078152602001661b585a5b9b995d60ca1b81525061228b565b610e14610ddd617a69612518565b6060015160405180604001604052806015815260200174687474703a2f2f3132372e302e302e313a3835343560581b8152506128a9565b61039d610e3f604051806040016040528060078152602001667365706f6c696160c81b81525061228b565b606001516040518060600160405280603d8152602001614475603d91396128a9565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb390610e8f90600401613d85565b5f604051808303815f87803b158015610ea6575f80fd5b505af1158015610eb8573d5f803e3d5ffd5b505060408051602080820183525f808352835160808101855260608101828152815263075bcd1581840152845192830185529082529283015261039d93509150611fd7565b60606013805480602002602001604051908101604052809291908181526020015f905b828210156108de575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610fc657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610f885790505b50505050508152505081526020019060010190610f20565b60405163f28dceb360e01b815260206004820152603960248201525f8051602061455d83398151915260448201527f696e207769746820494420333231206e6f7420666f756e642e0000000000000060648201525f805160206144308339815191529063f28dceb3906084015f604051808303815f87803b158015611061575f80fd5b505af1158015611073573d5f803e3d5ffd5b5050505061064d610141612518565b61111f6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b815250815260200163075bcd1581526020016040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b815250815250611fd7565b5f61114d6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525061228b565b9050611180815f01516040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b8152506128a9565b611192816020015163075bcd156129ea565b6111c481604001516040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b8152506128a9565b6111ff81606001516040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b8152506128a9565b5f61120d63075bcd15612518565b8051835191925061121d916128a9565b61122f816020015183602001516129ea565b611241816040015183604001516128a9565b611253816060015183606001516128a9565b60408051808201825260148082527320b737ba3432b91021bab9ba37b69021b430b4b760611b602080840191909152918552633ade68b185830152825180840190935282527330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b908201526112be9083612ac9565b5f6112f46040518060400160405280601481526020017330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b81525061228b565b905061132f815f01516040518060400160405280601481526020017320b737ba3432b91021bab9ba37b69021b430b4b760611b8152506128a9565b6113418160200151633ade68b16129ea565b61137b81604001516040518060400160405280601481526020017330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b8152506128a9565b6113b681606001516040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b8152506128a9565b6113c363075bcd15612518565b91506113f6825f01516040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b8152506128a9565b611408826020015163075bcd156129ea565b505050565b60606010805480602002602001604051908101604052809291908181526020015f905b828210156108de578382905f5260205f2001805461144d90613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461147990613c86565b80156114c45780601f1061149b576101008083540402835291602001916114c4565b820191905f5260205f20905b8154815290600101906020018083116114a757829003601f168201915b505050505081526020019060010190611430565b5f8054610100900460ff16156114f657505f54610100900460ff1690565b5f5f805160206144308339815191523b156115e857604080515f80516020614430833981519152602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091611574917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001613dea565b60408051601f198184030181529082905261158e91613e1a565b5f604051808303815f865af19150503d805f81146115c7576040519150601f19603f3d011682016040523d82523d5f602084013e6115cc565b606091505b50915050808060200190518101906115e49190613e35565b9150505b919050565b61168a6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b815250815260200163075bcd1581526020016040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b815250815250611fd7565b6116a861169a63075bcd15612518565b6020015163075bcd156129ea565b604080518082018252600c81526b31bab9ba37b6afb1b430b4b760a11b602080830191909152825160a081018452600e606082019081526d26b7b234b334b2b21021b430b4b760911b60808301528152633b9ac9ff8183015283518085018552601781527668747470733a2f2f6d6f6469666965642e636861696e2f60481b928101929092529283015261173b91611fd7565b60405163f28dceb360e01b815260206004820152603f60248201525f8051602061455d83398151915260448201527f696e207769746820494420313233343536373839206e6f7420666f756e642e0060648201525f805160206144308339815191529063f28dceb3906084015f604051808303815f87803b1580156117be575f80fd5b505af11580156117d0573d5f803e3d5ffd5b505050506117e163075bcd15612518565b505f6117f0633b9ac9ff612518565b9050611825815f01516040518060400160405280600e81526020016d26b7b234b334b2b21021b430b4b760911b8152506128a9565b6118378160200151633b9ac9ff6129ea565b61064d81606001516040518060400160405280601781526020017668747470733a2f2f6d6f6469666965642e636861696e2f60481b8152506128a9565b60405163f28dceb360e01b81525f805160206144308339815191529063f28dceb3906118a290600401613e54565b5f604051808303815f87803b1580156118b9575f80fd5b505af11580156118cb573d5f803e3d5ffd5b50506040805180820182526005815264616c69617360d81b60208083019190915282516080810184525f6060820181815282528183018190528451928301855282529283015261039d93509150611fd7565b6119ba6040518060400160405280600c81526020016b31bab9ba37b6afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b21bab9ba37b69021b430b4b760a11b815250815260200163075bcd1581526020016040518060400160405280601581526020017468747470733a2f2f637573746f6d2e636861696e2f60581b815250815250611fd7565b60405163f28dceb360e01b815260206004820152605860248201525f805160206143f083398151915260448201527f617461293a20436861696e2049442031323334353637383920616c726561647960648201527f20757365642062792022637573746f6d5f636861696e222e000000000000000060848201525f805160206144308339815191529063f28dceb39060a4015f604051808303815f87803b158015611a63575f80fd5b505af1158015611a75573d5f803e3d5ffd5b5050604080518082018252601481527330b737ba3432b92fb1bab9ba37b6afb1b430b4b760611b60208083019190915282516080810184525f60608201818152825263075bcd15828401528451928301855282529283015261039d93509150611fd7565b611b01604051806040016040528060078152602001661b585a5b9b995d60ca1b815250612af8565b611b2860405180604001604052806006815260200165676f65726c6960d01b815250612af8565b611b50604051806040016040528060078152602001667365706f6c696160c81b815250612af8565b611b79604051806040016040528060088152602001676f7074696d69736d60c01b815250612af8565b611ba96040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b815250612af8565b611bd66040518060400160405280600c81526020016b617262697472756d5f6f6e6560a01b815250612af8565b611c0a60405180604001604052806013815260200172617262697472756d5f6f6e655f676f65726c6960681b815250612af8565b611c386040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b815250612af8565b611c60604051806040016040528060078152602001663837b63cb3b7b760c91b815250612af8565b611c8f6040518060400160405280600e81526020016d706f6c79676f6e5f6d756d62616960901b815250612af8565b611cb9604051806040016040528060098152602001686176616c616e63686560b81b815250612af8565b611ce86040518060400160405280600e81526020016d6176616c616e6368655f66756a6960901b815250612af8565b611d186040518060400160405280600f81526020016e3137312fb9b6b0b93a2fb1b430b4b760891b815250612af8565b611d5060405180604001604052806017815260200176189b9897dcdb585c9d17d8da185a5b97dd195cdd1b995d604a1b815250612af8565b61039d6040518060400160405280600c81526020016b33b737b9b4b9afb1b430b4b760a11b815250612af8565b6004805460ff1916905560405163f28dceb360e01b815260206004820152606360248201527f4661696c656420746f2067657420656e7669726f6e6d656e742076617269616260448201527f6c652060414e56494c5f5250435f55524c60206173207479706520607374726960648201527f6e67603a20656e7669726f6e6d656e74207661726961626c65206e6f7420666f6084820152621d5b9960ea1b60a48201525f805160206144308339815191529063f28dceb39060c4015f604051808303815f87803b158015611e4f575f80fd5b505af1158015611e61573d5f803e3d5ffd5b50505050611e70617a69612518565b5060405163f28dceb360e01b815260206004820152606560248201527f4661696c656420746f2067657420656e7669726f6e6d656e742076617269616260448201527f6c6520605345504f4c49415f5250435f55524c6020617320747970652060737460648201527f72696e67603a20656e7669726f6e6d656e74207661726961626c65206e6f7420608482015264199bdd5b9960da1b60a48201525f805160206144308339815191529063f28dceb39060c4015f604051808303815f87803b158015611f3b575f80fd5b505af1158015611f4d573d5f803e3d5ffd5b5050505061064d604051806040016040528060078152602001667365706f6c696160c81b81525061228b565b6060600c8054806020026020016040519081016040528092919081815260200182805480156103f557602002820191905f5260205f209081546001600160a01b031681526001909101906020018083116103d7575050505050905090565b81515f036120005760405162461bcd60e51b8152600401611ff790613d85565b60405180910390fd5b80602001515f036120235760405162461bcd60e51b8152600401611ff790613e54565b61202b612b79565b6020808201515f908152600390915260408120805461204990613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461207590613c86565b80156120c05780601f10612097576101008083540402835291602001916120c0565b820191905f5260205f20905b8154815290600101906020018083116120a357829003601f168201915b5050505050905080515f14806120e3575082805190602001208180519060200120145b602083015160405163348051d760e11b815260048101919091525f8051602061443083398151915290636900a3ae906024015f60405180830381865afa15801561212f573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526121569190810190613eb7565b82604051602001612168929190613f5f565b604051602081830303815290604052906121955760405162461bcd60e51b8152600401611ff79190613fe8565b505f6001846040516121a79190613e1a565b908152602001604051809103902060010154905060035f8281526020019081526020015f205f6121d791906139f3565b6040518060800160405280845f015181526020018460200151815260200185815260200184604001518152506001856040516122139190613e1a565b908152604051908190036020019020815181906122309082614047565b50602082015160018201556040820151600282019061224f9082614047565b50606082015160038201906122649082614047565b5050506020808401515f9081526003909152604090206122848582614047565b5050505050565b6122b56040518060800160405280606081526020015f815260200160608152602001606081525090565b81515f036122d55760405162461bcd60e51b8152600401611ff790613be7565b6122dd612b79565b6001826040516122ed9190613e1a565b90815260200160405180910390206040518060800160405290815f8201805461231590613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461234190613c86565b801561238c5780601f106123635761010080835404028352916020019161238c565b820191905f5260205f20905b81548152906001019060200180831161236f57829003601f168201915b50505050508152602001600182015481526020016002820180546123af90613c86565b80601f01602080910402602001604051908101604052809291908181526020018280546123db90613c86565b80156124265780601f106123fd57610100808354040283529160200191612426565b820191905f5260205f20905b81548152906001019060200180831161240957829003601f168201915b5050505050815260200160038201805461243f90613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461246b90613c86565b80156124b65780601f1061248d576101008083540402835291602001916124b6565b820191905f5260205f20905b81548152906001019060200180831161249957829003601f168201915b505050505081525050905080602001515f1415826040516020016124da9190614103565b604051602081830303815290604052906125075760405162461bcd60e51b8152600401611ff79190613fe8565b5061251282826134a0565b92915050565b6125426040518060800160405280606081526020015f815260200160608152602001606081525090565b815f036125615760405162461bcd60e51b8152600401611ff790613c42565b612569612b79565b5f828152600360205260408120805461258190613c86565b80601f01602080910402602001604051908101604052809291908181526020018280546125ad90613c86565b80156125f85780601f106125cf576101008083540402835291602001916125f8565b820191905f5260205f20905b8154815290600101906020018083116125db57829003601f168201915b5050505050905060018160405161260f9190613e1a565b90815260200160405180910390206040518060800160405290815f8201805461263790613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461266390613c86565b80156126ae5780601f10612685576101008083540402835291602001916126ae565b820191905f5260205f20905b81548152906001019060200180831161269157829003601f168201915b50505050508152602001600182015481526020016002820180546126d190613c86565b80601f01602080910402602001604051908101604052809291908181526020018280546126fd90613c86565b80156127485780601f1061271f57610100808354040283529160200191612748565b820191905f5260205f20905b81548152906001019060200180831161272b57829003601f168201915b5050505050815260200160038201805461276190613c86565b80601f016020809104026020016040519081016040528092919081815260200182805461278d90613c86565b80156127d85780601f106127af576101008083540402835291602001916127d8565b820191905f5260205f20905b8154815290600101906020018083116127bb57829003601f168201915b50505091909252505050602081015160405163348051d760e11b8152600481018690529193501515905f8051602061443083398151915290636900a3ae906024015f60405180830381865afa158015612833573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261285a9190810190613eb7565b60405160200161286a9190614161565b604051602081830303815290604052906128975760405162461bcd60e51b8152600401611ff79190613fe8565b506128a281836134a0565b9392505050565b806040516020016128ba9190613e1a565b60405160208183030381529060405280519060200120826040516020016128e19190613e1a565b60405160208183030381529060405280519060200120146129e6577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516129689060208082526024908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472604082015263696e675d60e01b606082015260800190565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf35838260405161299f91906141bb565b60405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516129d691906141fe565b60405180910390a16129e661377b565b5050565b8082146129e6577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051612a5b9060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a882604051612a929190614227565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8816040516129d6919061425e565b6129e6826040518060600160405280845f01518152602001846020015181526020018460600151815250611fd7565b5f612b028261228b565b6060015160405163261a000d60e21b81529091505f8051602061443083398151915290639868003490612b39908490600401613fe8565b6020604051808303815f875af1158015612b55573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114089190614287565b5f5462010000900460ff1615612b8b57565b5f805462ff0000191662010000179055604080518082018252600580825264185b9d9a5b60da1b602080840191909152835160a0810185526060810192835264105b9d9a5b60da1b6080820152918252617a6982820152835180850185526015815274687474703a2f2f3132372e302e302e313a3835343560581b9181019190915292810192909252612c1d91613873565b612c97604051806040016040528060078152602001661b585a5b9b995d60ca1b81525060405180606001604052806040518060400160405280600781526020016613585a5b9b995d60ca1b8152508152602001600181526020016040518060600160405280603d81526020016144b2603d91399052613873565b612d0f60405180604001604052806006815260200165676f65726c6960d01b815250604051806060016040528060405180604001604052806006815260200165476f65726c6960d01b8152508152602001600581526020016040518060600160405280603c81526020016145ba603c91399052613873565b612d8b604051806040016040528060078152602001667365706f6c696160c81b8152506040518060600160405280604051806040016040528060078152602001665365706f6c696160c81b815250815260200162aa36a781526020016040518060600160405280603d8152602001614475603d91399052613873565b612e25604051806040016040528060088152602001676f7074696d69736d60c01b8152506040518060600160405280604051806040016040528060088152602001674f7074696d69736d60c01b8152508152602001600a81526020016040518060400160405280601b81526020017f68747470733a2f2f6d61696e6e65742e6f7074696d69736d2e696f0000000000815250815250613873565b612ece6040518060400160405280600f81526020016e6f7074696d69736d5f676f65726c6960881b81525060405180606001604052806040518060400160405280600f81526020016e4f7074696d69736d20476f65726c6960881b81525081526020016101a481526020016040518060400160405280601a81526020017f68747470733a2f2f676f65726c692e6f7074696d69736d2e696f000000000000815250815250613873565b612f716040518060400160405280600c81526020016b617262697472756d5f6f6e6560a01b81525060405180606001604052806040518060400160405280600c81526020016b417262697472756d204f6e6560a01b815250815260200161a4b181526020016040518060400160405280601c81526020017f68747470733a2f2f617262312e617262697472756d2e696f2f72706300000000815250815250613873565b61300560405180604001604052806013815260200172617262697472756d5f6f6e655f676f65726c6960681b815250604051806060016040528060405180604001604052806013815260200172417262697472756d204f6e6520476f65726c6960681b815250815260200162066eed81526020016040518060600160405280602581526020016145f6602591399052613873565b6130aa6040518060400160405280600d81526020016c617262697472756d5f6e6f766160981b81525060405180606001604052806040518060400160405280600d81526020016c417262697472756d204e6f766160981b815250815260200161a4ba81526020016040518060400160405280601c81526020017f68747470733a2f2f6e6f76612e617262697472756d2e696f2f72706300000000815250815250613873565b613142604051806040016040528060078152602001663837b63cb3b7b760c91b8152506040518060600160405280604051806040016040528060078152602001662837b63cb3b7b760c91b8152508152602001608981526020016040518060400160405280601781526020017f68747470733a2f2f706f6c79676f6e2d7270632e636f6d000000000000000000815250815250613873565b6131cc6040518060400160405280600e81526020016d706f6c79676f6e5f6d756d62616960901b81525060405180606001604052806040518060400160405280600e81526020016d506f6c79676f6e204d756d62616960901b8152508152602001620138818152602001604051806060016040528060218152602001614516602191399052613873565b61324b604051806040016040528060098152602001686176616c616e63686560b81b8152506040518060600160405280604051806040016040528060098152602001684176616c616e63686560b81b815250815260200161a86a8152602001604051806060016040528060258152602001614450602591399052613873565b6132d46040518060400160405280600e81526020016d6176616c616e6368655f66756a6960901b81525060405180606001604052806040518060400160405280600e81526020016d4176616c616e6368652046756a6960901b815250815260200161a86981526020016040518060600160405280602a815260200161461b602a91399052613873565b61335e6040518060400160405280600f81526020016e3137312fb9b6b0b93a2fb1b430b4b760891b81525060405180606001604052806040518060400160405280600f81526020016e2127211029b6b0b93a1021b430b4b760891b815250815260200160388152602001604051806060016040528060218152602001614645602191399052613873565b6133fe60405180604001604052806017815260200176189b9897dcdb585c9d17d8da185a5b97dd195cdd1b995d604a1b81525060405180606001604052806040518060400160405280601781526020017f424e4220536d61727420436861696e20546573746e65740000000000000000008152508152602001606181526020016040518060600160405280602781526020016144ef602791399052613873565b61039d6040518060400160405280600c81526020016b33b737b9b4b9afb1b430b4b760a11b81525060405180606001604052806040518060400160405280600c81526020016b23b737b9b4b99021b430b4b760a11b8152508152602001606481526020016040518060400160405280601b81526020017f68747470733a2f2f7270632e676e6f736973636861696e2e636f6d0000000000815250815250613873565b6134ca6040518060800160405280606081526020015f815260200160608152602001606081525090565b8160600151515f036137755760405163975a6ce960e01b81525f805160206144308339815191529063975a6ce990613506908690600401613fe8565b5f60405180830381865afa92505050801561354257506040513d5f823e601f3d908101601f1916820160405261353f9190810190613eb7565b60015b61376f573d80801561356f576040519150601f19603f3d011682016040523d82523d5f602084013e613574565b606091505b505f61357f856138cb565b60405160200161358f919061429e565b60408051601f1981840301815291905260045490915060ff1615613668577f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c6001600160a01b031663d145736c826002886040516135ef9190613e1a565b9081526040519081900360200181206001600160e01b031960e085901b16825261361c92916004016142c9565b5f604051808303815f875af1158015613637573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261365e9190810190613eb7565b60608501526136df565b60405163f877cb1960e01b81525f805160206144308339815191529063f877cb1990613698908490600401613fe8565b5f60405180830381865afa1580156136b2573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526136d99190810190613eb7565b60608501525b5f856040516020016136f1919061435f565b60408051601f198184030181529082905261370e91602401613fe8565b60408051601f19818403018152919052602080820180516001600160e01b0316630bc4450360e01b178152855191860191909120825190912091925014158061375a5750606085015151155b1561376757825183602001fd5b505050613775565b60608301525b50919050565b5f805160206144308339815191523b1561386357604080515f80516020614430833981519152602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526138069291602001613dea565b60408051601f198184030181529082905261382091613e1a565b5f604051808303815f865af19150503d805f8114613859576040519150601f19603f3d011682016040523d82523d5f602084013e61385e565b606091505b505050505b5f805461ff001916610100179055565b5f816040015190508060028460405161388c9190613e1a565b908152602001604051809103902090816138a69190614047565b50604080516020810182525f8152908301526138c28383611fd7565b60409091015250565b60605f8290505f815167ffffffffffffffff8111156138ec576138ec613ea3565b6040519080825280601f01601f191660200182016040528015613916576020820181803683370190505b5090505f5b82518110156139eb575f83828151811061393757613937614396565b01602001516001600160f81b0319169050606160f81b811080159061396a5750603d60f91b6001600160f81b0319821611155b156139ae5761397e602060f883901c6143be565b60f81b83838151811061399357613993614396565b60200101906001600160f81b03191690815f1a9053506139d8565b808383815181106139c1576139c1614396565b60200101906001600160f81b03191690815f1a9053505b50806139e3816143d7565b91505061391b565b509392505050565b5080546139ff90613c86565b5f825580601f10613a0e575050565b601f0160209004905f5260205f209081019061064d91905b80821115613a39575f8155600101613a26565b5090565b602080825282518282018190525f9190848201906040850190845b81811015613a7d5783516001600160a01b031683529284019291840191600101613a58565b50909695505050505050565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b84811015613b2b57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015613b165783516001600160e01b0319168252928b019260019290920191908b0190613aec565b50978a01979550505091870191600101613aaf565b50919998505050505050505050565b5f5b83811015613b54578181015183820152602001613b3c565b50505f910152565b5f8151808452613b73816020860160208601613b3a565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b82811015613bda57603f19888603018452613bc8858351613b5c565b94509285019290850190600101613bac565b5092979650505050505050565b602081525f61251260208301604381525f8051602061441083398151915260208201527f6e20616c6961732063616e6e6f742062652074686520656d707479207374726960408201526237339760e91b606082015260800190565b602081525f61251260208301603281525f8051602061455d83398151915260208201527134b71024a21031b0b73737ba10313290181760711b604082015260600190565b600181811c90821680613c9a57607f821691505b60208210810361377557634e487b7160e01b5f52602260045260245ffd5b604081525f613cec604083016015815274105490925514955357d393d59057d49410d7d55493605a1b602082015260400190565b828103602093840152600a8152696d796f7665727269646560b01b928101929092525060400190565b604081525f613d49604083016015815274105490925514955357d393d59057d49410d7d55493605a1b602082015260400190565b828103602093840152601c81527f68747470733a2f2f6e6f76612e617262697472756d2e696f2f72706300000000928101929092525060400190565b602081525f61251260208301604d81525f805160206143f083398151915260208201527f617461293a20436861696e20616c6961732063616e6e6f74206265207468652060408201526c32b6b83a3c9039ba3934b7339760991b606082015260800190565b6001600160e01b03198316815281515f90613e0c816004850160208701613b3a565b919091016004019392505050565b5f8251613e2b818460208701613b3a565b9190910192915050565b5f60208284031215613e45575f80fd5b815180151581146128a2575f80fd5b602081525f61251260208301603b81525f805160206143f083398151915260208201527f617461293a20436861696e2049442063616e6e6f7420626520302e0000000000604082015260600190565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215613ec7575f80fd5b815167ffffffffffffffff80821115613ede575f80fd5b818401915084601f830112613ef1575f80fd5b815181811115613f0357613f03613ea3565b604051601f8201601f19908116603f01168101908382118183101715613f2b57613f2b613ea3565b81604052828152876020848701011115613f43575f80fd5b613f54836020830160208801613b3a565b979650505050505050565b5f805160206143f083398151915281526e030ba30949d1021b430b4b71024a21608d1b60208201525f8351613f9b81602f850160208801613b3a565b711030b63932b0b23c903ab9b2b210313c901160711b602f918401918201528351613fcd816041840160208801613b3a565b61111760f11b60419290910191820152604301949350505050565b602081525f6128a26020830184613b5c565b601f821115611408575f81815260208120601f850160051c810160208610156140205750805b601f850160051c820191505b8181101561403f5782815560010161402c565b505050505050565b815167ffffffffffffffff81111561406157614061613ea3565b6140758161406f8454613c86565b84613ffa565b602080601f8311600181146140a8575f84156140915750858301515b5f19600386901b1c1916600185901b17855561403f565b5f85815260208120601f198616915b828110156140d6578886015182559484019460019091019084016140b7565b50858210156140f357878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f8051602061441083398151915281526d37103bb4ba341030b634b0b9901160911b60208201525f825161413e81602e850160208701613b3a565b6b11103737ba103337bab7321760a11b602e939091019283015250603a01919050565b5f8051602061455d83398151915281526a034b7103bb4ba341024a2160ad1b60208201525f825161419981602b850160208701613b3a565b6a103737ba103337bab7321760a91b602b939091019283015250603601919050565b604081525f6141e460408301600a8152690808080808081319599d60b21b602082015260400190565b82810360208401526141f68185613b5c565b949350505050565b604081525f6141e460408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f61425060408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b604081525f61425060408301600a8152690808080808149a59da1d60b21b602082015260400190565b5f60208284031215614297575f80fd5b5051919050565b5f82516142af818460208701613b3a565b6717d49410d7d5549360c21b920191825250600801919050565b604081525f6142db6040830185613b5c565b6020838203818501525f85546142f081613c86565b8085526001828116801561430b576001811461432557614350565b60ff1984168787015282151560051b870186019450614350565b895f52855f205f5b8481101561434857815489820189015290830190870161432d565b880187019550505b50929998505050505050505050565b6f034b73b30b634b210393831903ab936160851b81525f8251614389816010850160208701613b3a565b9190910160100192915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b60ff8281168282160390811115612512576125126143aa565b5f600182016143e8576143e86143aa565b506001019056fe537464436861696e7320736574436861696e28737472696e672c436861696e44537464436861696e7320676574436861696e28737472696e67293a20436861690000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d68747470733a2f2f6170692e617661782e6e6574776f726b2f6578742f62632f432f72706368747470733a2f2f7365706f6c69612e696e667572612e696f2f76332f663461306264616434323637346164616235666330616330373766666162326268747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f663461306264616434323637346164616235666330616330373766666162326268747470733a2f2f7270632e616e6b722e636f6d2f6273635f746573746e65745f63686170656c68747470733a2f2f7270632d6d756d6261692e6d61746963766967696c2e636f6d68747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f7270632f537464436861696e7320676574436861696e2875696e74323536293a2043686168747470733a2f2f6d61696e6e65742e696e667572612e696f2f76332f313661386265383837393535343062396233393033643864653066376261613568747470733a2f2f676f65726c692e696e667572612e696f2f76332f663461306264616434323637346164616235666330616330373766666162326268747470733a2f2f676f65726c692d726f6c6c75702e617262697472756d2e696f2f72706368747470733a2f2f6170692e617661782d746573742e6e6574776f726b2f6578742f62632f432f72706368747470733a2f2f6273632d6461746173656564312e62696e616e63652e6f7267a26469706673582212203dd16bfdfa29fa0b8b3865039f003e05534d6084988cf3d14e0dcf89f9f7d56d64736f6c63430008140033","sourceMap":"92:6758:293:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2284:218;;;:::i;:::-;;2161:134:276;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2930:133;;;:::i;2631:141::-;;;:::i;2508:341:293:-;;;:::i;5317:182::-;;;:::i;5148:163::-;;;:::i;4999:143::-;;;:::i;2447:178:276:-;;;:::i;:::-;;;;;;;:::i;2095:183:293:-;;;:::i;2301:140:276:-;;;:::i;:::-;;;;;;;:::i;129:1198:293:-;;;:::i;4604:203::-;;;:::i;2778:146:276:-;;;:::i;5505:157:293:-;;;:::i;3207:1391::-;;;:::i;1866:141:276:-;;;:::i;1819:584:268:-;;;:::i;:::-;;;3755:14:310;;3748:22;3730:41;;3718:2;3703:18;1819:584:268;3590:187:310;5668:662:293;;;:::i;4813:180::-;;;:::i;2855:346::-;;;:::i;1559:530::-;;;:::i;6336:512::-;;;:::i;2013:142:276:-;;;:::i;1572:26:268:-;;;;;;;;;2284:218:293;2335:98;;-1:-1:-1;;;2335:98:293;;3983:2:310;2335:98:293;;;3965:21:310;4022:2;4002:18;;;3995:30;-1:-1:-1;;;;;;;;;;;4041:18:310;;;4034:62;4132:34;4112:18;;;4105:62;-1:-1:-1;;;4183:19:310;;;4176:67;-1:-1:-1;;;;;;;;;;;2335:15:293;;;4260:19:310;;2335:98:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2443:52:293;;;;;;;;;;;-1:-1:-1;;;2443:52:293;;;;;;;;2462:32;;;;;;;;;;;;;;-1:-1:-1;;;2462:32:293;;;;;;2481:5;2462:32;;;;;;;;;;;;;;-1:-1:-1;;;2462:32:293;;;;;;;;;;;2443:52;;-1:-1:-1;2443:52:293;-1:-1:-1;2443:8:293;:52::i;:::-;2284:218::o;2161:134:276:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:276;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;2930:133::-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:276;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:276;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;2508:341:293:-;2554:65;;;;;;;;;;;-1:-1:-1;;;2554:65:293;;;;;;;;2590:28;;;;;;;-1:-1:-1;2590:28:293;;;;;;;;2604:9;2590:28;;;;;;;;;;;;;;;;;2554:65;;:8;:65::i;:::-;2629:168;;-1:-1:-1;;;2629:168:293;;4491:2:310;2629:168:293;;;4473:21:310;4530:3;4510:18;;;4503:31;4570:34;4550:18;;;4543:62;4641:34;4621:18;;;4614:62;4713:34;4692:19;;;4685:63;4785:33;4764:19;;;4757:62;-1:-1:-1;;;;;;;;;;;2629:15:293;;;4836:19:310;;2629:168:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2807:35;;;;;;;;;;;;;;-1:-1:-1;;;2807:35:293;;;:8;:35::i;:::-;;2508:341::o;5317:182::-;5365:92;;-1:-1:-1;;;5365:92:293;;5067:2:310;5365:92:293;;;5049:21:310;5106:2;5086:18;;;5079:30;-1:-1:-1;;;;;;;;;;;5125:18:310;;;5118:62;5216:66;5196:18;;;5189:94;-1:-1:-1;;;5299:19:310;;;5292:38;-1:-1:-1;;;;;;;;;;;5365:15:293;;;5347:19:310;;5365:92:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5467:25;;;;;;;;;;;;;;-1:-1:-1;;;5467:25:293;;;:8;:25::i;5148:163::-;5196:86;;-1:-1:-1;;;5196:86:293;;-1:-1:-1;;;;;;;;;;;5196:15:293;;;:86;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5292:12;;;;;;;;;;;;;:8;:12::i;4999:143::-;5045:69;;-1:-1:-1;;;5045:69:293;;-1:-1:-1;;;;;;;;;;;5045:15:293;;;:69;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5124:11;5133:1;5124:8;:11::i;2447:178:276:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;2095:183:293:-;2142:93;;-1:-1:-1;;;2142:93:293;;6665:2:310;2142:93:293;;;6647:21:310;6704:2;6684:18;;;6677:30;-1:-1:-1;;;;;;;;;;;6723:18:310;;;6716:62;6814:66;6794:18;;;6787:94;-1:-1:-1;;;6897:19:310;;;6890:39;-1:-1:-1;;;;;;;;;;;2142:15:293;;;6946:19:310;;2142:93:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2245:26;;;;;;;;;;;;;;-1:-1:-1;;;2245:26:293;;;:8;:26::i;2301:140:276:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;129:1198:293;247:93;256:11;265:1;256:8;:11::i;:::-;:18;;;247:93;;;;;;;;;;;;;;;;;:8;:93::i;:::-;350:75;359:27;;;;;;;;;;;;;;-1:-1:-1;;;359:27:293;;;:8;:27::i;:::-;:34;;;350:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;435:90;444:31;;;;;;;;;;;;;;-1:-1:-1;;;444:31:293;;;:8;:31::i;:::-;:38;;;435:90;;;;;;;;;;;;;;;;;:8;:90::i;:::-;597:74;606:25;;;;;;;;;;;;;;-1:-1:-1;;;606:25:293;;;:8;:25::i;:::-;:32;;;597:74;;;;;;;;;;;;;;;;;:8;:74::i;:::-;681:48;;-1:-1:-1;;;681:48:293;;-1:-1:-1;;;;;;;;;;;681:9:293;;;:48;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;739:56;748:25;;;;;;;;;;;;;;-1:-1:-1;;;748:25:293;;;:8;:25::i;:::-;:32;;;739:56;;;;;;;;;;;;;-1:-1:-1;;;739:56:293;;;:8;:56::i;:::-;805:66;;-1:-1:-1;;;805:66:293;;-1:-1:-1;;;;;;;;;;;805:9:293;;;:66;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;940:43:293;;;-1:-1:-1;;;940:43:293;;;;;8945:21:310;;;;9002:2;8982:18;;;8975:30;-1:-1:-1;;;9021:18:310;;;9014:45;9097:3;9075:20;;;9068:33;9138:2;9117:19;;;9110:31;-1:-1:-1;;;9157:19:310;;;9150:42;-1:-1:-1;;;;;;;;;;;940:9:293;-1:-1:-1;940:9:293;;-1:-1:-1;9209:19:310;;940:43:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;993:101;1002:19;;;;;;;;;;;;;;-1:-1:-1;;;1002:19:293;;;:8;:19::i;993:101::-;1152:57;1161:15;1170:5;1161:8;:15::i;:::-;:22;;;1152:57;;;;;;;;;;;;;-1:-1:-1;;;1152:57:293;;;:8;:57::i;:::-;1219:101;1228:19;;;;;;;;;;;;;;-1:-1:-1;;;1228:19:293;;;:8;:19::i;:::-;:26;;;1219:101;;;;;;;;;;;;;;;;;:8;:101::i;4604:203::-;4652:96;;-1:-1:-1;;;4652:96:293;;-1:-1:-1;;;;;;;;;;;4652:15:293;;;:96;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4758:42:293;;;;;;;;;-1:-1:-1;4758:42:293;;;4771:28;;;;;;;;;;;;;;;4785:9;4771:28;;;;;;;;;;;;;;;;;;4758:42;;-1:-1:-1;4758:42:293;-1:-1:-1;4758:8:293;:42::i;2778:146:276:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5505:157:293;5556:76;;-1:-1:-1;;;5556:76:293;;10019:2:310;5556:76:293;;;10001:21:310;10058:2;10038:18;;;10031:30;-1:-1:-1;;;;;;;;;;;10077:18:310;;;10070:62;10168:27;10148:18;;;10141:55;-1:-1:-1;;;;;;;;;;;5556:15:293;;;10213:19:310;;5556:76:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5642:13;5651:3;5642:8;:13::i;3207:1391::-;3248:87;;;;;;;;;;;;;;-1:-1:-1;;;3248:87:293;;;3273:61;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3273:61:293;;;;;;;3299:9;3273:61;;;;;;;;;;;;;;;;;-1:-1:-1;;;3273:61:293;;;;;;3248:8;:87::i;:::-;3345:24;3372;;;;;;;;;;;;;;-1:-1:-1;;;3372:24:293;;;:8;:24::i;:::-;3345:51;;3406:42;3415:11;:16;;;3406:42;;;;;;;;;;;;;-1:-1:-1;;;3406:42:293;;;:8;:42::i;:::-;3458:40;3467:11;:19;;;3488:9;3458:8;:40::i;:::-;3508:48;3517:11;:22;;;3508:48;;;;;;;;;;;;;-1:-1:-1;;;3508:48:293;;;:8;:48::i;:::-;3566:53;3575:11;:18;;;3566:53;;;;;;;;;;;;;-1:-1:-1;;;3566:53:293;;;:8;:53::i;:::-;3629:22;3654:19;3663:9;3654:8;:19::i;:::-;3692:14;;3708:16;;3629:44;;-1:-1:-1;3683:42:293;;:8;:42::i;:::-;3735:48;3744:9;:17;;;3763:11;:19;;;3735:8;:48::i;:::-;3793:54;3802:9;:20;;;3824:11;:22;;;3793:8;:54::i;:::-;3857:46;3866:9;:16;;;3884:11;:18;;;3857:8;:46::i;:::-;3913:41;;;;;;;;;;;;-1:-1:-1;;;3913:41:293;;;;;;;;;;;3986:9;3964:19;;;:31;4005:45;;;;;;;;;;-1:-1:-1;;;4005:45:293;;;;;;3913:11;4005:8;:45::i;:::-;4060:31;4094:32;;;;;;;;;;;;;;-1:-1:-1;;;4094:32:293;;;:8;:32::i;:::-;4060:66;;4136:57;4145:18;:23;;;4136:57;;;;;;;;;;;;;-1:-1:-1;;;4136:57:293;;;:8;:57::i;:::-;4203:47;4212:18;:26;;;4240:9;4203:8;:47::i;:::-;4260:63;4269:18;:29;;;4260:63;;;;;;;;;;;;;-1:-1:-1;;;4260:63:293;;;:8;:63::i;:::-;4333:60;4342:18;:25;;;4333:60;;;;;;;;;;;;;-1:-1:-1;;;4333:60:293;;;:8;:60::i;:::-;4474:19;4483:9;4474:8;:19::i;:::-;4462:31;;4503:40;4512:9;:14;;;4503:40;;;;;;;;;;;;;-1:-1:-1;;;4503:40:293;;;:8;:40::i;:::-;4553:38;4562:9;:17;;;4581:9;4553:8;:38::i;:::-;3238:1360;;;3207:1391::o;1866:141:276:-;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:268;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:268;;;;;;;;1819:584::o;1869:528::-;1941:17;-1:-1:-1;;;;;;;;;;;2985:55:268;3066:16;1980:374;;2196:43;;;-1:-1:-1;;;;;;;;;;;2196:43:268;;;10417:51:310;;;-1:-1:-1;;;10484:18:310;;;10477:34;2196:43:268;;;;;;;;;10390:18:310;;;2196:43:268;;;-1:-1:-1;;1671:64:268;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:268;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:268:o;5668:662:293:-;5721:87;;;;;;;;;;;;;;-1:-1:-1;;;5721:87:293;;;5746:61;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5746:61:293;;;;;;;5772:9;5746:61;;;;;;;;;;;;;;;;;-1:-1:-1;;;5746:61:293;;;;;;5721:8;:87::i;:::-;5818:48;5827:19;5836:9;5827:8;:19::i;:::-;:27;;;5856:9;5818:8;:48::i;:::-;5877:91;;;;;;;;;;;-1:-1:-1;;;5877:91:293;;;;;;;;5902:65;;;;;;;;;;;;;;-1:-1:-1;;;5902:65:293;;;;;;5930:9;5902:65;;;;;;;;;;;;;;-1:-1:-1;;;5902:65:293;;;;;;;;;;;5877:91;;:8;:91::i;:::-;5978:82;;-1:-1:-1;;;5978:82:293;;11686:2:310;5978:82:293;;;11668:21:310;11725:2;11705:18;;;11698:30;-1:-1:-1;;;;;;;;;;;11744:18:310;;;11737:62;11835:33;11815:18;;;11808:61;-1:-1:-1;;;;;;;;;;;5978:15:293;;;11886:19:310;;5978:82:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6070:19;6079:9;6070:8;:19::i;:::-;;6100:26;6129:19;6138:9;6129:8;:19::i;:::-;6100:48;;6158:46;6167:13;:18;;;6158:46;;;;;;;;;;;;;-1:-1:-1;;;6158:46:293;;;:8;:46::i;:::-;6214:42;6223:13;:21;;;6246:9;6214:8;:42::i;:::-;6266:57;6275:13;:20;;;6266:57;;;;;;;;;;;;;-1:-1:-1;;;6266:57:293;;;:8;:57::i;4813:180::-;4859:78;;-1:-1:-1;;;4859:78:293;;-1:-1:-1;;;;;;;;;;;4859:15:293;;;:78;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4947:39:293;;;;;;;;;;;-1:-1:-1;;;4947:39:293;;;;;;;;4965:20;;;;;;;-1:-1:-1;4965:20:293;;;;;;;;;;;;;;;;;;;;;;;;;;;4947:39;;-1:-1:-1;4947:39:293;-1:-1:-1;4947:8:293;:39::i;2855:346::-;2916:87;;;;;;;;;;;;;;-1:-1:-1;;;2916:87:293;;;2941:61;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2941:61:293;;;;;;;2967:9;2941:61;;;;;;;;;;;;;;;;;-1:-1:-1;;;2941:61:293;;;;;;2916:8;:87::i;:::-;3014:107;;-1:-1:-1;;;3014:107:293;;12644:2:310;3014:107:293;;;12626:21:310;12683:2;12663:18;;;12656:30;-1:-1:-1;;;;;;;;;;;12702:18:310;;;12695:62;12793:34;12773:18;;;12766:62;12865:66;12844:19;;;12837:95;-1:-1:-1;;;;;;;;;;;3014:15:293;;;12949:19:310;;3014:107:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3132:62:293;;;;;;;;;;;-1:-1:-1;;;3132:62:293;;;;;;;;3165:28;;;;;;;-1:-1:-1;3165:28:293;;;;;;;;3179:9;3165:28;;;;;;;;;;;;;;;;;3132:62;;-1:-1:-1;3132:62:293;-1:-1:-1;3132:8:293;:62::i;1559:530::-;1596:18;;;;;;;;;;;;;;-1:-1:-1;;;1596:18:293;;;:7;:18::i;:::-;1624:17;;;;;;;;;;;;;;-1:-1:-1;;;1624:17:293;;;:7;:17::i;:::-;1651:18;;;;;;;;;;;;;;-1:-1:-1;;;1651:18:293;;;:7;:18::i;:::-;1679:19;;;;;;;;;;;;;;-1:-1:-1;;;1679:19:293;;;:7;:19::i;:::-;1708:26;;;;;;;;;;;;;;-1:-1:-1;;;1708:26:293;;;:7;:26::i;:::-;1744:23;;;;;;;;;;;;;;-1:-1:-1;;;1744:23:293;;;:7;:23::i;:::-;1777:30;;;;;;;;;;;;;;-1:-1:-1;;;1777:30:293;;;:7;:30::i;:::-;1817:24;;;;;;;;;;;;;;-1:-1:-1;;;1817:24:293;;;:7;:24::i;:::-;1851:18;;;;;;;;;;;;;;-1:-1:-1;;;1851:18:293;;;:7;:18::i;:::-;1879:25;;;;;;;;;;;;;;-1:-1:-1;;;1879:25:293;;;:7;:25::i;:::-;1914:20;;;;;;;;;;;;;;-1:-1:-1;;;1914:20:293;;;:7;:20::i;:::-;1944:25;;;;;;;;;;;;;;-1:-1:-1;;;1944:25:293;;;:7;:25::i;:::-;1979:26;;;;;;;;;;;;;;-1:-1:-1;;;1979:26:293;;;:7;:26::i;:::-;2015:34;;;;;;;;;;;;;;-1:-1:-1;;;2015:34:293;;;:7;:34::i;:::-;2059:23;;;;;;;;;;;;;;-1:-1:-1;;;2059:23:293;;;:7;:23::i;6336:512::-;7861:24:273;:37;;-1:-1:-1;;7861:37:273;;;6495:140:293;;-1:-1:-1;;;6495:140:293;;13180:2:310;6495:140:293;;;13162:21:310;13219:2;13199:18;;;13192:30;13258:34;13238:18;;;13231:62;13329:34;13309:18;;;13302:62;13401:34;13380:19;;;13373:63;-1:-1:-1;;;13452:19:310;;;13445:34;-1:-1:-1;;;;;;;;;;;6495:15:293;;;13496:19:310;;6495:140:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6645:15;6654:5;6645:8;:15::i;:::-;-1:-1:-1;6670:142:293;;-1:-1:-1;;;6670:142:293;;13727:2:310;6670:142:293;;;13709:21:310;13766:3;13746:18;;;13739:31;13806:34;13786:18;;;13779:62;13877:34;13857:18;;;13850:62;13949:34;13928:19;;;13921:63;-1:-1:-1;;;14000:19:310;;;13993:36;-1:-1:-1;;;;;;;;;;;6670:15:293;;;14046:19:310;;6670:142:293;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6822:19;;;;;;;;;;;;;;-1:-1:-1;;;6822:19:293;;;:8;:19::i;2013:142:276:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:276;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;4541:1164:273:-;4663:10;4657:24;4685:1;4657:29;4636:153;;;;-1:-1:-1;;;4636:153:273;;;;;;;:::i;:::-;;;;;;;;;4808:5;:13;;;4825:1;4808:18;4800:90;;;;-1:-1:-1;;;4800:90:273;;;;;;;:::i;:::-;4901:12;:10;:12::i;:::-;4960:13;;;;;4923:24;4950;;;:9;:24;;;;;;4923:51;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5012:10;5006:24;5034:1;5006:29;:93;;;;5087:10;5071:28;;;;;;5055:10;5039:28;;;;;;:60;5006:93;5258:13;;;;5246:26;;-1:-1:-1;;;5246:26:273;;;;;14786:25:310;;;;-1:-1:-1;;;;;;;;;;;5246:11:273;;;14759:18:310;;5246:26:273;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5246:26:273;;;;;;;;;;;;:::i;:::-;5337:10;5137:255;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4985:431;;;;;-1:-1:-1;;;4985:431:273;;;;;;;;:::i;:::-;;5427:18;5448:6;5455:10;5448:18;;;;;;:::i;:::-;;;;;;;;;;;;;:26;;;5427:47;;5491:9;:21;5501:10;5491:21;;;;;;;;;;;;5484:28;;;;:::i;:::-;5556:95;;;;;;;;5569:5;:10;;;5556:95;;;;5590:5;:13;;;5556:95;;;;5617:10;5556:95;;;;5637:5;:12;;;5556:95;;;5523:6;5530:10;5523:18;;;;;;:::i;:::-;;;;;;;;;;;;;;:128;;:18;;:128;;:18;:128;:::i;:::-;-1:-1:-1;5523:128:273;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5523:128:273;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;5671:13:273;;;;;5661:24;;;;:9;:24;;;;;;:37;5688:10;5661:24;:37;:::i;:::-;;4626:1079;;4541:1164;;:::o;3417:515::-;3487:18;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3487:18:273;3531:10;3525:24;3553:1;3525:29;3517:109;;;;-1:-1:-1;;;3517:109:273;;;;;;;:::i;:::-;3637:12;:10;:12::i;:::-;3667:6;3674:10;3667:18;;;;;;:::i;:::-;;;;;;;;;;;;;3659:26;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3716:5;:13;;;3733:1;3716:18;;3823:10;3755:96;;;;;;;;:::i;:::-;;;;;;;;;;;;;3695:167;;;;;-1:-1:-1;;;3695:167:273;;;;;;;;:::i;:::-;;3881:44;3907:10;3919:5;3881:25;:44::i;:::-;3873:52;3417:515;-1:-1:-1;;3417:515:273:o;3938:532::-;3999:18;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3999:18:273;4037:7;4048:1;4037:12;4029:75;;;;-1:-1:-1;;;4029:75:273;;;;;;;:::i;:::-;4114:12;:10;:12::i;:::-;4136:24;4163:18;;;:9;:18;;;;;4136:45;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4200:6;4207:10;4200:18;;;;;;:::i;:::-;;;;;;;;;;;;;4192:26;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4192:26:273;;;;-1:-1:-1;;;4250:13:273;;;;4353:20;;-1:-1:-1;;;4353:20:273;;;;;14786:25:310;;;4250:13:273;;-1:-1:-1;4250:18:273;;;-1:-1:-1;;;;;;;;;;;4353:11:273;;;14759:18:310;;4353:20:273;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4353:20:273;;;;;;;;;;;;:::i;:::-;4289:100;;;;;;;;:::i;:::-;;;;;;;;;;;;;4229:171;;;;;-1:-1:-1;;;4229:171:273;;;;;;;;:::i;:::-;;4419:44;4445:10;4457:5;4419:25;:44::i;:::-;4411:52;3938:532;-1:-1:-1;;;3938:532:273:o;14695:344:268:-;14831:1;14814:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;14804:30;;;;;;14797:1;14780:19;;;;;;;;:::i;:::-;;;;;;;;;;;;;14770:30;;;;;;:64;14766:267;;14855:43;;;;;21812:2:310;21794:21;;;21851:2;21831:18;;;21824:30;21890:34;21885:2;21870:18;;21863:62;-1:-1:-1;;;21956:2:310;21941:18;;21934:34;22000:3;21985:19;;21610:400;14855:43:268;;;;;;;;14917:33;14948:1;14917:33;;;;;;:::i;:::-;;;;;;;;14969;15000:1;14969:33;;;;;;:::i;:::-;;;;;;;;15016:6;:4;:6::i;:::-;14695:344;;:::o;5209:262::-;5271:1;5266;:6;5262:203;;5293:41;;;;;23435:2:310;23417:21;;;23474:2;23454:18;;;23447:30;23513:34;23508:2;23493:18;;23486:62;-1:-1:-1;;;23579:2:310;23564:18;;23557:32;23621:3;23606:19;;23233:398;5293:41:268;;;;;;;;5353:31;5382:1;5353:31;;;;;;:::i;:::-;;;;;;;;5403;5432:1;5403:31;;;;;;:::i;5776:195:273:-;5867:97;5876:10;5888:75;;;;;;;;5905:5;:10;;;5888:75;;;;5926:5;:13;;;5888:75;;;;5949:5;:12;;;5888:75;;;5867:8;:97::i;1333:152:293:-;1393:20;1416:18;1425:8;1416;:18::i;:::-;:25;;;1451:27;;-1:-1:-1;;;1451:27:293;;1416:25;;-1:-1:-1;;;;;;;;;;;;1451:19:293;;;:27;;1416:25;;1451:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7911:2350:273:-;7955:11;;;;;;;7951:24;;;7911:2350::o;7951:24::-;7985:11;:18;;-1:-1:-1;;7985:18:273;;;;;8100:86;;;;;;;;;;;;-1:-1:-1;;;8100:86:273;;;;;;;;8135:50;;;;;;;;;;;;;-1:-1:-1;;;8135:50:273;;;;;;;8154:5;8135:50;;;;;;;;;;;;;;-1:-1:-1;;;8135:50:273;;;;;;;;;;;;;;8100:86;;:25;:86::i;:::-;8196:148;;;;;;;;;;;;;;-1:-1:-1;;;8196:148:273;;;8246:88;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8246:88:273;;;;;;;8267:1;8246:88;;;;;;;;;;;;;;;;;;;;;;;8196:25;:148::i;:::-;8354:145;;;;;;;;;;;;;;-1:-1:-1;;;8354:145:273;;;8403:86;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8403:86:273;;;;;;;8423:1;8403:86;;;;;;;;;;;;;;;;;;;;;;;8354:25;:145::i;:::-;8509:155;;;;;;;;;;;;;;-1:-1:-1;;;8509:155:273;;;8559:95;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8559:95:273;;;;;;;8580:8;8559:95;;;;;;;;;;;;;;;;;;;;;;;8509:25;:155::i;:::-;8674:95;;;;;;;;;;;;;;-1:-1:-1;;;8674:95:273;;;8712:56;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8712:56:273;;;;;;;8734:2;8712:56;;;;;;;;;;;;;;;;;;;;;;;;8674:25;:95::i;:::-;8779:109;;;;;;;;;;;;;;-1:-1:-1;;;8779:109:273;;;8824:63;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8824:63:273;;;;;;;8853:3;8824:63;;;;;;;;;;;;;;;;;;;;;;;;8779:25;:109::i;:::-;8898:107;;;;;;;;;;;;;;-1:-1:-1;;;8898:107:273;;;8940:64;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8940:64:273;;;;;;;8966:5;8940:64;;;;;;;;;;;;;;;;;;;;;;;;8898:25;:107::i;:::-;9015:153;;;;;;;;;;;;;;-1:-1:-1;;;9015:153:273;;;9077:81;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9077:81:273;;;;;;;9110:6;9077:81;;;;;;;;;;;;;;;;;;;;;;;9015:25;:153::i;:::-;9178:109;;;;;;;;;;;;;;-1:-1:-1;;;9178:109:273;;;9221:65;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9221:65:273;;;;;;;9248:5;9221:65;;;;;;;;;;;;;;;;;;;;;;;;9178:25;:109::i;:::-;9297:90;;;;;;;;;;;;;;-1:-1:-1;;;9297:90:273;;;9334:52;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9334:52:273;;;;;;;9355:3;9334:52;;;;;;;;;;;;;;;;;;;;;;;;9297:25;:90::i;:::-;9397:138;;;;;;;;;;;;;;-1:-1:-1;;;9397:138:273;;;9454:71;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9454:71:273;;;;;;;9482:5;9454:71;;;;;;;;;;;;;;;;;;;;;;;9397:25;:138::i;:::-;9545:110;;;;;;;;;;;;;;-1:-1:-1;;;9545:110:273;;;9584:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9584:70:273;;;;;;;9607:5;9584:70;;;;;;;;;;;;;;;;;;;;;;;9545:25;:110::i;:::-;9665:147;;;;;;;;;;;;;;-1:-1:-1;;;9665:147:273;;;9722:80;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9722:80:273;;;;;;;9750:5;9722:80;;;;;;;;;;;;;;;;;;;;;;;9665:25;:147::i;:::-;9822:137;;;;;;;;;;;;;;-1:-1:-1;;;9822:137:273;;;9880:69;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9880:69:273;;;;;;;9909:2;9880:69;;;;;;;;;;;;;;;;;;;;;;;9822:25;:137::i;:::-;9969:171;;;;;;;;;;;;;;-1:-1:-1;;;9969:171:273;;;10047:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10084:2;10047:83;;;;;;;;;;;;;;;;;;;;;;;9969:25;:171::i;:::-;10150:104;;;;;;;;;;;;;;-1:-1:-1;;;10150:104:273;;;10192:61;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10192:61:273;;;;;;;10218:3;10192:61;;;;;;;;;;;;;;;;;;;;;;;;10150:25;:104::i;6564:1218::-;6662:12;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6662:12:273;6696:5;:12;;;6690:26;6720:1;6690:31;6686:1068;;6741:21;;-1:-1:-1;;;6741:21:273;;-1:-1:-1;;;;;;;;;;;6741:9:273;;;:21;;6751:10;;6741:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6741:21:273;;;;;;;;;;;;:::i;:::-;;;6737:1007;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6904:21;6952:20;6961:10;6952:8;:20::i;:::-;6935:50;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6935:50:273;;;;;;;;;7008:24;;6935:50;;-1:-1:-1;7008:24:273;;7004:214;;;2164:28;2156:37;;-1:-1:-1;;;;;7071:8:273;;7080:7;7089:14;7104:10;7089:26;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;;7071:45:273;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7071:45:273;;;;;;;;;;;;:::i;:::-;7056:12;;;:60;7004:214;;;7178:21;;-1:-1:-1;;;7178:21:273;;-1:-1:-1;;;;;;;;;;;7178:12:273;;;:21;;7191:7;;7178:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7178:21:273;;;;;;;;;;;;:::i;:::-;7163:12;;;:36;7004:214;7297:26;7432:10;7395:48;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7395:48:273;;;;;;;;;;7346:99;;;;;:::i;:::-;;;;-1:-1:-1;;7346:99:273;;;;;;;;;;;;;;;-1:-1:-1;;;;;7346:99:273;-1:-1:-1;;;7346:99:273;;;7495:14;;;;;;;;;7467:24;;;;;7346:99;;-1:-1:-1;7467:42:273;;;:77;;-1:-1:-1;7519:12:273;;;;7513:26;:31;7467:77;7463:267;;;7685:3;7679:10;7673:3;7669:2;7665:12;7658:32;7463:267;6886:858;;6861:883;6737:1007;;;6818:12;;;:27;6737:1007;-1:-1:-1;7770:5:273;6564:1218;-1:-1:-1;6564:1218:273:o;2409:432:268:-;-1:-1:-1;;;;;;;;;;;2985:55:268;3066:16;2452:359;;2652:67;;;-1:-1:-1;;;;;;;;;;;2652:67:268;;;26748:51:310;;;-1:-1:-1;;;26815:18:310;;;26808:34;;;;2712:4:268;26858:18:310;;;26851:34;2489:11:268;;1671:64;2586:43;;26721:18:310;;2652:67:268;;;-1:-1:-1;;2652:67:268;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:268;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:268;2820:7;:14;;-1:-1:-1;;2820:14:268;;;;;2409:432::o;10343:305:273:-;10446:20;10469:5;:12;;;10446:35;;10520:6;10491:14;10506:10;10491:26;;;;;;:::i;:::-;;;;;;;;;;;;;:35;;;;;;:::i;:::-;-1:-1:-1;10536:17:273;;;;;;;;-1:-1:-1;10536:17:273;;:12;;;:17;10563:27;10572:10;10536:5;10563:8;:27::i;:::-;10600:12;;;;:21;-1:-1:-1;10343:305:273:o;5977:451::-;6036:13;6061:17;6087:3;6061:30;;6101:17;6131:4;:11;6121:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6121:22:273;;6101:42;;6158:9;6153:240;6177:4;:11;6173:1;:15;6153:240;;;6209:8;6220:4;6225:1;6220:7;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;6220:7:273;;-1:-1:-1;;;;6245:9:273;;;;;:22;;-1:-1:-1;;;;;;;;;;6258:9:273;;;;6245:22;6241:142;;;6304:13;6315:2;6304:8;;;;:13;:::i;:::-;6297:21;;6287:4;6292:1;6287:7;;;;;;;;:::i;:::-;;;;:31;-1:-1:-1;;;;;6287:31:273;;;;;;;;;6241:142;;;6367:1;6357:4;6362:1;6357:7;;;;;;;;:::i;:::-;;;;:11;-1:-1:-1;;;;;6357:11:273;;;;;;;;;6241:142;-1:-1:-1;6190:3:273;;;;:::i;:::-;;;;6153:240;;;-1:-1:-1;6416:4:273;5977:451;-1:-1:-1;;;5977:451:273:o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:658:310:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:310;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:310;;14:658;-1:-1:-1;;;;;;14:658:310:o;677:1569::-;881:4;910:2;950;939:9;935:18;980:2;969:9;962:21;1003:6;1038;1032:13;1069:6;1061;1054:22;1095:2;1085:12;;1128:2;1117:9;1113:18;1106:25;;1190:2;1180:6;1177:1;1173:14;1162:9;1158:30;1154:39;1228:2;1220:6;1216:15;1249:1;1270;1280:937;1296:6;1291:3;1288:15;1280:937;;;1365:22;;;-1:-1:-1;;1361:36:310;1349:49;;1421:13;;1508:9;;-1:-1:-1;;;;;1504:35:310;1489:51;;1579:11;;1573:18;1611:15;;;1604:27;;;1692:19;;1461:15;;;1724:24;;;1814:21;;;;1859:1;;1782:2;1770:15;;;1873:236;1889:8;1884:3;1881:17;1873:236;;;1970:15;;-1:-1:-1;;;;;;1966:42:310;1952:57;;2078:17;;;;1917:1;1908:11;;;;;2035:14;;;;1873:236;;;-1:-1:-1;2195:12:310;;;;2132:5;-1:-1:-1;;;2160:15:310;;;;1322:1;1313:11;1280:937;;;-1:-1:-1;2234:6:310;;677:1569;-1:-1:-1;;;;;;;;;677:1569:310:o;2251:250::-;2336:1;2346:113;2360:6;2357:1;2354:13;2346:113;;;2436:11;;;2430:18;2417:11;;;2410:39;2382:2;2375:10;2346:113;;;-1:-1:-1;;2493:1:310;2475:16;;2468:27;2251:250::o;2506:271::-;2548:3;2586:5;2580:12;2613:6;2608:3;2601:19;2629:76;2698:6;2691:4;2686:3;2682:14;2675:4;2668:5;2664:16;2629:76;:::i;:::-;2759:2;2738:15;-1:-1:-1;;2734:29:310;2725:39;;;;2766:4;2721:50;;2506:271;-1:-1:-1;;2506:271:310:o;2782:803::-;2944:4;2973:2;3013;3002:9;2998:18;3043:2;3032:9;3025:21;3066:6;3101;3095:13;3132:6;3124;3117:22;3170:2;3159:9;3155:18;3148:25;;3232:2;3222:6;3219:1;3215:14;3204:9;3200:30;3196:39;3182:53;;3270:2;3262:6;3258:15;3291:1;3301:255;3315:6;3312:1;3309:13;3301:255;;;3408:2;3404:7;3392:9;3384:6;3380:22;3376:36;3371:3;3364:49;3436:40;3469:6;3460;3454:13;3436:40;:::i;:::-;3426:50;-1:-1:-1;3534:12:310;;;;3499:15;;;;3337:1;3330:9;3301:255;;;-1:-1:-1;3573:6:310;;2782:803;-1:-1:-1;;;;;;;2782:803:310:o;5665:276::-;5866:2;5855:9;5848:21;5829:4;5886:49;5931:2;5920:9;5916:18;5454:2;5442:15;;-1:-1:-1;;;;;;;;;;;5482:4:310;5473:14;;5466:58;5554:34;5549:2;5540:12;;5533:56;-1:-1:-1;;;5614:2:310;5605:12;;5598:27;5650:3;5641:13;;5377:283;6183:276;6384:2;6373:9;6366:21;6347:4;6404:49;6449:2;6438:9;6434:18;6023:2;6011:15;;-1:-1:-1;;;;;;;;;;;6051:4:310;6042:14;;6035:58;-1:-1:-1;;;6118:2:310;6109:12;;6102:42;6169:2;6160:12;;5946:232;6976:380;7055:1;7051:12;;;;7098;;;7119:61;;7173:4;7165:6;7161:17;7151:27;;7119:61;7226:2;7218:6;7215:14;7195:18;7192:38;7189:161;;7272:10;7267:3;7263:20;7260:1;7253:31;7307:4;7304:1;7297:15;7335:4;7332:1;7325:15;7536:548;7839:2;7828:9;7821:21;7802:4;7865:49;7910:2;7899:9;7895:18;7438:2;7426:15;;-1:-1:-1;;;7466:4:310;7457:14;;7450:47;7522:2;7513:12;;7361:170;7865:49;7950:22;;;7945:2;7930:18;;;7923:50;7997:2;7982:18;;-1:-1:-1;;;8016:15:310;;;8009:37;;;;-1:-1:-1;8075:2:310;8063:15;;7536:548::o;8089:566::-;8392:2;8381:9;8374:21;8355:4;8418:49;8463:2;8452:9;8448:18;7438:2;7426:15;;-1:-1:-1;;;7466:4:310;7457:14;;7450:47;7522:2;7513:12;;7361:170;8418:49;8503:22;;;8498:2;8483:18;;;8476:50;8550:2;8535:18;;8586:30;8569:15;;;8562:55;;;;-1:-1:-1;8646:2:310;8634:15;;8089:566::o;9537:276::-;9738:2;9727:9;9720:21;9701:4;9758:49;9803:2;9792:9;9788:18;9316:2;9304:15;;-1:-1:-1;;;;;;;;;;;9344:4:310;9335:14;;9328:58;9416:34;9411:2;9402:12;;9395:56;-1:-1:-1;;;9476:2:310;9467:12;;9460:37;9522:3;9513:13;;9239:293;10522:384;-1:-1:-1;;;;;;10707:33:310;;10695:46;;10764:13;;10677:3;;10786:74;10764:13;10849:1;10840:11;;10833:4;10821:17;;10786:74;:::i;:::-;10880:16;;;;10898:1;10876:24;;10522:384;-1:-1:-1;;;10522:384:310:o;10911:287::-;11040:3;11078:6;11072:13;11094:66;11153:6;11148:3;11141:4;11133:6;11129:17;11094:66;:::i;:::-;11176:16;;;;;10911:287;-1:-1:-1;;10911:287:310:o;11203:277::-;11270:6;11323:2;11311:9;11302:7;11298:23;11294:32;11291:52;;;11339:1;11336;11329:12;11291:52;11371:9;11365:16;11424:5;11417:13;11410:21;11403:5;11400:32;11390:60;;11446:1;11443;11436:12;12162:276;12363:2;12352:9;12345:21;12326:4;12383:49;12428:2;12417:9;12413:18;11993:2;11981:15;;-1:-1:-1;;;;;;;;;;;12021:4:310;12012:14;;12005:58;12093:29;12088:2;12079:12;;12072:51;12148:2;12139:12;;11916:241;14822:127;14883:10;14878:3;14874:20;14871:1;14864:31;14914:4;14911:1;14904:15;14938:4;14935:1;14928:15;14954:897;15034:6;15087:2;15075:9;15066:7;15062:23;15058:32;15055:52;;;15103:1;15100;15093:12;15055:52;15136:9;15130:16;15165:18;15206:2;15198:6;15195:14;15192:34;;;15222:1;15219;15212:12;15192:34;15260:6;15249:9;15245:22;15235:32;;15305:7;15298:4;15294:2;15290:13;15286:27;15276:55;;15327:1;15324;15317:12;15276:55;15356:2;15350:9;15378:2;15374;15371:10;15368:36;;;15384:18;;:::i;:::-;15459:2;15453:9;15427:2;15513:13;;-1:-1:-1;;15509:22:310;;;15533:2;15505:31;15501:40;15489:53;;;15557:18;;;15577:22;;;15554:46;15551:72;;;15603:18;;:::i;:::-;15643:10;15639:2;15632:22;15678:2;15670:6;15663:18;15718:7;15713:2;15708;15704;15700:11;15696:20;15693:33;15690:53;;;15739:1;15736;15729:12;15690:53;15752:68;15817:2;15812;15804:6;15800:15;15795:2;15791;15787:11;15752:68;:::i;:::-;15839:6;14954:897;-1:-1:-1;;;;;;;14954:897:310:o;15856:1060::-;-1:-1:-1;;;;;;;;;;;16363:3:310;16356:47;-1:-1:-1;;;16428:2:310;16423:3;16419:12;16412:39;16338:3;16480:6;16474:13;16496:73;16562:6;16557:2;16552:3;16548:12;16543:2;16535:6;16531:15;16496:73;:::i;:::-;-1:-1:-1;;;16628:2:310;16588:16;;;16620:11;;;16613:69;16707:13;;16729:74;16707:13;16789:2;16781:11;;16776:2;16764:15;;16729:74;:::i;:::-;-1:-1:-1;;;16863:2:310;16822:17;;;;16855:11;;;16848:35;16907:2;16899:11;;15856:1060;-1:-1:-1;;;;15856:1060:310:o;16921:220::-;17070:2;17059:9;17052:21;17033:4;17090:45;17131:2;17120:9;17116:18;17108:6;17090:45;:::i;17566:545::-;17668:2;17663:3;17660:11;17657:448;;;17704:1;17729:5;17725:2;17718:17;17774:4;17770:2;17760:19;17844:2;17832:10;17828:19;17825:1;17821:27;17815:4;17811:38;17880:4;17868:10;17865:20;17862:47;;;-1:-1:-1;17903:4:310;17862:47;17958:2;17953:3;17949:12;17946:1;17942:20;17936:4;17932:31;17922:41;;18013:82;18031:2;18024:5;18021:13;18013:82;;;18076:17;;;18057:1;18046:13;18013:82;;;18017:3;;;17566:545;;;:::o;18287:1352::-;18413:3;18407:10;18440:18;18432:6;18429:30;18426:56;;;18462:18;;:::i;:::-;18491:97;18581:6;18541:38;18573:4;18567:11;18541:38;:::i;:::-;18535:4;18491:97;:::i;:::-;18643:4;;18707:2;18696:14;;18724:1;18719:663;;;;19426:1;19443:6;19440:89;;;-1:-1:-1;19495:19:310;;;19489:26;19440:89;-1:-1:-1;;18244:1:310;18240:11;;;18236:24;18232:29;18222:40;18268:1;18264:11;;;18219:57;19542:81;;18689:944;;18719:663;17513:1;17506:14;;;17550:4;17537:18;;-1:-1:-1;;18755:20:310;;;18873:236;18887:7;18884:1;18881:14;18873:236;;;18976:19;;;18970:26;18955:42;;19068:27;;;;19036:1;19024:14;;;;18903:19;;18873:236;;;18877:3;19137:6;19128:7;19125:19;19122:201;;;19198:19;;;19192:26;-1:-1:-1;;19281:1:310;19277:14;;;19293:3;19273:24;19269:37;19265:42;19250:58;19235:74;;19122:201;-1:-1:-1;;;;;19369:1:310;19353:14;;;19349:22;19336:36;;-1:-1:-1;18287:1352:310:o;19926:721::-;-1:-1:-1;;;;;;;;;;;20284:3:310;20277:47;20363:30;20358:3;20354:40;20349:2;20344:3;20340:12;20333:62;20259:3;20424:6;20418:13;20440:73;20506:6;20501:2;20496:3;20492:12;20487:2;20479:6;20475:15;20440:73;:::i;:::-;-1:-1:-1;;;20572:2:310;20532:16;;;;20564:11;;;20557:57;-1:-1:-1;20638:2:310;20630:11;;19926:721;-1:-1:-1;19926:721:310:o;20934:671::-;-1:-1:-1;;;;;;;;;;;21292:3:310;21285:47;-1:-1:-1;;;21357:2:310;21352:3;21348:12;21341:35;21267:3;21405:6;21399:13;21421:73;21487:6;21482:2;21477:3;21473:12;21468:2;21460:6;21456:15;21421:73;:::i;:::-;-1:-1:-1;;;21553:2:310;21513:16;;;;21545:11;;;21538:34;-1:-1:-1;21596:2:310;21588:11;;20934:671;-1:-1:-1;20934:671:310:o;22179:440::-;22429:2;22418:9;22411:21;22392:4;22455:49;22500:2;22489:9;22485:18;22092:2;22080:15;;-1:-1:-1;;;22120:4:310;22111:14;;22104:36;22165:2;22156:12;;22015:159;22455:49;22552:9;22544:6;22540:22;22535:2;22524:9;22520:18;22513:50;22580:33;22606:6;22598;22580:33;:::i;:::-;22572:41;22179:440;-1:-1:-1;;;;22179:440:310:o;22788:::-;23038:2;23027:9;23020:21;23001:4;23064:49;23109:2;23098:9;23094:18;22701:2;22689:15;;-1:-1:-1;;;22729:4:310;22720:14;;22713:36;22774:2;22765:12;;22624:159;23636:348;23866:2;23855:9;23848:21;23829:4;23886:49;23931:2;23920:9;23916:18;22092:2;22080:15;;-1:-1:-1;;;22120:4:310;22111:14;;22104:36;22165:2;22156:12;;22015:159;23886:49;23878:57;;23971:6;23966:2;23955:9;23951:18;23944:34;23636:348;;;;:::o;23989:::-;24219:2;24208:9;24201:21;24182:4;24239:49;24284:2;24273:9;24269:18;22701:2;22689:15;;-1:-1:-1;;;22729:4:310;22720:14;;22713:36;22774:2;22765:12;;22624:159;24342:184;24412:6;24465:2;24453:9;24444:7;24440:23;24436:32;24433:52;;;24481:1;24478;24471:12;24433:52;-1:-1:-1;24504:16:310;;24342:184;-1:-1:-1;24342:184:310:o;24531:459::-;24763:3;24801:6;24795:13;24817:66;24876:6;24871:3;24864:4;24856:6;24852:17;24817:66;:::i;:::-;-1:-1:-1;;;24905:16:310;;24930:25;;;-1:-1:-1;24982:1:310;24971:13;;24531:459;-1:-1:-1;24531:459:310:o;24995:1093::-;25189:2;25178:9;25171:21;25152:4;25215:45;25256:2;25245:9;25241:18;25233:6;25215:45;:::i;:::-;25279:2;25329:9;25321:6;25317:22;25312:2;25301:9;25297:18;25290:50;25360:1;25393:6;25387:13;25423:36;25449:9;25423:36;:::i;:::-;25468:22;;;25509:1;25526:18;;;25553:152;;;;25719:1;25714:348;;;;25519:543;;25553:152;-1:-1:-1;;25598:24:310;;25581:15;;;25574:49;25673:14;;25666:22;25663:1;25659:30;25647:43;;25643:52;;;-1:-1:-1;25553:152:310;;25714:348;25745:6;25742:1;25735:17;25793:2;25790:1;25780:16;25818:1;25832:177;25846:6;25843:1;25840:13;25832:177;;;25936:14;;25915;;;25911:23;;25904:47;25979:16;;;;25861:10;;25832:177;;;26033:14;;26029:23;;;-1:-1:-1;;25519:543:310;-1:-1:-1;26079:3:310;;24995:1093;-1:-1:-1;;;;;;;;;24995:1093:310:o;26093:448::-;-1:-1:-1;;;26350:3:310;26343:31;26325:3;26403:6;26397:13;26419:75;26487:6;26482:2;26477:3;26473:12;26466:4;26458:6;26454:17;26419:75;:::i;:::-;26514:16;;;;26532:2;26510:25;;26093:448;-1:-1:-1;;26093:448:310:o;26896:127::-;26957:10;26952:3;26948:20;26945:1;26938:31;26988:4;26985:1;26978:15;27012:4;27009:1;27002:15;27028:127;27089:10;27084:3;27080:20;27077:1;27070:31;27120:4;27117:1;27110:15;27144:4;27141:1;27134:15;27160:151;27250:4;27243:12;;;27229;;;27225:31;;27268:14;;27265:40;;;27285:18;;:::i;27316:135::-;27355:3;27376:17;;;27373:43;;27396:18;;:::i;:::-;-1:-1:-1;27443:1:310;27432:13;;27316:135::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testCannotSetChain_ChainIdExists()":"cd2feecf","testChainAliasNotFound()":"9a53677a","testChainBubbleUp()":"46a5a1da","testChainIdNotFound()":"49f4fab5","testChainNoDefault()":"7b44af7a","testChainRpcInitialization()":"8e7ffe2a","testDontUseDefaultRpcUrl()":"d1f65235","testGetNoChainId0()":"5dbfa47f","testGetNoEmptyAlias()":"5ba93af6","testRpcs()":"cf4f1272","testSetChain()":"a370537e","testSetChainFirstFails()":"120a8613","testSetChain_ExistingOne()":"bf6f51a9","testSetNoChainId0()":"cceac16d","testSetNoEmptyAlias()":"90d09112"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotSetChain_ChainIdExists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChainAliasNotFound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChainBubbleUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChainIdNotFound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChainNoDefault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testChainRpcInitialization\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDontUseDefaultRpcUrl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetNoChainId0\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGetNoEmptyAlias\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRpcs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetChain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetChainFirstFails\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetChain_ExistingOne\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetNoChainId0\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testSetNoEmptyAlias\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol\":\"StdChainsTest\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol\":{\"keccak256\":\"0x115cb84997241fb5ef538d2fee72184b2e3b3f9891dca9079fb0caa82c75638e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f66080bd39a2427888f6973f34f2786e8ada7a21d13c28d99cbdb0b0e70088e8\",\"dweb:/ipfs/QmebiGEYj7uUP8DdgimKsJwqA8khd6oywNjaBJ4zwW2CSn\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotSetChain_ChainIdExists"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChainAliasNotFound"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChainBubbleUp"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChainIdNotFound"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChainNoDefault"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testChainRpcInitialization"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testDontUseDefaultRpcUrl"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGetNoChainId0"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGetNoEmptyAlias"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRpcs"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetChain"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetChainFirstFails"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetChain_ExistingOne"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetNoChainId0"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testSetNoEmptyAlias"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol":"StdChainsTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol":{"keccak256":"0x115cb84997241fb5ef538d2fee72184b2e3b3f9891dca9079fb0caa82c75638e","urls":["bzz-raw://f66080bd39a2427888f6973f34f2786e8ada7a21d13c28d99cbdb0b0e70088e8","dweb:/ipfs/QmebiGEYj7uUP8DdgimKsJwqA8khd6oywNjaBJ4zwW2CSn"],"license":"MIT"}},"version":1},"id":293}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":"StdCheats"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"}},"version":1},"id":274}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":"StdCheatsSafe"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"}},"version":1},"id":274}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"bar","inputs":[{"name":"expectedSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"origin","inputs":[{"name":"expectedSender","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"origin","inputs":[{"name":"expectedSender","type":"address","internalType":"address"},{"name":"expectedOrigin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6080604090815269021e19e0c9bab24000006001819055305f90815260208190529190912055610274806100325f395ff3fe608060405260043610610049575f3560e01c806318160ddd1461004d5780635559647714610074578063646ea56d1461008957806370a082311461009c578063a9b2e28a146100c7575b5f80fd5b348015610058575f80fd5b5061006260015481565b60405190815260200160405180910390f35b6100876100823660046101cd565b6100da565b005b6100876100973660046101cd565b610136565b3480156100a7575f80fd5b506100626100b63660046101cd565b5f6020819052908152604090205481565b6100876100d53660046101ed565b61015e565b336001600160a01b0382161461010b5760405162461bcd60e51b81526004016101029061021e565b60405180910390fd5b326001600160a01b038216146101335760405162461bcd60e51b81526004016101029061021e565b50565b336001600160a01b038216146101335760405162461bcd60e51b81526004016101029061021e565b336001600160a01b038316146101865760405162461bcd60e51b81526004016101029061021e565b326001600160a01b038216146101ae5760405162461bcd60e51b81526004016101029061021e565b5050565b80356001600160a01b03811681146101c8575f80fd5b919050565b5f602082840312156101dd575f80fd5b6101e6826101b2565b9392505050565b5f80604083850312156101fe575f80fd5b610207836101b2565b9150610215602084016101b2565b90509250929050565b602080825260069082015265217072616e6b60d01b60408201526060019056fea26469706673582212209754fcd6014a62841d01ee692a42c21f6b755f60eda6aaa7426cdf6b11bc159764736f6c63430008140033","sourceMap":"12355:798:294:-:0;;;;;12448:8;12434:11;:22;;;12484:4;12466:9;:24;;;;;;;;;;;:38;12355:798;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610610049575f3560e01c806318160ddd1461004d5780635559647714610074578063646ea56d1461008957806370a082311461009c578063a9b2e28a146100c7575b5f80fd5b348015610058575f80fd5b5061006260015481565b60405190815260200160405180910390f35b6100876100823660046101cd565b6100da565b005b6100876100973660046101cd565b610136565b3480156100a7575f80fd5b506100626100b63660046101cd565b5f6020819052908152604090205481565b6100876100d53660046101ed565b61015e565b336001600160a01b0382161461010b5760405162461bcd60e51b81526004016101029061021e565b60405180910390fd5b326001600160a01b038216146101335760405162461bcd60e51b81526004016101029061021e565b50565b336001600160a01b038216146101335760405162461bcd60e51b81526004016101029061021e565b336001600160a01b038316146101865760405162461bcd60e51b81526004016101029061021e565b326001600160a01b038216146101ae5760405162461bcd60e51b81526004016101029061021e565b5050565b80356001600160a01b03811681146101c8575f80fd5b919050565b5f602082840312156101dd575f80fd5b6101e6826101b2565b9392505050565b5f80604083850312156101fe575f80fd5b610207836101b2565b9150610215602084016101b2565b90509250929050565b602080825260069082015265217072616e6b60d01b60408201526060019056fea26469706673582212209754fcd6014a62841d01ee692a42c21f6b755f60eda6aaa7426cdf6b11bc159764736f6c63430008140033","sourceMap":"12355:798:294:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13124:26;;;;;;;;;;;;;;;;;;;160:25:310;;;148:2;133:18;13124:26:294;;;;;;;12664:175;;;;;;:::i;:::-;;:::i;:::-;;12542:116;;;;;;:::i;:::-;;:::i;13074:44::-;;;;;;;;;;-1:-1:-1;13074:44:294;;;;;:::i;:::-;;;;;;;;;;;;;;;12845:199;;;;;;:::i;:::-;;:::i;12664:175::-;12737:10;-1:-1:-1;;;;;12737:28:294;;;12729:47;;;;-1:-1:-1;;;12729:47:294;;;;;;;:::i;:::-;;;;;;;;;12794:9;-1:-1:-1;;;;;12794:27:294;;;12786:46;;;;-1:-1:-1;;;12786:46:294;;;;;;;:::i;:::-;12664:175;:::o;12542:116::-;12612:10;-1:-1:-1;;;;;12612:28:294;;;12604:47;;;;-1:-1:-1;;;12604:47:294;;;;;;;:::i;12845:199::-;12942:10;-1:-1:-1;;;;;12942:28:294;;;12934:47;;;;-1:-1:-1;;;12934:47:294;;;;;;;:::i;:::-;12999:9;-1:-1:-1;;;;;12999:27:294;;;12991:46;;;;-1:-1:-1;;;12991:46:294;;;;;;;:::i;:::-;12845:199;;:::o;196:173:310:-;264:20;;-1:-1:-1;;;;;313:31:310;;303:42;;293:70;;359:1;356;349:12;293:70;196:173;;;:::o;374:186::-;433:6;486:2;474:9;465:7;461:23;457:32;454:52;;;502:1;499;492:12;454:52;525:29;544:9;525:29;:::i;:::-;515:39;374:186;-1:-1:-1;;;374:186:310:o;565:260::-;633:6;641;694:2;682:9;673:7;669:23;665:32;662:52;;;710:1;707;700:12;662:52;733:29;752:9;733:29;:::i;:::-;723:39;;781:38;815:2;804:9;800:18;781:38;:::i;:::-;771:48;;565:260;;;;;:::o;830:329::-;1032:2;1014:21;;;1071:1;1051:18;;;1044:29;-1:-1:-1;;;1104:2:310;1089:18;;1082:36;1150:2;1135:18;;830:329::o","linkReferences":{}},"methodIdentifiers":{"balanceOf(address)":"70a08231","bar(address)":"646ea56d","origin(address)":"55596477","origin(address,address)":"a9b2e28a","totalSupply()":"18160ddd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"expectedSender\",\"type\":\"address\"}],\"name\":\"bar\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"expectedSender\",\"type\":\"address\"}],\"name\":\"origin\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"expectedSender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"expectedOrigin\",\"type\":\"address\"}],\"name\":\"origin\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"balanceOf(address)\":{\"notice\":\"`DEAL` STDCHEAT\"},\"bar(address)\":{\"notice\":\"`HOAX` STDCHEATS\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol\":\"Bar\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol\":{\"keccak256\":\"0x81a4440f678dbe79422169305e38e9d43f7ca19a22f102e3b69f109d9528a70e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d551cfbfb46ad416ff0eda56573a4fe969e5096c6f4d299f6b46813f8dad183\",\"dweb:/ipfs/QmawhMCHfBcjQs3iGEKsjHCT1zKQe7FN21gmx3VyZMnF6A\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"expectedSender","type":"address"}],"stateMutability":"payable","type":"function","name":"bar"},{"inputs":[{"internalType":"address","name":"expectedSender","type":"address"}],"stateMutability":"payable","type":"function","name":"origin"},{"inputs":[{"internalType":"address","name":"expectedSender","type":"address"},{"internalType":"address","name":"expectedOrigin","type":"address"}],"stateMutability":"payable","type":"function","name":"origin"},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"balanceOf(address)":{"notice":"`DEAL` STDCHEAT"},"bar(address)":{"notice":"`HOAX` STDCHEATS"}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol":"Bar"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol":{"keccak256":"0x81a4440f678dbe79422169305e38e9d43f7ca19a22f102e3b69f109d9528a70e","urls":["bzz-raw://1d551cfbfb46ad416ff0eda56573a4fe969e5096c6f4d299f6b46813f8dad183","dweb:/ipfs/QmawhMCHfBcjQs3iGEKsjHCT1zKQe7FN21gmx3VyZMnF6A"],"license":"MIT"}},"version":1},"id":294}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"}],"bytecode":{"object":"0x6080604090815269021e19e0c9bab24000007fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49819055305f9081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052919091205561010f806100705f395ff3fe6080604052348015600e575f80fd5b5060043610602f575f3560e01c8062fdd58e146033578063bd85b039146074575b5f80fd5b6062603e3660046090565b5f908152602081815260408083206001600160a01b03949094168352929052205490565b60405190815260200160405180910390f35b6062607f36600460c3565b5f9081526001602052604090205490565b5f806040838503121560a0575f80fd5b82356001600160a01b038116811460b5575f80fd5b946020939093013593505050565b5f6020828403121560d2575f80fd5b503591905056fea26469706673582212203dd55fc7f1b4c38f5c1869da7696bb3f326ecd7ec66ddbba7a7c28c75f3b634864736f6c63430008140033","sourceMap":"13155:595:294:-:0;;;;;13266:8;13248:15;:26;;;13305:4;13248:15;13284:27;;;:12;13248:15;13284:27;;;;;:45;13155:595;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052348015600e575f80fd5b5060043610602f575f3560e01c8062fdd58e146033578063bd85b039146074575b5f80fd5b6062603e3660046090565b5f908152602081815260408083206001600160a01b03949094168352929052205490565b60405190815260200160405180910390f35b6062607f36600460c3565b5f9081526001602052604090205490565b5f806040838503121560a0575f80fd5b82356001600160a01b038116811460b5575f80fd5b946020939093013593505050565b5f6020828403121560d2575f80fd5b503591905056fea26469706673582212203dd55fc7f1b4c38f5c1869da7696bb3f326ecd7ec66ddbba7a7c28c75f3b634864736f6c63430008140033","sourceMap":"13155:595:294:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13342:132;;;;;;:::i;:::-;13419:7;13445:13;;;;;;;;;;;-1:-1:-1;;;;;13445:22:294;;;;;;;;;;;;13342:132;;;;519:25:310;;;507:2;492:18;13342:132:294;;;;;;;13480:111;;;;;;:::i;:::-;13542:7;13568:16;;;:12;:16;;;;;;;13480:111;14:354:310;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;185:23;;-1:-1:-1;;;;;237:31:310;;227:42;;217:70;;283:1;280;273:12;217:70;306:5;358:2;343:18;;;;330:32;;-1:-1:-1;;;14:354:310:o;555:180::-;614:6;667:2;655:9;646:7;642:23;638:32;635:52;;;683:1;680;673:12;635:52;-1:-1:-1;706:23:310;;555:180;-1:-1:-1;555:180:310:o","linkReferences":{}},"methodIdentifiers":{"balanceOf(address,uint256)":"00fdd58e","totalSupply(uint256)":"bd85b039"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol\":\"BarERC1155\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol\":{\"keccak256\":\"0x81a4440f678dbe79422169305e38e9d43f7ca19a22f102e3b69f109d9528a70e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1d551cfbfb46ad416ff0eda56573a4fe969e5096c6f4d299f6b46813f8dad183\",\"dweb:/ipfs/QmawhMCHfBcjQs3iGEKsjHCT1zKQe7FN21gmx3VyZMnF6A\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"constructor"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol":"BarERC1155"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol":{"keccak256":"0x81a4440f678dbe79422169305e38e9d43f7ca19a22f102e3b69f109d9528a70e","urls":["bzz-raw://1d551cfbfb46ad416ff0eda56573a4fe969e5096c6f4d299f6b46813f8dad183","dweb:/ipfs/QmawhMCHfBcjQs3iGEKsjHCT1zKQe7FN21gmx3VyZMnF6A"],"license":"MIT"}},"version":1},"id":294}