@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":"constructor","inputs":[{"name":"minDelay","type":"uint256","internalType":"uint256"},{"name":"proposers","type":"address[]","internalType":"address[]"},{"name":"executors","type":"address[]","internalType":"address[]"},{"name":"admin","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"CANCELLER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EXECUTOR_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"PROPOSER_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"TIMELOCK_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"cancel","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"payload","type":"bytes","internalType":"bytes"},{"name":"predecessor","type":"bytes32","internalType":"bytes32"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"executeBatch","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"payloads","type":"bytes[]","internalType":"bytes[]"},{"name":"predecessor","type":"bytes32","internalType":"bytes32"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getMinDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTimestamp","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hashOperation","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"predecessor","type":"bytes32","internalType":"bytes32"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"hashOperationBatch","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"payloads","type":"bytes[]","internalType":"bytes[]"},{"name":"predecessor","type":"bytes32","internalType":"bytes32"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"isOperation","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperationDone","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperationPending","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isOperationReady","inputs":[{"name":"id","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"onERC1155BatchReceived","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC1155Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"schedule","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"predecessor","type":"bytes32","internalType":"bytes32"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"delay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"scheduleBatch","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"payloads","type":"bytes[]","internalType":"bytes[]"},{"name":"predecessor","type":"bytes32","internalType":"bytes32"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"delay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"updateDelay","inputs":[{"name":"newDelay","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"CallExecuted","inputs":[{"name":"id","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"CallSalt","inputs":[{"name":"id","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"salt","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CallScheduled","inputs":[{"name":"id","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"data","type":"bytes","indexed":false,"internalType":"bytes"},{"name":"predecessor","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"delay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Cancelled","inputs":[{"name":"id","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"MinDelayChange","inputs":[{"name":"oldDuration","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newDuration","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801562000010575f80fd5b50604051620022ad380380620022ad8339810160408190526200003391620003ef565b6200004d5f805160206200222d833981519152806200021d565b620000755f805160206200224d8339815191525f805160206200222d8339815191526200021d565b6200009d5f805160206200226d8339815191525f805160206200222d8339815191526200021d565b620000c55f805160206200228d8339815191525f805160206200222d8339815191526200021d565b620000df5f805160206200222d8339815191523062000267565b6001600160a01b038116156200010957620001095f805160206200222d8339815191528262000267565b5f5b83518110156200018c57620001515f805160206200224d8339815191528583815181106200013d576200013d62000471565b60200260200101516200026760201b60201c565b620001795f805160206200228d8339815191528583815181106200013d576200013d62000471565b620001848162000485565b90506200010b565b505f5b8251811015620001d457620001c15f805160206200226d8339815191528483815181106200013d576200013d62000471565b620001cc8162000485565b90506200018f565b506002849055604080515f8152602081018690527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a150505050620004aa565b5f82815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b62000273828262000277565b5050565b5f828152602081815260408083206001600160a01b038516845290915290205460ff1662000273575f828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002d13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b038116811462000340575f80fd5b919050565b5f82601f83011262000355575f80fd5b815160206001600160401b038083111562000374576200037462000315565b8260051b604051601f19603f830116810181811084821117156200039c576200039c62000315565b604052938452858101830193838101925087851115620003ba575f80fd5b83870191505b84821015620003e457620003d48262000329565b83529183019190830190620003c0565b979650505050505050565b5f805f806080858703121562000403575f80fd5b845160208601519094506001600160401b038082111562000422575f80fd5b620004308883890162000345565b9450604087015191508082111562000446575f80fd5b50620004558782880162000345565b925050620004666060860162000329565b905092959194509250565b634e487b7160e01b5f52603260045260245ffd5b5f60018201620004a357634e487b7160e01b5f52601160045260245ffd5b5060010190565b611d7580620004b85f395ff3fe6080604052600436106101b2575f3560e01c80638065657f116100e7578063bc197c8111610087578063d547741f11610062578063d547741f1461055d578063e38335e51461057c578063f23a6e611461058f578063f27a0c92146105ba575f80fd5b8063bc197c81146104e8578063c4d252f514610513578063d45c443514610532575f80fd5b806391d14854116100c257806391d1485414610464578063a217fddf14610483578063b08e51c014610496578063b1c5f427146104c9575f80fd5b80638065657f146103f35780638f2a0bb0146104125780638f61f4f514610431575f80fd5b8063248a9ca31161015257806331d507501161012d57806331d507501461037757806336568abe14610396578063584b153e146103b557806364d62353146103d4575f80fd5b8063248a9ca3146102fb5780632ab0f529146103295780632f2ff15d14610358575f80fd5b80630d3cf6fc1161018d5780630d3cf6fc14610253578063134008d31461028657806313bc9f2014610299578063150b7a02146102b8575f80fd5b806301d5062a146101bd57806301ffc9a7146101de57806307bd026514610212575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506101dc6101d73660046113ee565b6105ce565b005b3480156101e9575f80fd5b506101fd6101f836600461145c565b6106a2565b60405190151581526020015b60405180910390f35b34801561021d575f80fd5b506102457fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610209565b34801561025e575f80fd5b506102457f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101dc610294366004611483565b6106cc565b3480156102a4575f80fd5b506101fd6102b33660046114e9565b61077e565b3480156102c3575f80fd5b506102e26102d23660046115af565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610209565b348015610306575f80fd5b506102456103153660046114e9565b5f9081526020819052604090206001015490565b348015610334575f80fd5b506101fd6103433660046114e9565b5f908152600160208190526040909120541490565b348015610363575f80fd5b506101dc610372366004611612565b6107a3565b348015610382575f80fd5b506101fd6103913660046114e9565b6107cc565b3480156103a1575f80fd5b506101dc6103b0366004611612565b6107e4565b3480156103c0575f80fd5b506101fd6103cf3660046114e9565b610867565b3480156103df575f80fd5b506101dc6103ee3660046114e9565b61087c565b3480156103fe575f80fd5b5061024561040d366004611483565b610920565b34801561041d575f80fd5b506101dc61042c36600461167c565b61095e565b34801561043c575f80fd5b506102457fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561046f575f80fd5b506101fd61047e366004611612565b610aef565b34801561048e575f80fd5b506102455f81565b3480156104a1575f80fd5b506102457ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104d4575f80fd5b506102456104e3366004611724565b610b17565b3480156104f3575f80fd5b506102e2610502366004611840565b63bc197c8160e01b95945050505050565b34801561051e575f80fd5b506101dc61052d3660046114e9565b610b5b565b34801561053d575f80fd5b5061024561054c3660046114e9565b5f9081526001602052604090205490565b348015610568575f80fd5b506101dc610577366004611612565b610c2f565b6101dc61058a366004611724565b610c53565b34801561059a575f80fd5b506102e26105a93660046118e2565b63f23a6e6160e01b95945050505050565b3480156105c5575f80fd5b50600254610245565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16105f881610dd7565b5f610607898989898989610920565b90506106138184610de4565b5f817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161064e96959493929190611969565b60405180910390a3831561069757807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d03878560405161068e91815260200190565b60405180910390a25b505050505050505050565b5f6001600160e01b03198216630271189760e51b14806106c657506106c682610ed2565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106f7815f610aef565b610705576107058133610f06565b5f610714888888888888610920565b90506107208185610f5f565b61072c88888888610ffa565b5f817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161076394939291906119a5565b60405180910390a3610774816110c9565b5050505050505050565b5f8181526001602052604081205460018111801561079c5750428111155b9392505050565b5f828152602081905260409020600101546107bd81610dd7565b6107c78383611101565b505050565b5f8181526001602052604081205481905b1192915050565b6001600160a01b03811633146108595760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108638282611184565b5050565b5f8181526001602081905260408220546107dd565b3330146108df5760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610850565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b5f86868686868660405160200161093c96959493929190611969565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161098881610dd7565b8887146109a75760405162461bcd60e51b8152600401610850906119d6565b8885146109c65760405162461bcd60e51b8152600401610850906119d6565b5f6109d78b8b8b8b8b8b8b8b610b17565b90506109e38184610de4565b5f5b8a811015610aa05780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a2257610a22611a19565b9050602002016020810190610a379190611a2d565b8d8d86818110610a4957610a49611a19565b905060200201358c8c87818110610a6257610a62611a19565b9050602002810190610a749190611a46565b8c8b604051610a8896959493929190611969565b60405180910390a3610a9981611a9c565b90506109e5565b508315610ae257807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610ad991815260200190565b60405180910390a25b5050505050505050505050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f8888888888888888604051602001610b37989796959493929190611b40565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b8581610dd7565b610b8e82610867565b610bf45760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610850565b5f828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b5f82815260208190526040902060010154610c4981610dd7565b6107c78383611184565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c7e815f610aef565b610c8c57610c8c8133610f06565b878614610cab5760405162461bcd60e51b8152600401610850906119d6565b878414610cca5760405162461bcd60e51b8152600401610850906119d6565b5f610cdb8a8a8a8a8a8a8a8a610b17565b9050610ce78185610f5f565b5f5b89811015610dc1575f8b8b83818110610d0457610d04611a19565b9050602002016020810190610d199190611a2d565b90505f8a8a84818110610d2e57610d2e611a19565b905060200201359050365f8a8a86818110610d4b57610d4b611a19565b9050602002810190610d5d9190611a46565b91509150610d6d84848484610ffa565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610da494939291906119a5565b60405180910390a35050505080610dba90611a9c565b9050610ce9565b50610dcb816110c9565b50505050505050505050565b610de18133610f06565b50565b610ded826107cc565b15610e525760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610850565b600254811015610eb35760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610850565b610ebd8142611bdf565b5f928352600160205260409092209190915550565b5f6001600160e01b03198216637965db0b60e01b14806106c657506301ffc9a760e01b6001600160e01b03198316146106c6565b610f108282610aef565b61086357610f1d816111e8565b610f288360206111fa565b604051602001610f39929190611c14565b60408051601f198184030181529082905262461bcd60e51b825261085091600401611c88565b610f688261077e565b610f845760405162461bcd60e51b815260040161085090611cba565b801580610f9f57505f81815260016020819052604090912054145b6108635760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610850565b5f846001600160a01b0316848484604051611016929190611d04565b5f6040518083038185875af1925050503d805f8114611050576040519150601f19603f3d011682016040523d82523d5f602084013e611055565b606091505b50509050806110c25760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610850565b5050505050565b6110d28161077e565b6110ee5760405162461bcd60e51b815260040161085090611cba565b5f90815260016020819052604090912055565b61110b8282610aef565b610863575f828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111403390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61118e8282610aef565b15610863575f828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106c66001600160a01b03831660145b60605f611208836002611d13565b611213906002611bdf565b6001600160401b0381111561122a5761122a611500565b6040519080825280601f01601f191660200182016040528015611254576020820181803683370190505b509050600360fc1b815f8151811061126e5761126e611a19565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061129c5761129c611a19565b60200101906001600160f81b03191690815f1a9053505f6112be846002611d13565b6112c9906001611bdf565b90505b6001811115611340576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112fd576112fd611a19565b1a60f81b82828151811061131357611313611a19565b60200101906001600160f81b03191690815f1a90535060049490941c9361133981611d2a565b90506112cc565b50831561079c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610850565b80356001600160a01b03811681146113a5575f80fd5b919050565b5f8083601f8401126113ba575f80fd5b5081356001600160401b038111156113d0575f80fd5b6020830191508360208285010111156113e7575f80fd5b9250929050565b5f805f805f805f60c0888a031215611404575f80fd5b61140d8861138f565b96506020880135955060408801356001600160401b0381111561142e575f80fd5b61143a8a828b016113aa565b989b979a50986060810135976080820135975060a09091013595509350505050565b5f6020828403121561146c575f80fd5b81356001600160e01b03198116811461079c575f80fd5b5f805f805f8060a08789031215611498575f80fd5b6114a18761138f565b95506020870135945060408701356001600160401b038111156114c2575f80fd5b6114ce89828a016113aa565b979a9699509760608101359660809091013595509350505050565b5f602082840312156114f9575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561153c5761153c611500565b604052919050565b5f82601f830112611553575f80fd5b81356001600160401b0381111561156c5761156c611500565b61157f601f8201601f1916602001611514565b818152846020838601011115611593575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f80608085870312156115c2575f80fd5b6115cb8561138f565b93506115d96020860161138f565b92506040850135915060608501356001600160401b038111156115fa575f80fd5b61160687828801611544565b91505092959194509250565b5f8060408385031215611623575f80fd5b823591506116336020840161138f565b90509250929050565b5f8083601f84011261164c575f80fd5b5081356001600160401b03811115611662575f80fd5b6020830191508360208260051b85010111156113e7575f80fd5b5f805f805f805f805f60c08a8c031215611694575f80fd5b89356001600160401b03808211156116aa575f80fd5b6116b68d838e0161163c565b909b50995060208c01359150808211156116ce575f80fd5b6116da8d838e0161163c565b909950975060408c01359150808211156116f2575f80fd5b506116ff8c828d0161163c565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b5f805f805f805f8060a0898b03121561173b575f80fd5b88356001600160401b0380821115611751575f80fd5b61175d8c838d0161163c565b909a50985060208b0135915080821115611775575f80fd5b6117818c838d0161163c565b909850965060408b0135915080821115611799575f80fd5b506117a68b828c0161163c565b999c989b509699959896976060870135966080013595509350505050565b5f82601f8301126117d3575f80fd5b813560206001600160401b038211156117ee576117ee611500565b8160051b6117fd828201611514565b9283528481018201928281019087851115611816575f80fd5b83870192505b848310156118355782358252918301919083019061181c565b979650505050505050565b5f805f805f60a08688031215611854575f80fd5b61185d8661138f565b945061186b6020870161138f565b935060408601356001600160401b0380821115611886575f80fd5b61189289838a016117c4565b945060608801359150808211156118a7575f80fd5b6118b389838a016117c4565b935060808801359150808211156118c8575f80fd5b506118d588828901611544565b9150509295509295909350565b5f805f805f60a086880312156118f6575f80fd5b6118ff8661138f565b945061190d6020870161138f565b9350604086013592506060860135915060808601356001600160401b03811115611935575f80fd5b6118d588828901611544565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201525f61199060a083018688611941565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201525f6119cc606083018486611941565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a3d575f80fd5b61079c8261138f565b5f808335601e19843603018112611a5b575f80fd5b8301803591506001600160401b03821115611a74575f80fd5b6020019150368190038213156113e7575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611aad57611aad611a88565b5060010190565b8183525f6020808501808196508560051b81019150845f5b87811015611b335782840389528135601e19883603018112611aec575f80fd5b870185810190356001600160401b03811115611b06575f80fd5b803603821315611b14575f80fd5b611b1f868284611941565b9a87019a9550505090840190600101611acc565b5091979650505050505050565b60a080825281018890525f8960c08301825b8b811015611b80576001600160a01b03611b6b8461138f565b16825260209283019290910190600101611b52565b5083810360208501528881526001600160fb1b03891115611b9f575f80fd5b8860051b9150818a60208301370182810360209081016040850152611bc79082018789611ab4565b60608401959095525050608001529695505050505050565b808201808211156106c6576106c6611a88565b5f5b83811015611c0c578181015183820152602001611bf4565b50505f910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611c4b816017850160208801611bf2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611c7c816028840160208801611bf2565b01602801949350505050565b602081525f8251806020840152611ca6816040850160208701611bf2565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b818382375f9101908152919050565b80820281158282048414176106c6576106c6611a88565b5f81611d3857611d38611a88565b505f19019056fea2646970667358221220eb9feef8a57940b89630de649157a74c5c5a6cb011b48488b472818cad9c285864736f6c634300081400335f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca5b09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc1d8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63fd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783","sourceMap":"999:13819:26:-:0;;;3200:1007;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3311:55;-1:-1:-1;;;;;;;;;;;1131:32:26;3311:13;:55::i;:::-;3376:49;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3376:13:26;:49::i;:::-;3435;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3435:13:26;:49::i;:::-;3494:50;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;3494:13:26;:50::i;:::-;3586:46;-1:-1:-1;;;;;;;;;;;3626:4:26;3586:10;:46::i;:::-;-1:-1:-1;;;;;3673:19:26;;;3669:88;;3708:38;-1:-1:-1;;;;;;;;;;;3740:5:26;3708:10;:38::i;:::-;3817:9;3812:165;3836:9;:16;3832:1;:20;3812:165;;;3873:39;-1:-1:-1;;;;;;;;;;;3899:9:26;3909:1;3899:12;;;;;;;;:::i;:::-;;;;;;;3873:10;;;:39;;:::i;:::-;3926:40;-1:-1:-1;;;;;;;;;;;3953:9:26;3963:1;3953:12;;;;;;;;:::i;3926:40::-;3854:3;;;:::i;:::-;;;3812:165;;;;4022:9;4017:111;4041:9;:16;4037:1;:20;4017:111;;;4078:39;-1:-1:-1;;;;;;;;;;;4104:9:26;4114:1;4104:12;;;;;;;;:::i;4078:39::-;4059:3;;;:::i;:::-;;;4017:111;;;-1:-1:-1;4138:9:26;:20;;;4173:27;;;4188:1;2573:25:310;;2629:2;2614:18;;2607:34;;;4173:27:26;;2546:18:310;4173:27:26;;;;;;;3200:1007;;;;999:13819;;7172:247:2;7255:25;4604:12;;;;;;;;;;;:22;;;;7311:34;;;;7360:52;;4604:22;;7311:34;;4604:22;;:12;;7360:52;;7255:25;7360:52;7245:174;7172:247;;:::o;6937:110::-;7015:25;7026:4;7032:7;7015:10;:25::i;:::-;6937:110;;:::o;7587:233::-;3107:4;3130:12;;;;;;;;;;;-1:-1:-1;;;;;3130:29:2;;;;;;;;;;;;7665:149;;7708:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7708:29:2;;;;;;;;;:36;;-1:-1:-1;;7708:36:2;7740:4;7708:36;;;7790:12;734:10:224;;655:96;7790:12:2;-1:-1:-1;;;;;7763:40:2;7781:7;-1:-1:-1;;;;;7763:40:2;7775:4;7763:40;;;;;;;;;;7587:233;;:::o;14:127:310:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:177;225:13;;-1:-1:-1;;;;;267:31:310;;257:42;;247:70;;313:1;310;303:12;247:70;146:177;;;:::o;328:923::-;393:5;446:3;439:4;431:6;427:17;423:27;413:55;;464:1;461;454:12;413:55;487:13;;519:4;-1:-1:-1;;;;;572:10:310;;;569:36;;;585:18;;:::i;:::-;631:2;628:1;624:10;663:2;657:9;726:2;722:7;717:2;713;709:11;705:25;697:6;693:38;781:6;769:10;766:22;761:2;749:10;746:18;743:46;740:72;;;792:18;;:::i;:::-;828:2;821:22;878:18;;;954:15;;;950:24;;;912:15;;;;-1:-1:-1;986:15:310;;;983:35;;;1014:1;1011;1004:12;983:35;1050:2;1042:6;1038:15;1027:26;;1062:159;1078:6;1073:3;1070:15;1062:159;;;1144:34;1174:3;1144:34;:::i;:::-;1132:47;;1199:12;;;;1095;;;;1062:159;;;1239:6;328:923;-1:-1:-1;;;;;;;328:923:310:o;1256:761::-;1403:6;1411;1419;1427;1480:3;1468:9;1459:7;1455:23;1451:33;1448:53;;;1497:1;1494;1487:12;1448:53;1520:16;;1580:2;1565:18;;1559:25;1520:16;;-1:-1:-1;;;;;;1633:14:310;;;1630:34;;;1660:1;1657;1650:12;1630:34;1683:72;1747:7;1738:6;1727:9;1723:22;1683:72;:::i;:::-;1673:82;;1801:2;1790:9;1786:18;1780:25;1764:41;;1830:2;1820:8;1817:16;1814:36;;;1846:1;1843;1836:12;1814:36;;1869:74;1935:7;1924:8;1913:9;1909:24;1869:74;:::i;:::-;1859:84;;;1962:49;2007:2;1996:9;1992:18;1962:49;:::i;:::-;1952:59;;1256:761;;;;;;;:::o;2022:127::-;2083:10;2078:3;2074:20;2071:1;2064:31;2114:4;2111:1;2104:15;2138:4;2135:1;2128:15;2154:232;2193:3;2214:17;;;2211:140;;2273:10;2268:3;2264:20;2261:1;2254:31;2308:4;2305:1;2298:15;2336:4;2333:1;2326:15;2211:140;-1:-1:-1;2378:1:310;2367:13;;2154:232::o;2391:256::-;999:13819:26;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106101b2575f3560e01c80638065657f116100e7578063bc197c8111610087578063d547741f11610062578063d547741f1461055d578063e38335e51461057c578063f23a6e611461058f578063f27a0c92146105ba575f80fd5b8063bc197c81146104e8578063c4d252f514610513578063d45c443514610532575f80fd5b806391d14854116100c257806391d1485414610464578063a217fddf14610483578063b08e51c014610496578063b1c5f427146104c9575f80fd5b80638065657f146103f35780638f2a0bb0146104125780638f61f4f514610431575f80fd5b8063248a9ca31161015257806331d507501161012d57806331d507501461037757806336568abe14610396578063584b153e146103b557806364d62353146103d4575f80fd5b8063248a9ca3146102fb5780632ab0f529146103295780632f2ff15d14610358575f80fd5b80630d3cf6fc1161018d5780630d3cf6fc14610253578063134008d31461028657806313bc9f2014610299578063150b7a02146102b8575f80fd5b806301d5062a146101bd57806301ffc9a7146101de57806307bd026514610212575f80fd5b366101b957005b5f80fd5b3480156101c8575f80fd5b506101dc6101d73660046113ee565b6105ce565b005b3480156101e9575f80fd5b506101fd6101f836600461145c565b6106a2565b60405190151581526020015b60405180910390f35b34801561021d575f80fd5b506102457fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e6381565b604051908152602001610209565b34801561025e575f80fd5b506102457f5f58e3a2316349923ce3780f8d587db2d72378aed66a8261c916544fa6846ca581565b6101dc610294366004611483565b6106cc565b3480156102a4575f80fd5b506101fd6102b33660046114e9565b61077e565b3480156102c3575f80fd5b506102e26102d23660046115af565b630a85bd0160e11b949350505050565b6040516001600160e01b03199091168152602001610209565b348015610306575f80fd5b506102456103153660046114e9565b5f9081526020819052604090206001015490565b348015610334575f80fd5b506101fd6103433660046114e9565b5f908152600160208190526040909120541490565b348015610363575f80fd5b506101dc610372366004611612565b6107a3565b348015610382575f80fd5b506101fd6103913660046114e9565b6107cc565b3480156103a1575f80fd5b506101dc6103b0366004611612565b6107e4565b3480156103c0575f80fd5b506101fd6103cf3660046114e9565b610867565b3480156103df575f80fd5b506101dc6103ee3660046114e9565b61087c565b3480156103fe575f80fd5b5061024561040d366004611483565b610920565b34801561041d575f80fd5b506101dc61042c36600461167c565b61095e565b34801561043c575f80fd5b506102457fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc181565b34801561046f575f80fd5b506101fd61047e366004611612565b610aef565b34801561048e575f80fd5b506102455f81565b3480156104a1575f80fd5b506102457ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f78381565b3480156104d4575f80fd5b506102456104e3366004611724565b610b17565b3480156104f3575f80fd5b506102e2610502366004611840565b63bc197c8160e01b95945050505050565b34801561051e575f80fd5b506101dc61052d3660046114e9565b610b5b565b34801561053d575f80fd5b5061024561054c3660046114e9565b5f9081526001602052604090205490565b348015610568575f80fd5b506101dc610577366004611612565b610c2f565b6101dc61058a366004611724565b610c53565b34801561059a575f80fd5b506102e26105a93660046118e2565b63f23a6e6160e01b95945050505050565b3480156105c5575f80fd5b50600254610245565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc16105f881610dd7565b5f610607898989898989610920565b90506106138184610de4565b5f817f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8b8b8b8b8b8a60405161064e96959493929190611969565b60405180910390a3831561069757807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d03878560405161068e91815260200190565b60405180910390a25b505050505050505050565b5f6001600160e01b03198216630271189760e51b14806106c657506106c682610ed2565b92915050565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e636106f7815f610aef565b610705576107058133610f06565b5f610714888888888888610920565b90506107208185610f5f565b61072c88888888610ffa565b5f817fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b588a8a8a8a60405161076394939291906119a5565b60405180910390a3610774816110c9565b5050505050505050565b5f8181526001602052604081205460018111801561079c5750428111155b9392505050565b5f828152602081905260409020600101546107bd81610dd7565b6107c78383611101565b505050565b5f8181526001602052604081205481905b1192915050565b6001600160a01b03811633146108595760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6108638282611184565b5050565b5f8181526001602081905260408220546107dd565b3330146108df5760405162461bcd60e51b815260206004820152602b60248201527f54696d656c6f636b436f6e74726f6c6c65723a2063616c6c6572206d7573742060448201526a62652074696d656c6f636b60a81b6064820152608401610850565b60025460408051918252602082018390527f11c24f4ead16507c69ac467fbd5e4eed5fb5c699626d2cc6d66421df253886d5910160405180910390a1600255565b5f86868686868660405160200161093c96959493929190611969565b6040516020818303038152906040528051906020012090509695505050505050565b7fb09aa5aeb3702cfd50b6b62bc4532604938f21248a27a1d5ca736082b6819cc161098881610dd7565b8887146109a75760405162461bcd60e51b8152600401610850906119d6565b8885146109c65760405162461bcd60e51b8152600401610850906119d6565b5f6109d78b8b8b8b8b8b8b8b610b17565b90506109e38184610de4565b5f5b8a811015610aa05780827f4cf4410cc57040e44862ef0f45f3dd5a5e02db8eb8add648d4b0e236f1d07dca8e8e85818110610a2257610a22611a19565b9050602002016020810190610a379190611a2d565b8d8d86818110610a4957610a49611a19565b905060200201358c8c87818110610a6257610a62611a19565b9050602002810190610a749190611a46565b8c8b604051610a8896959493929190611969565b60405180910390a3610a9981611a9c565b90506109e5565b508315610ae257807f20fda5fd27a1ea7bf5b9567f143ac5470bb059374a27e8f67cb44f946f6d038785604051610ad991815260200190565b60405180910390a25b5050505050505050505050565b5f918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b5f8888888888888888604051602001610b37989796959493929190611b40565b60405160208183030381529060405280519060200120905098975050505050505050565b7ffd643c72710c63c0180259aba6b2d05451e3591a24e58b62239378085726f783610b8581610dd7565b610b8e82610867565b610bf45760405162461bcd60e51b815260206004820152603160248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e2063616044820152701b9b9bdd0818994818d85b98d95b1b1959607a1b6064820152608401610850565b5f828152600160205260408082208290555183917fbaa1eb22f2a492ba1a5fea61b8df4d27c6c8b5f3971e63bb58fa14ff72eedb7091a25050565b5f82815260208190526040902060010154610c4981610dd7565b6107c78383611184565b7fd8aa0f3194971a2a116679f7c2090f6939c8d4e01a2a8d7e41d55e5351469e63610c7e815f610aef565b610c8c57610c8c8133610f06565b878614610cab5760405162461bcd60e51b8152600401610850906119d6565b878414610cca5760405162461bcd60e51b8152600401610850906119d6565b5f610cdb8a8a8a8a8a8a8a8a610b17565b9050610ce78185610f5f565b5f5b89811015610dc1575f8b8b83818110610d0457610d04611a19565b9050602002016020810190610d199190611a2d565b90505f8a8a84818110610d2e57610d2e611a19565b905060200201359050365f8a8a86818110610d4b57610d4b611a19565b9050602002810190610d5d9190611a46565b91509150610d6d84848484610ffa565b84867fc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b5886868686604051610da494939291906119a5565b60405180910390a35050505080610dba90611a9c565b9050610ce9565b50610dcb816110c9565b50505050505050505050565b610de18133610f06565b50565b610ded826107cc565b15610e525760405162461bcd60e51b815260206004820152602f60248201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e20616c60448201526e1c9958591e481cd8da19591d5b1959608a1b6064820152608401610850565b600254811015610eb35760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a20696e73756666696369656e746044820152652064656c617960d01b6064820152608401610850565b610ebd8142611bdf565b5f928352600160205260409092209190915550565b5f6001600160e01b03198216637965db0b60e01b14806106c657506301ffc9a760e01b6001600160e01b03198316146106c6565b610f108282610aef565b61086357610f1d816111e8565b610f288360206111fa565b604051602001610f39929190611c14565b60408051601f198184030181529082905262461bcd60e51b825261085091600401611c88565b610f688261077e565b610f845760405162461bcd60e51b815260040161085090611cba565b801580610f9f57505f81815260016020819052604090912054145b6108635760405162461bcd60e51b815260206004820152602660248201527f54696d656c6f636b436f6e74726f6c6c65723a206d697373696e6720646570656044820152656e64656e637960d01b6064820152608401610850565b5f846001600160a01b0316848484604051611016929190611d04565b5f6040518083038185875af1925050503d805f8114611050576040519150601f19603f3d011682016040523d82523d5f602084013e611055565b606091505b50509050806110c25760405162461bcd60e51b815260206004820152603360248201527f54696d656c6f636b436f6e74726f6c6c65723a20756e6465726c79696e6720746044820152721c985b9cd858dd1a5bdb881c995d995c9d1959606a1b6064820152608401610850565b5050505050565b6110d28161077e565b6110ee5760405162461bcd60e51b815260040161085090611cba565b5f90815260016020819052604090912055565b61110b8282610aef565b610863575f828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111403390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61118e8282610aef565b15610863575f828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60606106c66001600160a01b03831660145b60605f611208836002611d13565b611213906002611bdf565b6001600160401b0381111561122a5761122a611500565b6040519080825280601f01601f191660200182016040528015611254576020820181803683370190505b509050600360fc1b815f8151811061126e5761126e611a19565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061129c5761129c611a19565b60200101906001600160f81b03191690815f1a9053505f6112be846002611d13565b6112c9906001611bdf565b90505b6001811115611340576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106112fd576112fd611a19565b1a60f81b82828151811061131357611313611a19565b60200101906001600160f81b03191690815f1a90535060049490941c9361133981611d2a565b90506112cc565b50831561079c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610850565b80356001600160a01b03811681146113a5575f80fd5b919050565b5f8083601f8401126113ba575f80fd5b5081356001600160401b038111156113d0575f80fd5b6020830191508360208285010111156113e7575f80fd5b9250929050565b5f805f805f805f60c0888a031215611404575f80fd5b61140d8861138f565b96506020880135955060408801356001600160401b0381111561142e575f80fd5b61143a8a828b016113aa565b989b979a50986060810135976080820135975060a09091013595509350505050565b5f6020828403121561146c575f80fd5b81356001600160e01b03198116811461079c575f80fd5b5f805f805f8060a08789031215611498575f80fd5b6114a18761138f565b95506020870135945060408701356001600160401b038111156114c2575f80fd5b6114ce89828a016113aa565b979a9699509760608101359660809091013595509350505050565b5f602082840312156114f9575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561153c5761153c611500565b604052919050565b5f82601f830112611553575f80fd5b81356001600160401b0381111561156c5761156c611500565b61157f601f8201601f1916602001611514565b818152846020838601011115611593575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f80608085870312156115c2575f80fd5b6115cb8561138f565b93506115d96020860161138f565b92506040850135915060608501356001600160401b038111156115fa575f80fd5b61160687828801611544565b91505092959194509250565b5f8060408385031215611623575f80fd5b823591506116336020840161138f565b90509250929050565b5f8083601f84011261164c575f80fd5b5081356001600160401b03811115611662575f80fd5b6020830191508360208260051b85010111156113e7575f80fd5b5f805f805f805f805f60c08a8c031215611694575f80fd5b89356001600160401b03808211156116aa575f80fd5b6116b68d838e0161163c565b909b50995060208c01359150808211156116ce575f80fd5b6116da8d838e0161163c565b909950975060408c01359150808211156116f2575f80fd5b506116ff8c828d0161163c565b9a9d999c50979a969997986060880135976080810135975060a0013595509350505050565b5f805f805f805f8060a0898b03121561173b575f80fd5b88356001600160401b0380821115611751575f80fd5b61175d8c838d0161163c565b909a50985060208b0135915080821115611775575f80fd5b6117818c838d0161163c565b909850965060408b0135915080821115611799575f80fd5b506117a68b828c0161163c565b999c989b509699959896976060870135966080013595509350505050565b5f82601f8301126117d3575f80fd5b813560206001600160401b038211156117ee576117ee611500565b8160051b6117fd828201611514565b9283528481018201928281019087851115611816575f80fd5b83870192505b848310156118355782358252918301919083019061181c565b979650505050505050565b5f805f805f60a08688031215611854575f80fd5b61185d8661138f565b945061186b6020870161138f565b935060408601356001600160401b0380821115611886575f80fd5b61189289838a016117c4565b945060608801359150808211156118a7575f80fd5b6118b389838a016117c4565b935060808801359150808211156118c8575f80fd5b506118d588828901611544565b9150509295509295909350565b5f805f805f60a086880312156118f6575f80fd5b6118ff8661138f565b945061190d6020870161138f565b9350604086013592506060860135915060808601356001600160401b03811115611935575f80fd5b6118d588828901611544565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60018060a01b038716815285602082015260a060408201525f61199060a083018688611941565b60608301949094525060800152949350505050565b60018060a01b0385168152836020820152606060408201525f6119cc606083018486611941565b9695505050505050565b60208082526023908201527f54696d656c6f636b436f6e74726f6c6c65723a206c656e677468206d69736d616040820152620e8c6d60eb1b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611a3d575f80fd5b61079c8261138f565b5f808335601e19843603018112611a5b575f80fd5b8301803591506001600160401b03821115611a74575f80fd5b6020019150368190038213156113e7575f80fd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611aad57611aad611a88565b5060010190565b8183525f6020808501808196508560051b81019150845f5b87811015611b335782840389528135601e19883603018112611aec575f80fd5b870185810190356001600160401b03811115611b06575f80fd5b803603821315611b14575f80fd5b611b1f868284611941565b9a87019a9550505090840190600101611acc565b5091979650505050505050565b60a080825281018890525f8960c08301825b8b811015611b80576001600160a01b03611b6b8461138f565b16825260209283019290910190600101611b52565b5083810360208501528881526001600160fb1b03891115611b9f575f80fd5b8860051b9150818a60208301370182810360209081016040850152611bc79082018789611ab4565b60608401959095525050608001529695505050505050565b808201808211156106c6576106c6611a88565b5f5b83811015611c0c578181015183820152602001611bf4565b50505f910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081525f8351611c4b816017850160208801611bf2565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611c7c816028840160208801611bf2565b01602801949350505050565b602081525f8251806020840152611ca6816040850160208701611bf2565b601f01601f19169190910160400192915050565b6020808252602a908201527f54696d656c6f636b436f6e74726f6c6c65723a206f7065726174696f6e206973604082015269206e6f7420726561647960b01b606082015260800190565b818382375f9101908152919050565b80820281158282048414176106c6576106c6611a88565b5f81611d3857611d38611a88565b505f19019056fea2646970667358221220eb9feef8a57940b89630de649157a74c5c5a6cb011b48488b472818cad9c285864736f6c63430008140033","sourceMap":"999:13819:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7769:483;;;;;;;;;;-1:-1:-1;7769:483:26;;;;;:::i;:::-;;:::i;:::-;;4843:228;;;;;;;;;;-1:-1:-1;4843:228:26;;;;;:::i;:::-;;:::i;:::-;;;1763:14:310;;1756:22;1738:41;;1726:2;1711:18;4843:228:26;;;;;;;;1241:66;;;;;;;;;;;;1281:26;1241:66;;;;;1936:25:310;;;1924:2;1909:18;1241:66:26;1790:177:310;1085:78:26;;;;;;;;;;;;1131:32;1085:78;;10563:459;;;;;;:::i;:::-;;:::i;5743:202::-;;;;;;;;;;-1:-1:-1;5743:202:26;;;;;:::i;:::-;;:::i;14031:162::-;;;;;;;;;;-1:-1:-1;14031:162:26;;;;;:::i;:::-;-1:-1:-1;;;14031:162:26;;;;;;;;;;-1:-1:-1;;;;;;4502:33:310;;;4484:52;;4472:2;4457:18;14031:162:26;4340:202:310;4504:129:2;;;;;;;;;;-1:-1:-1;4504:129:2;;;;;:::i;:::-;4578:7;4604:12;;;;;;;;;;:22;;;;4504:129;6024:131:26;;;;;;;;;;-1:-1:-1;6024:131:26;;;;;:::i;:::-;6090:4;6392:15;;;1439:1;6392:15;;;;;;;;;6113:35;;6024:131;4929:145:2;;;;;;;;;;-1:-1:-1;4929:145:2;;;;;:::i;:::-;;:::i;5227:112:26:-;;;;;;;;;;-1:-1:-1;5227:112:26;;;;;:::i;:::-;;:::i;6038:214:2:-;;;;;;;;;;-1:-1:-1;6038:214:2;;;;;:::i;:::-;;:::i;5474:133:26:-;;;;;;;;;;-1:-1:-1;5474:133:26;;;;;:::i;:::-;;:::i;13721:236::-;;;;;;;;;;-1:-1:-1;13721:236:26;;;;;:::i;:::-;;:::i;6807:279::-;;;;;;;;;;-1:-1:-1;6807:279:26;;;;;:::i;:::-;;:::i;8541:794::-;;;;;;;;;;-1:-1:-1;8541:794:26;;;;;:::i;:::-;;:::i;1169:66::-;;;;;;;;;;;;1209:26;1169:66;;3021:145:2;;;;;;;;;;-1:-1:-1;3021:145:2;;;;;:::i;:::-;;:::i;2153:49::-;;;;;;;;;;-1:-1:-1;2153:49:2;2198:4;2153:49;;1313:68:26;;;;;;;;;;;;1354:27;1313:68;;7202:320;;;;;;;;;;-1:-1:-1;7202:320:26;;;;;:::i;:::-;;:::i;14569:247::-;;;;;;;;;;-1:-1:-1;14569:247:26;;;;;:::i;:::-;-1:-1:-1;;;14569:247:26;;;;;;;;9859:230;;;;;;;;;;-1:-1:-1;9859:230:26;;;;;:::i;:::-;;:::i;6303:111::-;;;;;;;;;;-1:-1:-1;6303:111:26;;;;;:::i;:::-;6366:7;6392:15;;;:11;:15;;;;;;;6303:111;5354:147:2;;;;;;;;;;-1:-1:-1;5354:147:2;;;;;:::i;:::-;;:::i;11530:883:26:-;;;;;;:::i;:::-;;:::i;14269:219::-;;;;;;;;;;-1:-1:-1;14269:219:26;;;;;:::i;:::-;-1:-1:-1;;;14269:219:26;;;;;;;;6600:94;;;;;;;;;;-1:-1:-1;6678:9:26;;6600:94;;7769:483;1209:26;2631:16:2;2642:4;2631:10;:16::i;:::-;7992:10:26::1;8005:53;8019:6;8027:5;8034:4;;8040:11;8053:4;8005:13;:53::i;:::-;7992:66;;8068:20;8078:2;8082:5;8068:9;:20::i;:::-;8121:1;8117:2;8103:61;8124:6;8132:5;8139:4;;8145:11;8158:5;8103:61;;;;;;;;;;;:::i;:::-;;;;;;;;8178:18:::0;;8174:72:::1;;8226:2;8217:18;8230:4;8217:18;;;;1936:25:310::0;;1924:2;1909:18;;1790:177;8217:18:26::1;;;;;;;;8174:72;7982:270;7769:483:::0;;;;;;;;:::o;4843:228::-;4952:4;-1:-1:-1;;;;;;4975:49:26;;-1:-1:-1;;;4975:49:26;;:89;;;5028:36;5052:11;5028:23;:36::i;:::-;4968:96;4843:228;-1:-1:-1;;4843:228:26:o;10563:459::-;1281:26;4546:25;4554:4;4568:1;4546:7;:25::i;:::-;4541:87;;4587:30;4598:4;734:10:224;4587::26;:30::i;:::-;10783:10:::1;10796:56;10810:6;10818:5;10825:7;;10834:11;10847:4;10796:13;:56::i;:::-;10783:69;;10863:28;10875:2;10879:11;10863;:28::i;:::-;10901:32;10910:6;10918:5;10925:7;;10901:8;:32::i;:::-;10965:1;10961:2;10948:43;10968:6;10976:5;10983:7;;10948:43;;;;;;;;;:::i;:::-;;;;;;;;11001:14;11012:2;11001:10;:14::i;:::-;10773:249;10563:459:::0;;;;;;;:::o;5743:202::-;5810:4;6392:15;;;:11;:15;;;;;;1439:1;5879:9;:27;:59;;;;;5923:15;5910:9;:28;;5879:59;5872:66;5743:202;-1:-1:-1;;;5743:202:26:o;4929:145:2:-;4578:7;4604:12;;;;;;;;;;:22;;;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;5227:112:26:-;5289:4;6392:15;;;:11;:15;;;;;;5289:4;;5312:16;:20;;5227:112;-1:-1:-1;;5227:112:26:o;6038:214:2:-;-1:-1:-1;;;;;6133:23:2;;734:10:224;6133:23:2;6125:83;;;;-1:-1:-1;;;6125:83:2;;11826:2:310;6125:83:2;;;11808:21:310;11865:2;11845:18;;;11838:30;11904:34;11884:18;;;11877:62;-1:-1:-1;;;11955:18:310;;;11948:45;12010:19;;6125:83:2;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;5474:133:26:-;5543:4;6392:15;;;1439:1;6392:15;;;;;;;;5566:16;6303:111;13721:236;13795:10;13817:4;13795:27;13787:83;;;;-1:-1:-1;;;13787:83:26;;12242:2:310;13787:83:26;;;12224:21:310;12281:2;12261:18;;;12254:30;12320:34;12300:18;;;12293:62;-1:-1:-1;;;12371:18:310;;;12364:41;12422:19;;13787:83:26;12040:407:310;13787:83:26;13900:9;;13885:35;;;12626:25:310;;;12682:2;12667:18;;12660:34;;;13885:35:26;;12599:18:310;13885:35:26;;;;;;;13930:9;:20;13721:236::o;6807:279::-;6992:7;7039:6;7047:5;7054:4;;7060:11;7073:4;7028:50;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7018:61;;;;;;7011:68;;6807:279;;;;;;;;:::o;8541:794::-;1209:26;2631:16:2;2642:4;2631:10;:16::i;:::-;8807:31:26;;::::1;8799:79;;;;-1:-1:-1::0;;;8799:79:26::1;;;;;;;:::i;:::-;8896:33:::0;;::::1;8888:81;;;;-1:-1:-1::0;;;8888:81:26::1;;;;;;;:::i;:::-;8980:10;8993:64;9012:7;;9021:6;;9029:8;;9039:11;9052:4;8993:18;:64::i;:::-;8980:77;;9067:20;9077:2;9081:5;9067:9;:20::i;:::-;9102:9;9097:151;9117:18:::0;;::::1;9097:151;;;9179:1;9175:2;9161:76;9182:7;;9190:1;9182:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;9194:6;;9201:1;9194:9;;;;;;;:::i;:::-;;;;;;;9205:8;;9214:1;9205:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;9218;9231:5;9161:76;;;;;;;;;;;:::i;:::-;;;;;;;;9137:3;::::0;::::1;:::i;:::-;;;9097:151;;;-1:-1:-1::0;9261:18:26;;9257:72:::1;;9309:2;9300:18;9313:4;9300:18;;;;1936:25:310::0;;1924:2;1909:18;;1790:177;9300:18:26::1;;;;;;;;9257:72;8789:546;8541:794:::0;;;;;;;;;;:::o;3021:145:2:-;3107:4;3130:12;;;;;;;;;;;-1:-1:-1;;;;;3130:29:2;;;;;;;;;;;;;;;3021:145::o;7202:320:26:-;7422:7;7469;;7478:6;;7486:8;;7496:11;7509:4;7458:56;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7448:67;;;;;;7441:74;;7202:320;;;;;;;;;;:::o;9859:230::-;1354:27;2631:16:2;2642:4;2631:10;:16::i;:::-;9945:22:26::1;9964:2;9945:18;:22::i;:::-;9937:84;;;::::0;-1:-1:-1;;;9937:84:26;;17464:2:310;9937:84:26::1;::::0;::::1;17446:21:310::0;17503:2;17483:18;;;17476:30;17542:34;17522:18;;;17515:62;-1:-1:-1;;;17593:18:310;;;17586:47;17650:19;;9937:84:26::1;17262:413:310::0;9937:84:26::1;10038:15;::::0;;;:11:::1;:15;::::0;;;;;10031:22;;;10069:13;10050:2;;10069:13:::1;::::0;::::1;9859:230:::0;;:::o;5354:147:2:-;4578:7;4604:12;;;;;;;;;;:22;;;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;11530:883:26:-:0;1281:26;4546:25;4554:4;4568:1;4546:7;:25::i;:::-;4541:87;;4587:30;4598:4;734:10:224;4587::26;:30::i;:::-;11790:31;;::::1;11782:79;;;;-1:-1:-1::0;;;11782:79:26::1;;;;;;;:::i;:::-;11879:33:::0;;::::1;11871:81;;;;-1:-1:-1::0;;;11871:81:26::1;;;;;;;:::i;:::-;11963:10;11976:64;11995:7;;12004:6;;12012:8;;12022:11;12035:4;11976:18;:64::i;:::-;11963:77;;12051:28;12063:2;12067:11;12051;:28::i;:::-;12094:9;12089:294;12109:18:::0;;::::1;12089:294;;;12148:14;12165:7;;12173:1;12165:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;12148:27;;12189:13;12205:6;;12212:1;12205:9;;;;;;;:::i;:::-;;;;;;;12189:25;;12228:22;;12253:8;;12262:1;12253:11;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;12228:36;;;;12278:32;12287:6;12295:5;12302:7;;12278:8;:32::i;:::-;12346:1;12342:2;12329:43;12349:6;12357:5;12364:7;;12329:43;;;;;;;;;:::i;:::-;;;;;;;;12134:249;;;;12129:3;;;;:::i;:::-;;;12089:294;;;;12392:14;12403:2;12392:10;:14::i;:::-;11772:641;11530:883:::0;;;;;;;;;:::o;3460:103:2:-;3526:30;3537:4;734:10:224;4587::26;:30::i;3526::2:-;3460:103;:::o;9436:281:26:-;9509:15;9521:2;9509:11;:15::i;:::-;9508:16;9500:76;;;;-1:-1:-1;;;9500:76:26;;17882:2:310;9500:76:26;;;17864:21:310;17921:2;17901:18;;;17894:30;17960:34;17940:18;;;17933:62;-1:-1:-1;;;18011:18:310;;;18004:45;18066:19;;9500:76:26;17680:411:310;9500:76:26;6678:9;;9594:5;:22;;9586:73;;;;-1:-1:-1;;;9586:73:26;;18298:2:310;9586:73:26;;;18280:21:310;18337:2;18317:18;;;18310:30;18376:34;18356:18;;;18349:62;-1:-1:-1;;;18427:18:310;;;18420:36;18473:19;;9586:73:26;18096:402:310;9586:73:26;9687:23;9705:5;9687:15;:23;:::i;:::-;9669:15;;;;:11;:15;;;;;;:41;;;;-1:-1:-1;9436:281:26:o;2732:202:2:-;2817:4;-1:-1:-1;;;;;;2840:47:2;;-1:-1:-1;;;2840:47:2;;:87;;-1:-1:-1;;;;;;;;;;937:40:240;;;2891:36:2;829:155:240;3844:479:2;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;4022:252:2;;;;;;;;;;-1:-1:-1;;;3970:336:2;;;;;;;:::i;12794:277:26:-;12879:20;12896:2;12879:16;:20::i;:::-;12871:75;;;;-1:-1:-1;;;12871:75:26;;;;;;;:::i;:::-;12964:25;;;:57;;-1:-1:-1;6090:4:26;6392:15;;;1439:1;6392:15;;;;;;;;;6113:35;12993:28;12956:108;;;;-1:-1:-1;;;12956:108:26;;20719:2:310;12956:108:26;;;20701:21:310;20758:2;20738:18;;;20731:30;20797:34;20777:18;;;20770:62;-1:-1:-1;;;20848:18:310;;;20841:36;20894:19;;12956:108:26;20517:402:310;12476:235:26;12574:12;12592:6;-1:-1:-1;;;;;12592:11:26;12611:5;12618:4;;12592:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12573:50;;;12641:7;12633:71;;;;-1:-1:-1;;;12633:71:26;;21402:2:310;12633:71:26;;;21384:21:310;21441:2;21421:18;;;21414:30;21480:34;21460:18;;;21453:62;-1:-1:-1;;;21531:18:310;;;21524:49;21590:19;;12633:71:26;21200:415:310;12633:71:26;12563:148;12476:235;;;;:::o;13153:175::-;13211:20;13228:2;13211:16;:20::i;:::-;13203:75;;;;-1:-1:-1;;;13203:75:26;;;;;;;:::i;:::-;13288:15;;;;1439:1;13288:15;;;;;;;;:33;13153:175::o;7587:233:2:-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7708:6;:12;;;;;;;;;;;-1:-1:-1;;;;;7708:29:2;;;;;;;;;:36;;-1:-1:-1;;7708:36:2;7740:4;7708:36;;;7790:12;734:10:224;;655:96;7790:12:2;-1:-1:-1;;;;;7763:40:2;7781:7;-1:-1:-1;;;;;7763:40:2;7775:4;7763:40;;;;;;;;;;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:12;;;;;;;;;;;-1:-1:-1;;;;;8112:29:2;;;;;;;;;;:37;;-1:-1:-1;;8112:37:2;;;8168:40;734:10:224;;8112:12:2;;8168:40;;8144:5;8168:40;7991:234;;:::o;2407:149:230:-;2465:13;2497:52;-1:-1:-1;;;;;2509:22:230;;343:2;1818:437;1893:13;1918:19;1950:10;1954:6;1950:1;:10;:::i;:::-;:14;;1963:1;1950:14;:::i;:::-;-1:-1:-1;;;;;1940:25:230;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1940:25:230;;1918:47;;-1:-1:-1;;;1975:6:230;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:230;;;;;;;;;-1:-1:-1;;;2000:6:230;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:230;;;;;;;;-1:-1:-1;2030:9:230;2042:10;2046:6;2042:1;:10;:::i;:::-;:14;;2055:1;2042:14;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;-1:-1:-1;;;2105:5:230;2113:3;2105:11;2096:21;;;;;;;:::i;:::-;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2084:33:230;;;;;;;;-1:-1:-1;2141:1:230;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:230;;2162:55;;;;-1:-1:-1;;;2162:55:230;;22136:2:310;2162:55:230;;;22118:21:310;;;22155:18;;;22148:30;22214:34;22194:18;;;22187:62;22266:18;;2162:55:230;21934:356:310;14:173;82:20;;-1:-1:-1;;;;;131:31:310;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:347::-;243:8;253:6;307:3;300:4;292:6;288:17;284:27;274:55;;325:1;322;315:12;274:55;-1:-1:-1;348:20:310;;-1:-1:-1;;;;;380:30:310;;377:50;;;423:1;420;413:12;377:50;460:4;452:6;448:17;436:29;;512:3;505:4;496:6;488;484:19;480:30;477:39;474:59;;;529:1;526;519:12;474:59;192:347;;;;;:::o;544:758::-;659:6;667;675;683;691;699;707;760:3;748:9;739:7;735:23;731:33;728:53;;;777:1;774;767:12;728:53;800:29;819:9;800:29;:::i;:::-;790:39;;876:2;865:9;861:18;848:32;838:42;;931:2;920:9;916:18;903:32;-1:-1:-1;;;;;950:6:310;947:30;944:50;;;990:1;987;980:12;944:50;1029:58;1079:7;1070:6;1059:9;1055:22;1029:58;:::i;:::-;544:758;;;;-1:-1:-1;1106:8:310;1188:2;1173:18;;1160:32;;1239:3;1224:19;;1211:33;;-1:-1:-1;1291:3:310;1276:19;;;1263:33;;-1:-1:-1;544:758:310;-1:-1:-1;;;;544:758:310:o;1307:286::-;1365:6;1418:2;1406:9;1397:7;1393:23;1389:32;1386:52;;;1434:1;1431;1424:12;1386:52;1460:23;;-1:-1:-1;;;;;;1512:32:310;;1502:43;;1492:71;;1559:1;1556;1549:12;1972:689;2078:6;2086;2094;2102;2110;2118;2171:3;2159:9;2150:7;2146:23;2142:33;2139:53;;;2188:1;2185;2178:12;2139:53;2211:29;2230:9;2211:29;:::i;:::-;2201:39;;2287:2;2276:9;2272:18;2259:32;2249:42;;2342:2;2331:9;2327:18;2314:32;-1:-1:-1;;;;;2361:6:310;2358:30;2355:50;;;2401:1;2398;2391:12;2355:50;2440:58;2490:7;2481:6;2470:9;2466:22;2440:58;:::i;:::-;1972:689;;;;-1:-1:-1;2517:8:310;2599:2;2584:18;;2571:32;;2650:3;2635:19;;;2622:33;;-1:-1:-1;1972:689:310;-1:-1:-1;;;;1972:689:310:o;2666:180::-;2725:6;2778:2;2766:9;2757:7;2753:23;2749:32;2746:52;;;2794:1;2791;2784:12;2746:52;-1:-1:-1;2817:23:310;;2666:180;-1:-1:-1;2666:180:310:o;2851:127::-;2912:10;2907:3;2903:20;2900:1;2893:31;2943:4;2940:1;2933:15;2967:4;2964:1;2957:15;2983:275;3054:2;3048:9;3119:2;3100:13;;-1:-1:-1;;3096:27:310;3084:40;;-1:-1:-1;;;;;3139:34:310;;3175:22;;;3136:62;3133:88;;;3201:18;;:::i;:::-;3237:2;3230:22;2983:275;;-1:-1:-1;2983:275:310:o;3263:530::-;3305:5;3358:3;3351:4;3343:6;3339:17;3335:27;3325:55;;3376:1;3373;3366:12;3325:55;3412:6;3399:20;-1:-1:-1;;;;;3434:2:310;3431:26;3428:52;;;3460:18;;:::i;:::-;3504:55;3547:2;3528:13;;-1:-1:-1;;3524:27:310;3553:4;3520:38;3504:55;:::i;:::-;3584:2;3575:7;3568:19;3630:3;3623:4;3618:2;3610:6;3606:15;3602:26;3599:35;3596:55;;;3647:1;3644;3637:12;3596:55;3712:2;3705:4;3697:6;3693:17;3686:4;3677:7;3673:18;3660:55;3760:1;3735:16;;;3753:4;3731:27;3724:38;;;;3739:7;3263:530;-1:-1:-1;;;3263:530:310:o;3798:537::-;3893:6;3901;3909;3917;3970:3;3958:9;3949:7;3945:23;3941:33;3938:53;;;3987:1;3984;3977:12;3938:53;4010:29;4029:9;4010:29;:::i;:::-;4000:39;;4058:38;4092:2;4081:9;4077:18;4058:38;:::i;:::-;4048:48;;4143:2;4132:9;4128:18;4115:32;4105:42;;4198:2;4187:9;4183:18;4170:32;-1:-1:-1;;;;;4217:6:310;4214:30;4211:50;;;4257:1;4254;4247:12;4211:50;4280:49;4321:7;4312:6;4301:9;4297:22;4280:49;:::i;:::-;4270:59;;;3798:537;;;;;;;:::o;4547:254::-;4615:6;4623;4676:2;4664:9;4655:7;4651:23;4647:32;4644:52;;;4692:1;4689;4682:12;4644:52;4728:9;4715:23;4705:33;;4757:38;4791:2;4780:9;4776:18;4757:38;:::i;:::-;4747:48;;4547:254;;;;;:::o;4991:367::-;5054:8;5064:6;5118:3;5111:4;5103:6;5099:17;5095:27;5085:55;;5136:1;5133;5126:12;5085:55;-1:-1:-1;5159:20:310;;-1:-1:-1;;;;;5191:30:310;;5188:50;;;5234:1;5231;5224:12;5188:50;5271:4;5263:6;5259:17;5247:29;;5331:3;5324:4;5314:6;5311:1;5307:14;5299:6;5295:27;5291:38;5288:47;5285:67;;;5348:1;5345;5338:12;5363:1306;5559:6;5567;5575;5583;5591;5599;5607;5615;5623;5676:3;5664:9;5655:7;5651:23;5647:33;5644:53;;;5693:1;5690;5683:12;5644:53;5733:9;5720:23;-1:-1:-1;;;;;5803:2:310;5795:6;5792:14;5789:34;;;5819:1;5816;5809:12;5789:34;5858:70;5920:7;5911:6;5900:9;5896:22;5858:70;:::i;:::-;5947:8;;-1:-1:-1;5832:96:310;-1:-1:-1;6035:2:310;6020:18;;6007:32;;-1:-1:-1;6051:16:310;;;6048:36;;;6080:1;6077;6070:12;6048:36;6119:72;6183:7;6172:8;6161:9;6157:24;6119:72;:::i;:::-;6210:8;;-1:-1:-1;6093:98:310;-1:-1:-1;6298:2:310;6283:18;;6270:32;;-1:-1:-1;6314:16:310;;;6311:36;;;6343:1;6340;6333:12;6311:36;;6382:72;6446:7;6435:8;6424:9;6420:24;6382:72;:::i;:::-;5363:1306;;;;-1:-1:-1;5363:1306:310;;;;6473:8;;6555:2;6540:18;;6527:32;;6606:3;6591:19;;6578:33;;-1:-1:-1;6658:3:310;6643:19;6630:33;;-1:-1:-1;5363:1306:310;-1:-1:-1;;;;5363:1306:310:o;6674:1237::-;6861:6;6869;6877;6885;6893;6901;6909;6917;6970:3;6958:9;6949:7;6945:23;6941:33;6938:53;;;6987:1;6984;6977:12;6938:53;7027:9;7014:23;-1:-1:-1;;;;;7097:2:310;7089:6;7086:14;7083:34;;;7113:1;7110;7103:12;7083:34;7152:70;7214:7;7205:6;7194:9;7190:22;7152:70;:::i;:::-;7241:8;;-1:-1:-1;7126:96:310;-1:-1:-1;7329:2:310;7314:18;;7301:32;;-1:-1:-1;7345:16:310;;;7342:36;;;7374:1;7371;7364:12;7342:36;7413:72;7477:7;7466:8;7455:9;7451:24;7413:72;:::i;:::-;7504:8;;-1:-1:-1;7387:98:310;-1:-1:-1;7592:2:310;7577:18;;7564:32;;-1:-1:-1;7608:16:310;;;7605:36;;;7637:1;7634;7627:12;7605:36;;7676:72;7740:7;7729:8;7718:9;7714:24;7676:72;:::i;:::-;6674:1237;;;;-1:-1:-1;6674:1237:310;;;;7767:8;;7849:2;7834:18;;7821:32;;7900:3;7885:19;7872:33;;-1:-1:-1;6674:1237:310;-1:-1:-1;;;;6674:1237:310:o;7916:712::-;7970:5;8023:3;8016:4;8008:6;8004:17;8000:27;7990:55;;8041:1;8038;8031:12;7990:55;8077:6;8064:20;8103:4;-1:-1:-1;;;;;8122:2:310;8119:26;8116:52;;;8148:18;;:::i;:::-;8194:2;8191:1;8187:10;8217:28;8241:2;8237;8233:11;8217:28;:::i;:::-;8279:15;;;8349;;;8345:24;;;8310:12;;;;8381:15;;;8378:35;;;8409:1;8406;8399:12;8378:35;8445:2;8437:6;8433:15;8422:26;;8457:142;8473:6;8468:3;8465:15;8457:142;;;8539:17;;8527:30;;8490:12;;;;8577;;;;8457:142;;;8617:5;7916:712;-1:-1:-1;;;;;;;7916:712:310:o;8633:943::-;8787:6;8795;8803;8811;8819;8872:3;8860:9;8851:7;8847:23;8843:33;8840:53;;;8889:1;8886;8879:12;8840:53;8912:29;8931:9;8912:29;:::i;:::-;8902:39;;8960:38;8994:2;8983:9;8979:18;8960:38;:::i;:::-;8950:48;;9049:2;9038:9;9034:18;9021:32;-1:-1:-1;;;;;9113:2:310;9105:6;9102:14;9099:34;;;9129:1;9126;9119:12;9099:34;9152:61;9205:7;9196:6;9185:9;9181:22;9152:61;:::i;:::-;9142:71;;9266:2;9255:9;9251:18;9238:32;9222:48;;9295:2;9285:8;9282:16;9279:36;;;9311:1;9308;9301:12;9279:36;9334:63;9389:7;9378:8;9367:9;9363:24;9334:63;:::i;:::-;9324:73;;9450:3;9439:9;9435:19;9422:33;9406:49;;9480:2;9470:8;9467:16;9464:36;;;9496:1;9493;9486:12;9464:36;;9519:51;9562:7;9551:8;9540:9;9536:24;9519:51;:::i;:::-;9509:61;;;8633:943;;;;;;;;:::o;9763:606::-;9867:6;9875;9883;9891;9899;9952:3;9940:9;9931:7;9927:23;9923:33;9920:53;;;9969:1;9966;9959:12;9920:53;9992:29;10011:9;9992:29;:::i;:::-;9982:39;;10040:38;10074:2;10063:9;10059:18;10040:38;:::i;:::-;10030:48;;10125:2;10114:9;10110:18;10097:32;10087:42;;10176:2;10165:9;10161:18;10148:32;10138:42;;10231:3;10220:9;10216:19;10203:33;-1:-1:-1;;;;;10251:6:310;10248:30;10245:50;;;10291:1;10288;10281:12;10245:50;10314:49;10355:7;10346:6;10335:9;10331:22;10314:49;:::i;10374:266::-;10462:6;10457:3;10450:19;10514:6;10507:5;10500:4;10495:3;10491:14;10478:43;-1:-1:-1;10566:1:310;10541:16;;;10559:4;10537:27;;;10530:38;;;;10622:2;10601:15;;;-1:-1:-1;;10597:29:310;10588:39;;;10584:50;;10374:266::o;10645:557::-;10943:1;10939;10934:3;10930:11;10926:19;10918:6;10914:32;10903:9;10896:51;10983:6;10978:2;10967:9;10963:18;10956:34;11026:3;11021:2;11010:9;11006:18;10999:31;10877:4;11047:62;11104:3;11093:9;11089:19;11081:6;11073;11047:62;:::i;:::-;11140:2;11125:18;;11118:34;;;;-1:-1:-1;11183:3:310;11168:19;11161:35;11039:70;10645:557;-1:-1:-1;;;;10645:557:310:o;11207:412::-;11449:1;11445;11440:3;11436:11;11432:19;11424:6;11420:32;11409:9;11402:51;11489:6;11484:2;11473:9;11469:18;11462:34;11532:2;11527;11516:9;11512:18;11505:30;11383:4;11552:61;11609:2;11598:9;11594:18;11586:6;11578;11552:61;:::i;:::-;11544:69;11207:412;-1:-1:-1;;;;;;11207:412:310:o;13267:399::-;13469:2;13451:21;;;13508:2;13488:18;;;13481:30;13547:34;13542:2;13527:18;;13520:62;-1:-1:-1;;;13613:2:310;13598:18;;13591:33;13656:3;13641:19;;13267:399::o;13671:127::-;13732:10;13727:3;13723:20;13720:1;13713:31;13763:4;13760:1;13753:15;13787:4;13784:1;13777:15;13803:186;13862:6;13915:2;13903:9;13894:7;13890:23;13886:32;13883:52;;;13931:1;13928;13921:12;13883:52;13954:29;13973:9;13954:29;:::i;13994:521::-;14071:4;14077:6;14137:11;14124:25;14231:2;14227:7;14216:8;14200:14;14196:29;14192:43;14172:18;14168:68;14158:96;;14250:1;14247;14240:12;14158:96;14277:33;;14329:20;;;-1:-1:-1;;;;;;14361:30:310;;14358:50;;;14404:1;14401;14394:12;14358:50;14437:4;14425:17;;-1:-1:-1;14468:14:310;14464:27;;;14454:38;;14451:58;;;14505:1;14502;14495:12;14520:127;14581:10;14576:3;14572:20;14569:1;14562:31;14612:4;14609:1;14602:15;14636:4;14633:1;14626:15;14652:135;14691:3;14712:17;;;14709:43;;14732:18;;:::i;:::-;-1:-1:-1;14779:1:310;14768:13;;14652:135::o;14792:1067::-;14899:6;14894:3;14887:19;14869:3;14925:4;14966:2;14961:3;14957:12;14991:11;15018;15011:18;;15068:6;15065:1;15061:14;15054:5;15050:26;15038:38;;15099:5;15122:1;15132:701;15146:6;15143:1;15140:13;15132:701;;;15217:5;15211:4;15207:16;15202:3;15195:29;15276:6;15263:20;15366:2;15362:7;15354:5;15338:14;15334:26;15330:40;15310:18;15306:65;15296:93;;15385:1;15382;15375:12;15296:93;15417:30;;15525:16;;;;15476:21;-1:-1:-1;;;;;15557:32:310;;15554:52;;;15602:1;15599;15592:12;15554:52;15655:8;15639:14;15635:29;15626:7;15622:43;15619:63;;;15678:1;15675;15668:12;15619:63;15703:50;15748:4;15738:8;15729:7;15703:50;:::i;:::-;15811:12;;;;15695:58;-1:-1:-1;;;15776:15:310;;;;15168:1;15161:9;15132:701;;;-1:-1:-1;15849:4:310;;14792:1067;-1:-1:-1;;;;;;;14792:1067:310:o;15864:1393::-;16316:3;16329:22;;;16301:19;;16386:22;;;16268:4;16466:6;16439:3;16424:19;;16268:4;16500:235;16514:6;16511:1;16508:13;16500:235;;;-1:-1:-1;;;;;16579:26:310;16598:6;16579:26;:::i;:::-;16575:52;16563:65;;16651:4;16710:15;;;;16675:12;;;;16536:1;16529:9;16500:235;;;-1:-1:-1;16773:19:310;;;16766:4;16751:20;;16744:49;16802:19;;;-1:-1:-1;;;;;16833:31:310;;16830:51;;;16877:1;16874;16867:12;16830:51;16911:6;16908:1;16904:14;16890:28;;16964:6;16956;16949:4;16944:3;16940:14;16927:44;16990:16;17046:18;;;17066:4;17042:29;;;17037:2;17022:18;;17015:57;17089:75;;17150:13;;17142:6;17134;17089:75;:::i;:::-;17195:2;17180:18;;17173:34;;;;-1:-1:-1;;17238:3:310;17223:19;17216:35;17081:83;15864:1393;-1:-1:-1;;;;;;15864:1393:310:o;18503:125::-;18568:9;;;18589:10;;;18586:36;;;18602:18;;:::i;18633:250::-;18718:1;18728:113;18742:6;18739:1;18736:13;18728:113;;;18818:11;;;18812:18;18799:11;;;18792:39;18764:2;18757:10;18728:113;;;-1:-1:-1;;18875:1:310;18857:16;;18850:27;18633:250::o;18888:812::-;19299:25;19294:3;19287:38;19269:3;19354:6;19348:13;19370:75;19438:6;19433:2;19428:3;19424:12;19417:4;19409:6;19405:17;19370:75;:::i;:::-;-1:-1:-1;;;19504:2:310;19464:16;;;19496:11;;;19489:40;19554:13;;19576:76;19554:13;19638:2;19630:11;;19623:4;19611:17;;19576:76;:::i;:::-;19672:17;19691:2;19668:26;;18888:812;-1:-1:-1;;;;18888:812:310:o;19705:396::-;19854:2;19843:9;19836:21;19817:4;19886:6;19880:13;19929:6;19924:2;19913:9;19909:18;19902:34;19945:79;20017:6;20012:2;20001:9;19997:18;19992:2;19984:6;19980:15;19945:79;:::i;:::-;20085:2;20064:15;-1:-1:-1;;20060:29:310;20045:45;;;;20092:2;20041:54;;19705:396;-1:-1:-1;;19705:396:310:o;20106:406::-;20308:2;20290:21;;;20347:2;20327:18;;;20320:30;20386:34;20381:2;20366:18;;20359:62;-1:-1:-1;;;20452:2:310;20437:18;;20430:40;20502:3;20487:19;;20106:406::o;20924:271::-;21107:6;21099;21094:3;21081:33;21063:3;21133:16;;21158:13;;;21133:16;20924:271;-1:-1:-1;20924:271:310:o;21620:168::-;21693:9;;;21724;;21741:15;;;21735:22;;21721:37;21711:71;;21762:18;;:::i;21793:136::-;21832:3;21860:5;21850:39;;21869:18;;:::i;:::-;-1:-1:-1;;;21905:18:310;;21793:136::o","linkReferences":{}},"methodIdentifiers":{"CANCELLER_ROLE()":"b08e51c0","DEFAULT_ADMIN_ROLE()":"a217fddf","EXECUTOR_ROLE()":"07bd0265","PROPOSER_ROLE()":"8f61f4f5","TIMELOCK_ADMIN_ROLE()":"0d3cf6fc","cancel(bytes32)":"c4d252f5","execute(address,uint256,bytes,bytes32,bytes32)":"134008d3","executeBatch(address[],uint256[],bytes[],bytes32,bytes32)":"e38335e5","getMinDelay()":"f27a0c92","getRoleAdmin(bytes32)":"248a9ca3","getTimestamp(bytes32)":"d45c4435","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","hashOperation(address,uint256,bytes,bytes32,bytes32)":"8065657f","hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)":"b1c5f427","isOperation(bytes32)":"31d50750","isOperationDone(bytes32)":"2ab0f529","isOperationPending(bytes32)":"584b153e","isOperationReady(bytes32)":"13bc9f20","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","schedule(address,uint256,bytes,bytes32,bytes32,uint256)":"01d5062a","scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)":"8f2a0bb0","supportsInterface(bytes4)":"01ffc9a7","updateDelay(uint256)":"64d62353"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"minDelay\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"proposers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"executors\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"CallExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"CallSalt\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"CallScheduled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"Cancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldDuration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newDuration\",\"type\":\"uint256\"}],\"name\":\"MinDelayChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CANCELLER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXECUTOR_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PROPOSER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TIMELOCK_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"executeBatch\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMinDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"hashOperationBatch\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperation\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationDone\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationPending\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"isOperationReady\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"schedule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"payloads\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"predecessor\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"delay\",\"type\":\"uint256\"}],\"name\":\"scheduleBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newDelay\",\"type\":\"uint256\"}],\"name\":\"updateDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"Contract module which acts as a timelocked controller. When set as the owner of an `Ownable` smart contract, it enforces a timelock on all `onlyOwner` maintenance operations. This gives time for users of the controlled contract to exit before a potentially dangerous maintenance operation is applied. By default, this contract is self administered, meaning administration tasks have to go through the timelock process. The proposer (resp executor) role is in charge of proposing (resp executing) operations. A common use case is to position this {TimelockController} as the owner of a smart contract, with a multisig or a DAO as the sole proposer. _Available since v3.3._\",\"events\":{\"CallExecuted(bytes32,uint256,address,uint256,bytes)\":{\"details\":\"Emitted when a call is performed as part of operation `id`.\"},\"CallSalt(bytes32,bytes32)\":{\"details\":\"Emitted when new proposal is scheduled with non-zero salt.\"},\"CallScheduled(bytes32,uint256,address,uint256,bytes,bytes32,uint256)\":{\"details\":\"Emitted when a call is scheduled as part of operation `id`.\"},\"Cancelled(bytes32)\":{\"details\":\"Emitted when operation `id` is cancelled.\"},\"MinDelayChange(uint256,uint256)\":{\"details\":\"Emitted when the minimum delay for future operations is modified.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"cancel(bytes32)\":{\"details\":\"Cancel an operation. Requirements: - the caller must have the 'canceller' role.\"},\"constructor\":{\"details\":\"Initializes the contract with the following parameters: - `minDelay`: initial minimum delay for operations - `proposers`: accounts to be granted proposer and canceller roles - `executors`: accounts to be granted executor role - `admin`: optional account to be granted admin role; disable with zero address IMPORTANT: The optional admin can aid with initial configuration of roles after deployment without being subject to delay, but this role should be subsequently renounced in favor of administration through timelocked proposals. Previous versions of this contract would assign this admin to the deployer automatically and should be renounced as well.\"},\"execute(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role.\"},\"executeBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role.\"},\"getMinDelay()\":{\"details\":\"Returns the minimum delay for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTimestamp(bytes32)\":{\"details\":\"Returns the timestamp at which an operation becomes ready (0 for unset operations, 1 for done operations).\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"hashOperation(address,uint256,bytes,bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a single transaction.\"},\"hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)\":{\"details\":\"Returns the identifier of an operation containing a batch of transactions.\"},\"isOperation(bytes32)\":{\"details\":\"Returns whether an id correspond to a registered operation. This includes both Pending, Ready and Done operations.\"},\"isOperationDone(bytes32)\":{\"details\":\"Returns whether an operation is done or not.\"},\"isOperationPending(bytes32)\":{\"details\":\"Returns whether an operation is pending or not. Note that a \\\"pending\\\" operation may also be \\\"ready\\\".\"},\"isOperationReady(bytes32)\":{\"details\":\"Returns whether an operation is ready for execution. Note that a \\\"ready\\\" operation is also \\\"pending\\\".\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"schedule(address,uint256,bytes,bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a single transaction. Emits {CallSalt} if salt is nonzero, and {CallScheduled}. Requirements: - the caller must have the 'proposer' role.\"},\"scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)\":{\"details\":\"Schedule an operation containing a batch of transactions. Emits {CallSalt} if salt is nonzero, and one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"updateDelay(uint256)\":{\"details\":\"Changes the minimum timelock duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the timelock itself. This can only be achieved by scheduling and later executing an operation where the timelock is the target and the data is the ABI-encoded call to this function.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/governance/TimelockController.sol\":\"TimelockController\"},\"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/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"lib/openzeppelin-contracts/contracts/governance/TimelockController.sol\":{\"keccak256\":\"0xda2a70247fda81633d9392f567a401c4772837de6b0543c1c561ca632a2fe7f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3fd567456650ac72d05f3404d18f8aef0380a4f67af13b22511420fe62356578\",\"dweb:/ipfs/QmaHEYxbViAxdemxghGfstYQFXWswyWtBaPKPwCEAnv3xM\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"minDelay","type":"uint256"},{"internalType":"address[]","name":"proposers","type":"address[]"},{"internalType":"address[]","name":"executors","type":"address[]"},{"internalType":"address","name":"admin","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32","indexed":true},{"internalType":"uint256","name":"index","type":"uint256","indexed":true},{"internalType":"address","name":"target","type":"address","indexed":false},{"internalType":"uint256","name":"value","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false}],"type":"event","name":"CallExecuted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"salt","type":"bytes32","indexed":false}],"type":"event","name":"CallSalt","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32","indexed":true},{"internalType":"uint256","name":"index","type":"uint256","indexed":true},{"internalType":"address","name":"target","type":"address","indexed":false},{"internalType":"uint256","name":"value","type":"uint256","indexed":false},{"internalType":"bytes","name":"data","type":"bytes","indexed":false},{"internalType":"bytes32","name":"predecessor","type":"bytes32","indexed":false},{"internalType":"uint256","name":"delay","type":"uint256","indexed":false}],"type":"event","name":"CallScheduled","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32","indexed":true}],"type":"event","name":"Cancelled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldDuration","type":"uint256","indexed":false},{"internalType":"uint256","name":"newDuration","type":"uint256","indexed":false}],"type":"event","name":"MinDelayChange","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CANCELLER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EXECUTOR_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"PROPOSER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TIMELOCK_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancel"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"payload","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"execute"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"executeBatch"},{"inputs":[],"stateMutability":"view","type":"function","name":"getMinDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"hashOperation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"hashOperationBatch","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isOperation","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isOperationDone","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isOperationPending","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"id","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isOperationReady","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256","name":"delay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"schedule"},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"payloads","type":"bytes[]"},{"internalType":"bytes32","name":"predecessor","type":"bytes32"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256","name":"delay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"scheduleBatch"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"newDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"updateDelay"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"cancel(bytes32)":{"details":"Cancel an operation. Requirements: - the caller must have the 'canceller' role."},"constructor":{"details":"Initializes the contract with the following parameters: - `minDelay`: initial minimum delay for operations - `proposers`: accounts to be granted proposer and canceller roles - `executors`: accounts to be granted executor role - `admin`: optional account to be granted admin role; disable with zero address IMPORTANT: The optional admin can aid with initial configuration of roles after deployment without being subject to delay, but this role should be subsequently renounced in favor of administration through timelocked proposals. Previous versions of this contract would assign this admin to the deployer automatically and should be renounced as well."},"execute(address,uint256,bytes,bytes32,bytes32)":{"details":"Execute an (ready) operation containing a single transaction. Emits a {CallExecuted} event. Requirements: - the caller must have the 'executor' role."},"executeBatch(address[],uint256[],bytes[],bytes32,bytes32)":{"details":"Execute an (ready) operation containing a batch of transactions. Emits one {CallExecuted} event per transaction in the batch. Requirements: - the caller must have the 'executor' role."},"getMinDelay()":{"details":"Returns the minimum delay for an operation to become valid. This value can be changed by executing an operation that calls `updateDelay`."},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"getTimestamp(bytes32)":{"details":"Returns the timestamp at which an operation becomes ready (0 for unset operations, 1 for done operations)."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"hashOperation(address,uint256,bytes,bytes32,bytes32)":{"details":"Returns the identifier of an operation containing a single transaction."},"hashOperationBatch(address[],uint256[],bytes[],bytes32,bytes32)":{"details":"Returns the identifier of an operation containing a batch of transactions."},"isOperation(bytes32)":{"details":"Returns whether an id correspond to a registered operation. This includes both Pending, Ready and Done operations."},"isOperationDone(bytes32)":{"details":"Returns whether an operation is done or not."},"isOperationPending(bytes32)":{"details":"Returns whether an operation is pending or not. Note that a \"pending\" operation may also be \"ready\"."},"isOperationReady(bytes32)":{"details":"Returns whether an operation is ready for execution. Note that a \"ready\" operation is also \"pending\"."},"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"See {IERC1155Receiver-onERC1155BatchReceived}."},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"See {IERC1155Receiver-onERC1155Received}."},"onERC721Received(address,address,uint256,bytes)":{"details":"See {IERC721Receiver-onERC721Received}."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"schedule(address,uint256,bytes,bytes32,bytes32,uint256)":{"details":"Schedule an operation containing a single transaction. Emits {CallSalt} if salt is nonzero, and {CallScheduled}. Requirements: - the caller must have the 'proposer' role."},"scheduleBatch(address[],uint256[],bytes[],bytes32,bytes32,uint256)":{"details":"Schedule an operation containing a batch of transactions. Emits {CallSalt} if salt is nonzero, and one {CallScheduled} event per transaction in the batch. Requirements: - the caller must have the 'proposer' role."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"updateDelay(uint256)":{"details":"Changes the minimum timelock duration for future operations. Emits a {MinDelayChange} event. Requirements: - the caller must be the timelock itself. This can only be achieved by scheduling and later executing an operation where the timelock is the target and the data is the ABI-encoded call to this function."}},"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/contracts/governance/TimelockController.sol":"TimelockController"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/AccessControl.sol":{"keccak256":"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f","urls":["bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb","dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57","urls":["bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a","dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/TimelockController.sol":{"keccak256":"0xda2a70247fda81633d9392f567a401c4772837de6b0543c1c561ca632a2fe7f4","urls":["bzz-raw://3fd567456650ac72d05f3404d18f8aef0380a4f67af13b22511420fe62356578","dweb:/ipfs/QmaHEYxbViAxdemxghGfstYQFXWswyWtBaPKPwCEAnv3xM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"}},"version":1},"id":26}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"disableReentrancy","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"enableRentrancy","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"reenter","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506105a58061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c80633654421b14610043578063a0fe97e314610058578063cc23fb1c14610060575b5f80fd5b610056610051366004610321565b610072565b005b61005661009f565b6100566002805460ff19166001179055565b5f80546001600160a01b0319166001600160a01b0385161790556001610099828483610444565b50505050565b60025460ff1661015a576002805460ff191660019081179091555f548154610158926001600160a01b0390921691906100d7906103be565b80601f0160208091040260200160405190810160405280929190818152602001828054610103906103be565b801561014e5780601f106101255761010080835404028352916020019161014e565b820191905f5260205f20905b81548152906001019060200180831161013157829003601f168201915b505050505061015c565b505b565b606061019f83835f6040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506101a6565b9392505050565b60608247101561020c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084015b60405180910390fd5b5f80866001600160a01b031685876040516102279190610522565b5f6040518083038185875af1925050503d805f8114610261576040519150601f19603f3d011682016040523d82523d5f602084013e610266565b606091505b509150915061027787838387610284565b925050505b949350505050565b606083156102f25782515f036102eb576001600160a01b0385163b6102eb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610203565b508161027c565b61027c83838151156103075781518083602001fd5b8060405162461bcd60e51b8152600401610203919061053d565b5f805f60408486031215610333575f80fd5b83356001600160a01b0381168114610349575f80fd5b9250602084013567ffffffffffffffff80821115610365575f80fd5b818601915086601f830112610378575f80fd5b813581811115610386575f80fd5b876020828501011115610397575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103d257607f821691505b6020821081036103f057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561043f575f81815260208120601f850160051c8101602086101561041c5750805b601f850160051c820191505b8181101561043b57828155600101610428565b5050505b505050565b67ffffffffffffffff83111561045c5761045c6103aa565b6104708361046a83546103be565b836103f6565b5f601f8411600181146104a1575f851561048a5750838201355b5f19600387901b1c1916600186901b1783556104f9565b5f83815260209020601f19861690835b828110156104d157868501358255602094850194600190920191016104b1565b50868210156104ed575f1960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b5f5b8381101561051a578181015183820152602001610502565b50505f910152565b5f8251610533818460208701610500565b9190910192915050565b602081525f825180602084015261055b816040850160208701610500565b601f01601f1916919091016040019291505056fea26469706673582212204a3d76aade4016e7a0551b7feb8d7b3637fc17a7dfd10ae74a98bbd9f8464f4564736f6c63430008140033","sourceMap":"89:516:107:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061003f575f3560e01c80633654421b14610043578063a0fe97e314610058578063cc23fb1c14610060575b5f80fd5b610056610051366004610321565b610072565b005b61005661009f565b6100566002805460ff19166001179055565b5f80546001600160a01b0319166001600160a01b0385161790556001610099828483610444565b50505050565b60025460ff1661015a576002805460ff191660019081179091555f548154610158926001600160a01b0390921691906100d7906103be565b80601f0160208091040260200160405190810160405280929190818152602001828054610103906103be565b801561014e5780601f106101255761010080835404028352916020019161014e565b820191905f5260205f20905b81548152906001019060200180831161013157829003601f168201915b505050505061015c565b505b565b606061019f83835f6040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506101a6565b9392505050565b60608247101561020c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084015b60405180910390fd5b5f80866001600160a01b031685876040516102279190610522565b5f6040518083038185875af1925050503d805f8114610261576040519150601f19603f3d011682016040523d82523d5f602084013e610266565b606091505b509150915061027787838387610284565b925050505b949350505050565b606083156102f25782515f036102eb576001600160a01b0385163b6102eb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610203565b508161027c565b61027c83838151156103075781518083602001fd5b8060405162461bcd60e51b8152600401610203919061053d565b5f805f60408486031215610333575f80fd5b83356001600160a01b0381168114610349575f80fd5b9250602084013567ffffffffffffffff80821115610365575f80fd5b818601915086601f830112610378575f80fd5b813581811115610386575f80fd5b876020828501011115610397575f80fd5b6020830194508093505050509250925092565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806103d257607f821691505b6020821081036103f057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561043f575f81815260208120601f850160051c8101602086101561041c5750805b601f850160051c820191505b8181101561043b57828155600101610428565b5050505b505050565b67ffffffffffffffff83111561045c5761045c6103aa565b6104708361046a83546103be565b836103f6565b5f601f8411600181146104a1575f851561048a5750838201355b5f19600387901b1c1916600186901b1783556104f9565b5f83815260209020601f19861690835b828110156104d157868501358255602094850194600190920191016104b1565b50868210156104ed575f1960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b5f5b8381101561051a578181015183820152602001610502565b50505f910152565b5f8251610533818460208701610500565b9190910192915050565b602081525f825180602084015261055b816040850160208701610500565b601f01601f1916919091016040019291505056fea26469706673582212204a3d76aade4016e7a0551b7feb8d7b3637fc17a7dfd10ae74a98bbd9f8464f4564736f6c63430008140033","sourceMap":"89:516:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;290:140;;;;;;:::i;:::-;;:::i;:::-;;436:167;;;:::i;212:72::-;;260:10;:17;;-1:-1:-1;;260:17:107;273:4;260:17;;;212:72;290:140;371:14;:23;;-1:-1:-1;;;;;;371:23:107;-1:-1:-1;;;;;371:23:107;;;;;-1:-1:-1;404:19:107;419:4;;-1:-1:-1;404:19:107;:::i;:::-;;290:140;;;:::o;436:167::-;479:10;;;;474:123;;505:10;:17;;-1:-1:-1;;505:17:107;518:4;505:17;;;;;;:10;557:14;536:50;;;;-1:-1:-1;;;;;557:14:107;;;;518:4;536:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;:50::i;:::-;;474:123;436:167::o;3701:185:220:-;3776:12;3807:72;3829:6;3837:4;3843:1;3807:72;;;;;;;;;;;;;;;;;:21;:72::i;:::-;3800:79;3701:185;-1:-1:-1;;;3701:185:220:o;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:220;;3555:2:310;5354:81:220;;;3537:21:310;3594:2;3574:18;;;3567:30;3633:34;3613:18;;;3606:62;-1:-1:-1;;;3684:18:310;;;3677:36;3730:19;;5354:81:220;;;;;;;;;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:220;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;;;;5165:446;;;;;;;:::o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:220;;;8113:60;;;;-1:-1:-1;;;8113:60:220;;4509:2:310;8113:60:220;;;4491:21:310;4548:2;4528:18;;;4521:30;4587:31;4567:18;;;4560:59;4636:18;;8113:60:220;4307:353:310;8113:60:220;-1:-1:-1;8208:10:220;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:220;;;;;;;;:::i;14:765:310:-;93:6;101;109;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;204:23;;-1:-1:-1;;;;;256:31:310;;246:42;;236:70;;302:1;299;292:12;236:70;325:5;-1:-1:-1;381:2:310;366:18;;353:32;404:18;434:14;;;431:34;;;461:1;458;451:12;431:34;499:6;488:9;484:22;474:32;;544:7;537:4;533:2;529:13;525:27;515:55;;566:1;563;556:12;515:55;606:2;593:16;632:2;624:6;621:14;618:34;;;648:1;645;638:12;618:34;693:7;688:2;679:6;675:2;671:15;667:24;664:37;661:57;;;714:1;711;704:12;661:57;745:2;741;737:11;727:21;;767:6;757:16;;;;;14:765;;;;;:::o;784:127::-;845:10;840:3;836:20;833:1;826:31;876:4;873:1;866:15;900:4;897:1;890:15;916:380;995:1;991:12;;;;1038;;;1059:61;;1113:4;1105:6;1101:17;1091:27;;1059:61;1166:2;1158:6;1155:14;1135:18;1132:38;1129:161;;1212:10;1207:3;1203:20;1200:1;1193:31;1247:4;1244:1;1237:15;1275:4;1272:1;1265:15;1129:161;;916:380;;;:::o;1426:544::-;1527:2;1522:3;1519:11;1516:448;;;1563:1;1588:5;1584:2;1577:17;1633:4;1629:2;1619:19;1703:2;1691:10;1687:19;1684:1;1680:27;1674:4;1670:38;1739:4;1727:10;1724:20;1721:47;;;-1:-1:-1;1762:4:310;1721:47;1817:2;1812:3;1808:12;1805:1;1801:20;1795:4;1791:31;1781:41;;1872:82;1890:2;1883:5;1880:13;1872:82;;;1935:17;;;1916:1;1905:13;1872:82;;;1876:3;;;1516:448;1426:544;;;:::o;2146:1202::-;2268:18;2263:3;2260:27;2257:53;;;2290:18;;:::i;:::-;2319:93;2408:3;2368:38;2400:4;2394:11;2368:38;:::i;:::-;2362:4;2319:93;:::i;:::-;2438:1;2463:2;2458:3;2455:11;2480:1;2475:615;;;;3134:1;3151:3;3148:93;;;-1:-1:-1;3207:19:310;;;3194:33;3148:93;-1:-1:-1;;2103:1:310;2099:11;;;2095:24;2091:29;2081:40;2127:1;2123:11;;;2078:57;3254:78;;2448:894;;2475:615;1373:1;1366:14;;;1410:4;1397:18;;-1:-1:-1;;2511:17:310;;;2611:9;2633:229;2647:7;2644:1;2641:14;2633:229;;;2736:19;;;2723:33;2708:49;;2843:4;2828:20;;;;2796:1;2784:14;;;;2663:12;2633:229;;;2637:3;2890;2881:7;2878:16;2875:159;;;3014:1;3010:6;3004:3;2998;2995:1;2991:11;2987:21;2983:34;2979:39;2966:9;2961:3;2957:19;2944:33;2940:79;2932:6;2925:95;2875:159;;;3077:1;3071:3;3068:1;3064:11;3060:19;3054:4;3047:33;2448:894;;;2146:1202;;;:::o;3760:250::-;3845:1;3855:113;3869:6;3866:1;3863:13;3855:113;;;3945:11;;;3939:18;3926:11;;;3919:39;3891:2;3884:10;3855:113;;;-1:-1:-1;;4002:1:310;3984:16;;3977:27;3760:250::o;4015:287::-;4144:3;4182:6;4176:13;4198:66;4257:6;4252:3;4245:4;4237:6;4233:17;4198:66;:::i;:::-;4280:16;;;;;4015:287;-1:-1:-1;;4015:287:310:o;4665:396::-;4814:2;4803:9;4796:21;4777:4;4846:6;4840:13;4889:6;4884:2;4873:9;4869:18;4862:34;4905:79;4977:6;4972:2;4961:9;4957:18;4952:2;4944:6;4940:15;4905:79;:::i;:::-;5045:2;5024:15;-1:-1:-1;;5020:29:310;5005:45;;;;5052:2;5001:54;;4665:396;-1:-1:-1;;4665:396:310:o","linkReferences":{}},"methodIdentifiers":{"disableReentrancy()":"cc23fb1c","enableRentrancy(address,bytes)":"3654421b","reenter()":"a0fe97e3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"disableReentrancy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"enableRentrancy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reenter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol\":\"TimelockReentrant\"},\"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/contracts/mocks/TimelockReentrant.sol\":{\"keccak256\":\"0x0f367792dccc3fe61ffc3b34129f2829f1ed2ec5f20f7e18d035e612e98c8ecf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff766b55b00e2fffa78dadb9274e6521509007e4249604648492fc71a5b171c8\",\"dweb:/ipfs/QmPDZHRAbEvmDqzhPqhtihuN4v6JNfLmcz3jQHnar1Ssfb\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"disableReentrancy"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"enableRentrancy"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"reenter"}],"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/contracts/mocks/TimelockReentrant.sol":"TimelockReentrant"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol":{"keccak256":"0x0f367792dccc3fe61ffc3b34129f2829f1ed2ec5f20f7e18d035e612e98c8ecf","urls":["bzz-raw://ff766b55b00e2fffa78dadb9274e6521509007e4249604648492fc71a5b171c8","dweb:/ipfs/QmPDZHRAbEvmDqzhPqhtihuN4v6JNfLmcz3jQHnar1Ssfb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":107}
@@ -0,0 +1 @@
1
+ {"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220cf47dd0b67a10d4975180e10ca238248a19cce8e9cdf28a68c62db0b03713e9d64736f6c63430008140033","sourceMap":"279:1873:231:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;279:1873:231;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220cf47dd0b67a10d4975180e10ca238248a19cce8e9cdf28a68c62db0b03713e9d64736f6c63430008140033","sourceMap":"279:1873:231:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Tooling for timepoints, timers and delays CAUTION: This file is deprecated as of 4.9 and will be removed in the next major release.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Timers.sol\":\"Timers\"},\"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/contracts/utils/Timers.sol\":{\"keccak256\":\"0x413dd6eccfbd25fff5e6c45500e049fc3b66f1a6c7d482d3ab88b8f4a5060ede\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f12296326560a2591d1e8d5cabcb55a1a82209a6752fe6a08b46bd9a3f9835f\",\"dweb:/ipfs/QmTgY5GkmvuMsrB4bzsfXj6SALnshYyXpKKR8WCXaMpoPM\"]}},\"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/contracts/utils/Timers.sol":"Timers"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/Timers.sol":{"keccak256":"0x413dd6eccfbd25fff5e6c45500e049fc3b66f1a6c7d482d3ab88b8f4a5060ede","urls":["bzz-raw://6f12296326560a2591d1e8d5cabcb55a1a82209a6752fe6a08b46bd9a3f9835f","dweb:/ipfs/QmTgY5GkmvuMsrB4bzsfXj6SALnshYyXpKKR8WCXaMpoPM"],"license":"MIT"}},"version":1},"id":231}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"getDeadline","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"isExpired","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPending","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStarted","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isUnset","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"reset","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadline","inputs":[{"name":"timestamp","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506102338061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c80635f8d96de116100585780635f8d96de146100da5780639c30ad7e14610100578063aebc048314610122578063d826f88f14610153575f80fd5b80632260fe3a1461007e5780632f13b60c146100b0578063544736e6146100b8575b5f80fd5b60408051602081019091525f5467ffffffffffffffff1690819052155b60405190151581526020015b60405180910390f35b61009b610160565b60408051602081019091525f5467ffffffffffffffff1690819052151561009b565b60408051602080820183525f5467ffffffffffffffff16918290529151908152016100a7565b60408051602081019091525f5467ffffffffffffffff1690819052431061009b565b6101516101303660046101cf565b5f805467ffffffffffffffff831667ffffffffffffffff1990911617905550565b005b610151610184565b905090565b60408051602081019091525f805467ffffffffffffffff1682529061015b9061019b565b6101995f805467ffffffffffffffff19169055565b565b5f6101b0825167ffffffffffffffff16151590565b80156101c9575043825f015167ffffffffffffffff1611155b92915050565b5f602082840312156101df575f80fd5b813567ffffffffffffffff811681146101f6575f80fd5b939250505056fea2646970667358221220e1f60f70372478743098b805fd22540c83128a50a3f4ba19597cc43fc2543d8a64736f6c63430008140033","sourceMap":"89:756:108:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061007a575f3560e01c80635f8d96de116100585780635f8d96de146100da5780639c30ad7e14610100578063aebc048314610122578063d826f88f14610153575f80fd5b80632260fe3a1461007e5780632f13b60c146100b0578063544736e6146100b8575b5f80fd5b60408051602081019091525f5467ffffffffffffffff1690819052155b60405190151581526020015b60405180910390f35b61009b610160565b60408051602081019091525f5467ffffffffffffffff1690819052151561009b565b60408051602080820183525f5467ffffffffffffffff16918290529151908152016100a7565b60408051602081019091525f5467ffffffffffffffff1690819052431061009b565b6101516101303660046101cf565b5f805467ffffffffffffffff831667ffffffffffffffff1990911617905550565b005b610151610184565b905090565b60408051602081019091525f805467ffffffffffffffff1682529061015b9061019b565b6101995f805467ffffffffffffffff19169055565b565b5f6101b0825167ffffffffffffffff16151590565b80156101c9575043825f015167ffffffffffffffff1611155b92915050565b5f602082840312156101df575f80fd5b813567ffffffffffffffff811681146101f6575f80fd5b939250505056fea2646970667358221220e1f60f70372478743098b805fd22540c83128a50a3f4ba19597cc43fc2543d8a64736f6c63430008140033","sourceMap":"89:756:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;469:86;532:14;;;;;;;;;-1:-1:-1;532:14:108;;;;;;;1711:20:231;469:86:108;;;179:14:310;;172:22;154:41;;142:2;127:18;469:86:108;;;;;;;;753:90;;;:::i;561:::-;626:16;;;;;;;;;-1:-1:-1;626:16:108;;;;;;;1835:19:231;;561:90:108;469:86;208:96;277:18;;;;;;;;;-1:-1:-1;277:18:108;;;;;;;208:96;;350:50:310;;;323:18;208:96:108;206:200:310;657:90:108;722:16;;;;;;;;;-1:-1:-1;722:16:108;;;;;;;1976:12:231;-1:-1:-1;657:90:108;469:86;310:92;;;;;;:::i;:::-;366:6;1489:27:231;;;;;-1:-1:-1;;1489:27:231;;;;;;310:92:108;;;;408:55;;;:::i;532:16::-;525:23;;469:86;:::o;753:90::-;818:16;;;;;;;;;795:4;818:16;;;;;;795:4;818:18;;:16;:18::i;408:55::-;442:14;:6;1590:19:231;;-1:-1:-1;;1590:19:231;;;1529:87;442:14:108;408:55::o;2001:149:231:-;2069:4;2092:16;2102:5;1835:15;:19;;;;;1744:117;2092:16;:51;;;;;2131:12;2112:5;:15;;;:31;;;;2092:51;2085:58;2001:149;-1:-1:-1;;2001:149:231:o;411:284:310:-;469:6;522:2;510:9;501:7;497:23;493:32;490:52;;;538:1;535;528:12;490:52;577:9;564:23;627:18;620:5;616:30;609:5;606:41;596:69;;661:1;658;651:12;596:69;684:5;411:284;-1:-1:-1;;;411:284:310:o","linkReferences":{}},"methodIdentifiers":{"getDeadline()":"5f8d96de","isExpired()":"2f13b60c","isPending()":"9c30ad7e","isStarted()":"544736e6","isUnset()":"2260fe3a","reset()":"d826f88f","setDeadline(uint64)":"aebc0483"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDeadline\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPending\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isStarted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUnset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"setDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol\":\"TimersBlockNumberImpl\"},\"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/contracts/mocks/TimersBlockNumberImpl.sol\":{\"keccak256\":\"0x3aa6ec40702bbdcf39be1064a735b1e0000b0100c11f7a9df5c7c675221301ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://448942f0dd981f9239884483c8499cb816880e43e2d38eb26d4346977d3e4bbb\",\"dweb:/ipfs/QmYVuRPVCSKpLNq3gmr9gGaF4xjW6DxySo6wkfm1xGwVmK\"]},\"lib/openzeppelin-contracts/contracts/utils/Timers.sol\":{\"keccak256\":\"0x413dd6eccfbd25fff5e6c45500e049fc3b66f1a6c7d482d3ab88b8f4a5060ede\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f12296326560a2591d1e8d5cabcb55a1a82209a6752fe6a08b46bd9a3f9835f\",\"dweb:/ipfs/QmTgY5GkmvuMsrB4bzsfXj6SALnshYyXpKKR8WCXaMpoPM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadline","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isExpired","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isPending","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isUnset","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"reset"},{"inputs":[{"internalType":"uint64","name":"timestamp","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setDeadline"}],"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/contracts/mocks/TimersBlockNumberImpl.sol":"TimersBlockNumberImpl"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol":{"keccak256":"0x3aa6ec40702bbdcf39be1064a735b1e0000b0100c11f7a9df5c7c675221301ff","urls":["bzz-raw://448942f0dd981f9239884483c8499cb816880e43e2d38eb26d4346977d3e4bbb","dweb:/ipfs/QmYVuRPVCSKpLNq3gmr9gGaF4xjW6DxySo6wkfm1xGwVmK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Timers.sol":{"keccak256":"0x413dd6eccfbd25fff5e6c45500e049fc3b66f1a6c7d482d3ab88b8f4a5060ede","urls":["bzz-raw://6f12296326560a2591d1e8d5cabcb55a1a82209a6752fe6a08b46bd9a3f9835f","dweb:/ipfs/QmTgY5GkmvuMsrB4bzsfXj6SALnshYyXpKKR8WCXaMpoPM"],"license":"MIT"}},"version":1},"id":108}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"getDeadline","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"isExpired","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPending","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStarted","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isUnset","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"reset","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDeadline","inputs":[{"name":"timestamp","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506102338061001d5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c80635f8d96de116100585780635f8d96de146100da5780639c30ad7e14610100578063aebc048314610122578063d826f88f14610153575f80fd5b80632260fe3a1461007e5780632f13b60c146100b0578063544736e6146100b8575b5f80fd5b60408051602081019091525f5467ffffffffffffffff1690819052155b60405190151581526020015b60405180910390f35b61009b610160565b60408051602081019091525f5467ffffffffffffffff1690819052151561009b565b60408051602080820183525f5467ffffffffffffffff16918290529151908152016100a7565b60408051602081019091525f5467ffffffffffffffff1690819052421061009b565b6101516101303660046101cf565b5f805467ffffffffffffffff831667ffffffffffffffff1990911617905550565b005b610151610184565b905090565b60408051602081019091525f805467ffffffffffffffff1682529061015b9061019b565b6101995f805467ffffffffffffffff19169055565b565b5f6101b0825167ffffffffffffffff16151590565b80156101c9575042825f015167ffffffffffffffff1611155b92915050565b5f602082840312156101df575f80fd5b813567ffffffffffffffff811681146101f6575f80fd5b939250505056fea2646970667358221220507683d9a69ad44fe47feffc4580cb5265f0a70bd2701ed993263593c4f0ce1864736f6c63430008140033","sourceMap":"89:750:109:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061007a575f3560e01c80635f8d96de116100585780635f8d96de146100da5780639c30ad7e14610100578063aebc048314610122578063d826f88f14610153575f80fd5b80632260fe3a1461007e5780632f13b60c146100b0578063544736e6146100b8575b5f80fd5b60408051602081019091525f5467ffffffffffffffff1690819052155b60405190151581526020015b60405180910390f35b61009b610160565b60408051602081019091525f5467ffffffffffffffff1690819052151561009b565b60408051602080820183525f5467ffffffffffffffff16918290529151908152016100a7565b60408051602081019091525f5467ffffffffffffffff1690819052421061009b565b6101516101303660046101cf565b5f805467ffffffffffffffff831667ffffffffffffffff1990911617905550565b005b610151610184565b905090565b60408051602081019091525f805467ffffffffffffffff1682529061015b9061019b565b6101995f805467ffffffffffffffff19169055565b565b5f6101b0825167ffffffffffffffff16151590565b80156101c9575042825f015167ffffffffffffffff1611155b92915050565b5f602082840312156101df575f80fd5b813567ffffffffffffffff811681146101f6575f80fd5b939250505056fea2646970667358221220507683d9a69ad44fe47feffc4580cb5265f0a70bd2701ed993263593c4f0ce1864736f6c63430008140033","sourceMap":"89:750:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;463:86;526:14;;;;;;;;;-1:-1:-1;526:14:109;;;;;;;778:20:231;463:86:109;;;179:14:310;;172:22;154:41;;142:2;127:18;463:86:109;;;;;;;;747:90;;;:::i;555:::-;620:16;;;;;;;;;-1:-1:-1;620:16:109;;;;;;;900:19:231;;555:90:109;463:86;202:96;271:18;;;;;;;;;-1:-1:-1;271:18:109;;;;;;;202:96;;350:50:310;;;323:18;202:96:109;206:200:310;651:90:109;716:16;;;;;;;;;-1:-1:-1;716:16:109;;;;;;;1039:15:231;-1:-1:-1;651:90:109;463:86;304:92;;;;;;:::i;:::-;360:6;560:27:231;;;;;-1:-1:-1;;560:27:231;;;;;;304:92:109;;;;402:55;;;:::i;526:16::-;519:23;;463:86;:::o;747:90::-;812:16;;;;;;;;;789:4;812:16;;;;;;789:4;812:18;;:16;:18::i;402:55::-;436:14;:6;659:19:231;;-1:-1:-1;;659:19:231;;;600:85;436:14:109;402:55::o;1067:150:231:-;1133:4;1156:16;1166:5;900:15;:19;;;;;811:115;1156:16;:54;;;;;1195:15;1176:5;:15;;;:34;;;;1156:54;1149:61;1067:150;-1:-1:-1;;1067:150:231:o;411:284:310:-;469:6;522:2;510:9;501:7;497:23;493:32;490:52;;;538:1;535;528:12;490:52;577:9;564:23;627:18;620:5;616:30;609:5;606:41;596:69;;661:1;658;651:12;596:69;684:5;411:284;-1:-1:-1;;;411:284:310:o","linkReferences":{}},"methodIdentifiers":{"getDeadline()":"5f8d96de","isExpired()":"2f13b60c","isPending()":"9c30ad7e","isStarted()":"544736e6","isUnset()":"2260fe3a","reset()":"d826f88f","setDeadline(uint64)":"aebc0483"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDeadline\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isExpired\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPending\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isStarted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUnset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"setDeadline\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol\":\"TimersTimestampImpl\"},\"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/contracts/mocks/TimersTimestampImpl.sol\":{\"keccak256\":\"0xb86d35033e289710957752178955d6c15953e8b4dac8e493b9e7809f4e834a0d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49cdd74a0b45d0fe686b7a84c2351052b0cf52dd3f7333bad4bd0325a93fb625\",\"dweb:/ipfs/QmbejNHVYDgrGWfeMnWhmnqdpSmovj14e4rcQkDqJtCuTt\"]},\"lib/openzeppelin-contracts/contracts/utils/Timers.sol\":{\"keccak256\":\"0x413dd6eccfbd25fff5e6c45500e049fc3b66f1a6c7d482d3ab88b8f4a5060ede\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6f12296326560a2591d1e8d5cabcb55a1a82209a6752fe6a08b46bd9a3f9835f\",\"dweb:/ipfs/QmTgY5GkmvuMsrB4bzsfXj6SALnshYyXpKKR8WCXaMpoPM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"getDeadline","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isExpired","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isPending","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isUnset","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"reset"},{"inputs":[{"internalType":"uint64","name":"timestamp","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"setDeadline"}],"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/contracts/mocks/TimersTimestampImpl.sol":"TimersTimestampImpl"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol":{"keccak256":"0xb86d35033e289710957752178955d6c15953e8b4dac8e493b9e7809f4e834a0d","urls":["bzz-raw://49cdd74a0b45d0fe686b7a84c2351052b0cf52dd3f7333bad4bd0325a93fb625","dweb:/ipfs/QmbejNHVYDgrGWfeMnWhmnqdpSmovj14e4rcQkDqJtCuTt"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Timers.sol":{"keccak256":"0x413dd6eccfbd25fff5e6c45500e049fc3b66f1a6c7d482d3ab88b8f4a5060ede","urls":["bzz-raw://6f12296326560a2591d1e8d5cabcb55a1a82209a6752fe6a08b46bd9a3f9835f","dweb:/ipfs/QmTgY5GkmvuMsrB4bzsfXj6SALnshYyXpKKR8WCXaMpoPM"],"license":"MIT"}},"version":1},"id":109}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[{"name":"token_","type":"address","internalType":"contract IERC20"},{"name":"beneficiary_","type":"address","internalType":"address"},{"name":"releaseTime_","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"beneficiary","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"release","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"releaseTime","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"}],"bytecode":{"object":"0x60e060405234801561000f575f80fd5b5060405161079f38038061079f83398101604081905261002e916100ce565b42811161009c5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e54696d656c6f636b3a2072656c656173652074696d65206973206260448201527165666f72652063757272656e742074696d6560701b606482015260840160405180910390fd5b6001600160a01b03928316608052911660a05260c05261010e565b6001600160a01b03811681146100cb575f80fd5b50565b5f805f606084860312156100e0575f80fd5b83516100eb816100b7565b60208501519093506100fc816100b7565b80925050604084015190509250925092565b60805160a05160c05161064f6101505f395f8181609c015260ed01525f81816050015261029101525f818160c70152818161017e015261026f015261064f5ff3fe608060405234801561000f575f80fd5b506004361061004a575f3560e01c806338af3eed1461004e57806386d1a69f1461008d578063b91d400114610097578063fc0c546a146100c5575b5f80fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b6100956100eb565b005b6040517f00000000000000000000000000000000000000000000000000000000000000008152602001610084565b7f0000000000000000000000000000000000000000000000000000000000000000610070565b7f000000000000000000000000000000000000000000000000000000000000000042101561017b5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e54696d656c6f636b3a2063757272656e742074696d65206973206260448201527165666f72652072656c656173652074696d6560701b60648201526084015b60405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000000006040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156101e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610205919061056d565b90505f81116102625760405162461bcd60e51b815260206004820152602360248201527f546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c6560448201526261736560e81b6064820152608401610172565b6102b66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836102b9565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261030b908490610310565b505050565b5f610364826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103e39092919063ffffffff16565b905080515f14806103845750808060200190518101906103849190610584565b61030b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610172565b60606103f184845f856103f9565b949350505050565b60608247101561045a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610172565b5f80866001600160a01b0316858760405161047591906105cc565b5f6040518083038185875af1925050503d805f81146104af576040519150601f19603f3d011682016040523d82523d5f602084013e6104b4565b606091505b50915091506104c5878383876104d0565b979650505050505050565b6060831561053e5782515f03610537576001600160a01b0385163b6105375760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610172565b50816103f1565b6103f183838151156105535781518083602001fd5b8060405162461bcd60e51b815260040161017291906105e7565b5f6020828403121561057d575f80fd5b5051919050565b5f60208284031215610594575f80fd5b815180151581146105a3575f80fd5b9392505050565b5f5b838110156105c45781810151838201526020016105ac565b50505f910152565b5f82516105dd8184602087016105aa565b9190910192915050565b602081525f82518060208401526106058160408501602087016105aa565b601f01601f1916919091016040019291505056fea264697066735822122054c56dedd72d734fd79430ba63a6797913bbb1adae290a239ee201530863beee64736f6c63430008140033","sourceMap":"393:1925:197:-:0;;;995:280;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1099:15;1084:12;:30;1076:93;;;;-1:-1:-1;;;1076:93:197;;843:2:310;1076:93:197;;;825:21:310;882:2;862:18;;;855:30;921:34;901:18;;;894:62;-1:-1:-1;;;972:18:310;;;965:48;1030:19;;1076:93:197;;;;;;;;-1:-1:-1;;;;;1179:15:197;;;;;1204:27;;;;1241;;393:1925;;14:139:310;-1:-1:-1;;;;;97:31:310;;87:42;;77:70;;143:1;140;133:12;77:70;14:139;:::o;158:478::-;262:6;270;278;331:2;319:9;310:7;306:23;302:32;299:52;;;347:1;344;337:12;299:52;379:9;373:16;398:39;431:5;398:39;:::i;:::-;506:2;491:18;;485:25;456:5;;-1:-1:-1;519:41:310;485:25;519:41;:::i;:::-;579:7;569:17;;;626:2;615:9;611:18;605:25;595:35;;158:478;;;;;:::o;641:414::-;393:1925:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b506004361061004a575f3560e01c806338af3eed1461004e57806386d1a69f1461008d578063b91d400114610097578063fc0c546a146100c5575b5f80fd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b0390911681526020015b60405180910390f35b6100956100eb565b005b6040517f00000000000000000000000000000000000000000000000000000000000000008152602001610084565b7f0000000000000000000000000000000000000000000000000000000000000000610070565b7f000000000000000000000000000000000000000000000000000000000000000042101561017b5760405162461bcd60e51b815260206004820152603260248201527f546f6b656e54696d656c6f636b3a2063757272656e742074696d65206973206260448201527165666f72652072656c656173652074696d6560701b60648201526084015b60405180910390fd5b5f7f00000000000000000000000000000000000000000000000000000000000000006040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa1580156101e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610205919061056d565b90505f81116102625760405162461bcd60e51b815260206004820152602360248201527f546f6b656e54696d656c6f636b3a206e6f20746f6b656e7320746f2072656c6560448201526261736560e81b6064820152608401610172565b6102b66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836102b9565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261030b908490610310565b505050565b5f610364826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166103e39092919063ffffffff16565b905080515f14806103845750808060200190518101906103849190610584565b61030b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610172565b60606103f184845f856103f9565b949350505050565b60608247101561045a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610172565b5f80866001600160a01b0316858760405161047591906105cc565b5f6040518083038185875af1925050503d805f81146104af576040519150601f19603f3d011682016040523d82523d5f602084013e6104b4565b606091505b50915091506104c5878383876104d0565b979650505050505050565b6060831561053e5782515f03610537576001600160a01b0385163b6105375760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610172565b50816103f1565b6103f183838151156105535781518083602001fd5b8060405162461bcd60e51b815260040161017291906105e7565b5f6020828403121561057d575f80fd5b5051919050565b5f60208284031215610594575f80fd5b815180151581146105a3575f80fd5b9392505050565b5f5b838110156105c45781810151838201526020016105ac565b50505f910152565b5f82516105dd8184602087016105aa565b9190910192915050565b602081525f82518060208401526106058160408501602087016105aa565b601f01601f1916919091016040019291505056fea264697066735822122054c56dedd72d734fd79430ba63a6797913bbb1adae290a239ee201530863beee64736f6c63430008140033","sourceMap":"393:1925:197:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1511:97;1589:12;1511:97;;;-1:-1:-1;;;;;178:32:310;;;160:51;;148:2;133:18;1511:97:197;;;;;;;;1988:328;;;:::i;:::-;;1739:97;;;1817:12;368:25:310;;356:2;341:18;1739:97:197;222:177:310;1339:84:197;1410:6;1339:84;;1988:328;1817:12;2040:15;:32;;2032:95;;;;-1:-1:-1;;;2032:95:197;;830:2:310;2032:95:197;;;812:21:310;869:2;849:18;;;842:30;908:34;888:18;;;881:62;-1:-1:-1;;;959:18:310;;;952:48;1017:19;;2032:95:197;;;;;;;;;2138:14;1410:6;2155:32;;-1:-1:-1;;;2155:32:197;;2181:4;2155:32;;;160:51:310;-1:-1:-1;;;;;2155:17:197;;;;;;;133:18:310;;2155:32:197;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2138:49;;2214:1;2205:6;:10;2197:58;;;;-1:-1:-1;;;2197:58:197;;1438:2:310;2197:58:197;;;1420:21:310;1477:2;1457:18;;;1450:30;1516:34;1496:18;;;1489:62;-1:-1:-1;;;1567:18:310;;;1560:33;1610:19;;2197:58:197;1236:399:310;2197:58:197;2266:43;-1:-1:-1;;;;;1410:6:197;2266:20;1589:12;2302:6;2266:20;:43::i;:::-;2022:294;1988:328::o;941:175:196:-;1050:58;;;-1:-1:-1;;;;;1832:32:310;;1050:58:196;;;1814:51:310;1881:18;;;;1874:34;;;1050:58:196;;;;;;;;;;1787:18:310;;;;1050:58:196;;;;;;;;-1:-1:-1;;;;;1050:58:196;-1:-1:-1;;;1050:58:196;;;1023:86;;1043:5;;1023:19;:86::i;:::-;941:175;;;:::o;5196:642::-;5615:23;5641:69;5669:4;5641:69;;;;;;;;;;;;;;;;;5649:5;-1:-1:-1;;;;;5641:27:196;;;:69;;;;;:::i;:::-;5615:95;;5728:10;:17;5749:1;5728:22;:56;;;;5765:10;5754:30;;;;;;;;;;;;:::i;:::-;5720:111;;;;-1:-1:-1;;;5720:111:196;;2403:2:310;5720:111:196;;;2385:21:310;2442:2;2422:18;;;2415:30;2481:34;2461:18;;;2454:62;-1:-1:-1;;;2532:18:310;;;2525:40;2582:19;;5720:111:196;2201:406:310;4108:223:220;4241:12;4272:52;4294:6;4302:4;4308:1;4311:12;4272:21;:52::i;:::-;4265:59;4108:223;-1:-1:-1;;;;4108:223:220:o;5165:446::-;5330:12;5387:5;5362:21;:30;;5354:81;;;;-1:-1:-1;;;5354:81:220;;2814:2:310;5354:81:220;;;2796:21:310;2853:2;2833:18;;;2826:30;2892:34;2872:18;;;2865:62;-1:-1:-1;;;2943:18:310;;;2936:36;2989:19;;5354:81:220;2612:402:310;5354:81:220;5446:12;5460:23;5487:6;-1:-1:-1;;;;;5487:11:220;5506:5;5513:4;5487:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5445:73;;;;5535:69;5562:6;5570:7;5579:10;5591:12;5535:26;:69::i;:::-;5528:76;5165:446;-1:-1:-1;;;;;;;5165:446:220:o;7671:628::-;7851:12;7879:7;7875:418;;;7906:10;:17;7927:1;7906:22;7902:286;;-1:-1:-1;;;;;1702:19:220;;;8113:60;;;;-1:-1:-1;;;8113:60:220;;3768:2:310;8113:60:220;;;3750:21:310;3807:2;3787:18;;;3780:30;3846:31;3826:18;;;3819:59;3895:18;;8113:60:220;3566:353:310;8113:60:220;-1:-1:-1;8208:10:220;8201:17;;7875:418;8249:33;8257:10;8269:12;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:220;;;;;;;;:::i;1047:184:310:-;1117:6;1170:2;1158:9;1149:7;1145:23;1141:32;1138:52;;;1186:1;1183;1176:12;1138:52;-1:-1:-1;1209:16:310;;1047:184;-1:-1:-1;1047:184:310:o;1919:277::-;1986:6;2039:2;2027:9;2018:7;2014:23;2010:32;2007:52;;;2055:1;2052;2045:12;2007:52;2087:9;2081:16;2140:5;2133:13;2126:21;2119:5;2116:32;2106:60;;2162:1;2159;2152:12;2106:60;2185:5;1919:277;-1:-1:-1;;;1919:277:310:o;3019:250::-;3104:1;3114:113;3128:6;3125:1;3122:13;3114:113;;;3204:11;;;3198:18;3185:11;;;3178:39;3150:2;3143:10;3114:113;;;-1:-1:-1;;3261:1:310;3243:16;;3236:27;3019:250::o;3274:287::-;3403:3;3441:6;3435:13;3457:66;3516:6;3511:3;3504:4;3496:6;3492:17;3457:66;:::i;:::-;3539:16;;;;;3274:287;-1:-1:-1;;3274:287:310:o;3924:396::-;4073:2;4062:9;4055:21;4036:4;4105:6;4099:13;4148:6;4143:2;4132:9;4128:18;4121:34;4164:79;4236:6;4231:2;4220:9;4216:18;4211:2;4203:6;4199:15;4164:79;:::i;:::-;4304:2;4283:15;-1:-1:-1;;4279:29:310;4264:45;;;;4311:2;4260:54;;3924:396;-1:-1:-1;;3924:396:310:o","linkReferences":{},"immutableReferences":{"27229":[{"start":199,"length":32},{"start":382,"length":32},{"start":623,"length":32}],"27231":[{"start":80,"length":32},{"start":657,"length":32}],"27233":[{"start":156,"length":32},{"start":237,"length":32}]}},"methodIdentifiers":{"beneficiary()":"38af3eed","release()":"86d1a69f","releaseTime()":"b91d4001","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"releaseTime_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"beneficiary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"release\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releaseTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"A token holder contract that will allow a beneficiary to extract the tokens after a given release time. Useful for simple vesting schedules like \\\"advisors get all of their tokens after 1 year\\\".\",\"kind\":\"dev\",\"methods\":{\"beneficiary()\":{\"details\":\"Returns the beneficiary that will receive the tokens.\"},\"constructor\":{\"details\":\"Deploys a timelock instance that is able to hold the token specified, and will only release it to `beneficiary_` when {release} is invoked after `releaseTime_`. The release time is specified as a Unix timestamp (in seconds).\"},\"release()\":{\"details\":\"Transfers tokens held by the timelock to the beneficiary. Will only succeed if invoked after the release time.\"},\"releaseTime()\":{\"details\":\"Returns the time when the tokens are released in seconds since Unix epoch (i.e. Unix timestamp).\"},\"token()\":{\"details\":\"Returns the token being held.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol\":\"TokenTimelock\"},\"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/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71\",\"dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68\",\"dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol\":{\"keccak256\":\"0x7b4dce588e2fd9fb0de405fa375ee5ede4d411a0f063a8b4e3e260b590b42787\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc917ffc360de51af65558603a17052ffba1764ae974228d0298255a65fde8e6\",\"dweb:/ipfs/QmSQ4bb1aqNyjQHoRPXFNkAmBz45pa8jtKktB8WUm7aTrz\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IERC20","name":"token_","type":"address"},{"internalType":"address","name":"beneficiary_","type":"address"},{"internalType":"uint256","name":"releaseTime_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"beneficiary","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"release"},{"inputs":[],"stateMutability":"view","type":"function","name":"releaseTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"beneficiary()":{"details":"Returns the beneficiary that will receive the tokens."},"constructor":{"details":"Deploys a timelock instance that is able to hold the token specified, and will only release it to `beneficiary_` when {release} is invoked after `releaseTime_`. The release time is specified as a Unix timestamp (in seconds)."},"release()":{"details":"Transfers tokens held by the timelock to the beneficiary. Will only succeed if invoked after the release time."},"releaseTime()":{"details":"Returns the time when the tokens are released in seconds since Unix epoch (i.e. Unix timestamp)."},"token()":{"details":"Returns the token being held."}},"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/contracts/token/ERC20/utils/TokenTimelock.sol":"TokenTimelock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0xb264c03a3442eb37a68ad620cefd1182766b58bee6cec40343480392d6b14d69","urls":["bzz-raw://28879d01fd22c07b44f006612775f8577defbe459cb01685c5e25cd518c91a71","dweb:/ipfs/QmVgfkwv2Fxw6hhTcDUZhE7NkoSKjab3ipM7UaRbt6uXb5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xabefac93435967b4d36a4fabcbdbb918d1f0b7ae3c3d85bc30923b326c927ed1","urls":["bzz-raw://9d213d3befca47da33f6db0310826bcdb148299805c10d77175ecfe1d06a9a68","dweb:/ipfs/QmRgCn6SP1hbBkExUADFuDo8xkT4UU47yjNF5FhCeRbQmS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol":{"keccak256":"0x7b4dce588e2fd9fb0de405fa375ee5ede4d411a0f063a8b4e3e260b590b42787","urls":["bzz-raw://fc917ffc360de51af65558603a17052ffba1764ae974228d0298255a65fde8e6","dweb:/ipfs/QmSQ4bb1aqNyjQHoRPXFNkAmBz45pa8jtKktB8WUm7aTrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"}},"version":1},"id":197}
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"changeAdmin","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"implementation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"upgradeTo","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"admin()":"f851a440","changeAdmin(address)":"8f283970","implementation()":"5c60da1b","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"admin\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"changeAdmin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy} does not implement this interface directly, and some of its functions are implemented by an internal dispatch mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not include them in the ABI so this interface must be used to interact with it.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"ITransparentUpgradeableProxy\"},\"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/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263\",\"dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688\",\"dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5\",\"dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn\"]},\"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol\":{\"keccak256\":\"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2\",\"dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472\",\"dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN\"]},\"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x168e36d7e616bd41f6abab4a83009da64513ae9e638aa6d5980066e2a92db689\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a45c64b97311fabbcbe8dad7e94fa89e06a7f96060d5565326ef706f5f239017\",\"dweb:/ipfs/QmeU2jiBGbHhz9DqRotjbpAx5s2xExDSRQtSD5ENjuHzDq\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"changeAdmin"},{"inputs":[],"stateMutability":"view","type":"function","name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"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/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":"ITransparentUpgradeableProxy"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol":{"keccak256":"0x3cbef5ebc24b415252e2f8c0c9254555d30d9f085603b4b80d9b5ed20ab87e90","urls":["bzz-raw://e8fa670c3bdce78e642cc6ae11c4cb38b133499cdce5e1990a9979d424703263","dweb:/ipfs/QmVxeCUk4jL2pXQyhsoNJwyU874wRufS2WvGe8TgPKPqhE"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0x1d4afe6cb24200cc4545eed814ecf5847277dfe5d613a1707aad5fceecebcfff","urls":["bzz-raw://383fb7b8181016ac5ccf07bc9cdb7c1b5045ea36e2cc4df52bcbf20396fc7688","dweb:/ipfs/QmYJ7Cg4WmE3rR8KGQxjUCXFfTH6TcwZ2Z1f6tPrq7jHFr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol":{"keccak256":"0xa2b22da3032e50b55f95ec1d13336102d675f341167aa76db571ef7f8bb7975d","urls":["bzz-raw://96b6d77a20bebd4eb06b801d3d020c7e82be13bd535cb0d0a6b7181c51dab5d5","dweb:/ipfs/QmPUR9Cv9jNFdQX6PtBfaBW1ZCnKwiu65R2VD5kbdanDyn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol":{"keccak256":"0x3b21ae06bf5957f73fa16754b0669c77b7abd8ba6c072d35c3281d446fdb86c2","urls":["bzz-raw://2db8e18505e86e02526847005d7287a33e397ed7fb9eaba3fd4a4a197add16e2","dweb:/ipfs/QmW9BSuKTzHWHBNSHF4L8XfVuU1uJrP2vLg84YtBd8mL82"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc130fe33f1b2132158531a87734153293f6d07bc263ff4ac90e85da9c82c0e27","urls":["bzz-raw://8831721b6f4cc26534d190f9f1631c3f59c9ff38efdd911f85e0882b8e360472","dweb:/ipfs/QmQZnLErZNStirSQ13ZNWQgvEYUtGE5tXYwn4QUPaVUfPN"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol":{"keccak256":"0x168e36d7e616bd41f6abab4a83009da64513ae9e638aa6d5980066e2a92db689","urls":["bzz-raw://a45c64b97311fabbcbe8dad7e94fa89e06a7f96060d5565326ef706f5f239017","dweb:/ipfs/QmeU2jiBGbHhz9DqRotjbpAx5s2xExDSRQtSD5ENjuHzDq"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"}},"version":1},"id":161}