@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.
- package/package.json +14 -6
- package/test/agent-export.e2e.test.ts +376 -0
- package/test/agent-orchestration.e2e.test.ts +1568 -0
- package/test/agent-restart-recovery.e2e.test.ts +149 -0
- package/test/agent-runtime.e2e.test.ts +1515 -0
- package/test/anvil-contracts.e2e.test.ts +533 -0
- package/test/anvil-helper.ts +285 -0
- package/test/api-auth-live.e2e.test.ts +519 -0
- package/test/api-auth.e2e.test.ts +1039 -0
- package/test/api-server.e2e.test.ts +4582 -0
- package/test/apps-e2e.e2e.test.ts +1108 -0
- package/test/auth-modules.e2e.test.ts +71 -0
- package/test/cloud-auth-state.e2e.test.ts +145 -0
- package/test/cloud-persistence.e2e.test.ts +260 -0
- package/test/cloud-providers.e2e.test.ts +781 -0
- package/test/config-hot-reload.e2e.test.ts +131 -0
- package/test/contract-deployer.ts +151 -0
- package/test/contracts/MockMiladyAgentRegistry.sol +216 -0
- package/test/contracts/MockMiladyCollection.sol +195 -0
- package/test/contracts/cache/solidity-files-cache.json +1 -0
- package/test/contracts/foundry.toml +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.changeset/config.json +12 -0
- package/test/contracts/lib/openzeppelin-contracts/.codecov.yml +12 -0
- package/test/contracts/lib/openzeppelin-contracts/.editorconfig +21 -0
- package/test/contracts/lib/openzeppelin-contracts/.eslintrc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/bug_report.md +21 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/config.yml +4 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/ISSUE_TEMPLATE/feature_request.md +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/PULL_REQUEST_TEMPLATE.md +20 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/gas-compare/action.yml +49 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/setup/action.yml +19 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/actions/storage-layout/action.yml +55 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/actionlint.yml +18 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/changeset.yml +28 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/checks.yml +111 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/docs.yml +19 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/formal-verification.yml +68 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/release-cycle.yml +218 -0
- package/test/contracts/lib/openzeppelin-contracts/.github/workflows/upgradeable.yml +30 -0
- package/test/contracts/lib/openzeppelin-contracts/.gitmodules +7 -0
- package/test/contracts/lib/openzeppelin-contracts/.mocharc.js +4 -0
- package/test/contracts/lib/openzeppelin-contracts/.prettierrc +14 -0
- package/test/contracts/lib/openzeppelin-contracts/.solcover.js +13 -0
- package/test/contracts/lib/openzeppelin-contracts/.solhint.json +14 -0
- package/test/contracts/lib/openzeppelin-contracts/CHANGELOG.md +743 -0
- package/test/contracts/lib/openzeppelin-contracts/CODE_OF_CONDUCT.md +73 -0
- package/test/contracts/lib/openzeppelin-contracts/CONTRIBUTING.md +36 -0
- package/test/contracts/lib/openzeppelin-contracts/GUIDELINES.md +117 -0
- package/test/contracts/lib/openzeppelin-contracts/LICENSE +22 -0
- package/test/contracts/lib/openzeppelin-contracts/README.md +90 -0
- package/test/contracts/lib/openzeppelin-contracts/RELEASING.md +47 -0
- package/test/contracts/lib/openzeppelin-contracts/SECURITY.md +42 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2017-03.md +292 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2018-10.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-Checkpoints.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2022-10-ERC4626.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/2023-05-v4.9.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/audits/README.md +16 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/Makefile +54 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/README.md +60 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/diff/token_ERC721_ERC721.sol.patch +14 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlDefaultAdminRulesHarness.sol +47 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/AccessControlHarness.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/DoubleEndedQueueHarness.sol +59 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20FlashMintHarness.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20PermitHarness.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC20WrapperHarness.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC3156FlashBorrowerHarness.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721Harness.sol +37 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/ERC721ReceiverHarness.sol +11 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableMapHarness.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/EnumerableSetHarness.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/InitializableHarness.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/Ownable2StepHarness.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/OwnableHarness.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/PausableHarness.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/harnesses/TimelockControllerHarness.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2021-10.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-03.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/reports/2022-05.pdf +0 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/run.js +146 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControl.spec +126 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/AccessControlDefaultAdminRules.spec +500 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/DoubleEndedQueue.spec +366 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20.spec +414 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20FlashMint.spec +48 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC20Wrapper.spec +198 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/ERC721.spec +589 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableMap.spec +334 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/EnumerableSet.spec +247 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Initializable.spec +165 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable.spec +78 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Ownable2Step.spec +108 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/Pausable.spec +96 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/TimelockController.spec +275 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/helpers/helpers.spec +1 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControl.spec +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IAccessControlDefaultAdminRules.spec +36 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC20.spec +11 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC2612.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC3156.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC5313.spec +3 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IERC721.spec +20 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable.spec +5 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs/methods/IOwnable2Step.spec +7 -0
- package/test/contracts/lib/openzeppelin-contracts/certora/specs.json +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControl.sol +248 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlCrossChain.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlDefaultAdminRules.sol +383 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/AccessControlEnumerable.sol +64 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControl.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlDefaultAdminRules.sol +172 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/IAccessControlEnumerable.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable.sol +83 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/Ownable2Step.sol +57 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/access/README.adoc +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/CrossChainEnabled.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/README.adoc +34 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/CrossChainEnabledAMB.sol +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/amb/LibAMB.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL1.sol +44 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/CrossChainEnabledArbitrumL2.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL1.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/arbitrum/LibArbitrumL2.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/errors.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/CrossChainEnabledOptimism.sol +41 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/optimism/LibOptimism.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/crosschain/polygon/CrossChainEnabledPolygonChild.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/PaymentSplitter.sol +214 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/README.adoc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/finance/VestingWallet.sol +145 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/Governor.sol +723 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/IGovernor.sol +313 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/README.adoc +176 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/TimelockController.sol +422 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +333 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +118 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorCountingSimple.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorPreventLateQuorum.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorProposalThreshold.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorSettings.sol +110 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockCompound.sol +190 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorTimelockControl.sol +166 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotes.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesComp.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +121 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/extensions/IGovernorTimelock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol +56 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/governance/utils/Votes.sol +244 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155MetadataURI.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1155Receiver.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol +80 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Receiver.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1363Spender.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Implementer.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1820Registry.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC1967.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC20Metadata.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2309.sol +21 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2612.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC2981.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4626.sol +232 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC4906.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5313.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Enumerable.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Metadata.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC721Receiver.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Recipient.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/IERC777Sender.sol +6 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/README.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC2612.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/ERC2771Context.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/MinimalForwarder.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/metatx/README.adoc +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/AccessControlCrossChainMock.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ArraysMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/Base64Dirty.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/CallReceiverMock.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ConditionalEscrowMock.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ContextMock.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/DummyImplementation.sol +57 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EIP712Verifier.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC1271WalletMock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MaliciousData.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165MissingData.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165NotSupported.sol +5 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC165/ERC165ReturnBomb.sol +18 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Mock.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC20Reentrant.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC2771ContextMock.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC3156FlashBorrowerMock.sol +53 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ERC4626Mock.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/EtherReceiverMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/InitializableMock.sol +130 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MulticallTest.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/MultipleInheritanceInitializableMocks.sol +131 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PausableMock.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/PullPaymentMock.sol +15 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyAttack.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/ReentrancyMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/RegressionImplementation.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SafeMathMemoryCheck.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/SingleInheritanceInitializableMocks.sol +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol +77 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimelockReentrant.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersBlockNumberImpl.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/TimersTimestampImpl.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/VotesMock.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/compound/CompTimelock.sol +174 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/bridges.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/crosschain/receivers.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/ERC4626Fees.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyGovernor.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyToken.sol +24 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenTimestampBased.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/docs/governance/MyTokenWrapped.sol +31 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompMock.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorCompatibilityBravoMock.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorMock.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorPreventLateQuorumMock.sol +45 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockCompoundMock.sol +60 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorTimelockControlMock.sol +60 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorVoteMock.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/governance/GovernorWithParamsMock.sol +50 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/BadBeacon.sol +11 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/ClashingImplementation.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSLegacy.sol +54 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/proxy/UUPSUpgradeableMock.sol +33 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC1155ReceiverMock.sol +47 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20DecimalsMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ExcessDecimalsMock.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20FlashMintMock.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ForceApproveMock.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20MulticallMock.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20NoReturnMock.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20PermitNoRevertMock.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20ReturnFalseMock.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC20VotesLegacyMock.sol +262 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4626OffsetMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC4646FeesMock.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveEnumerableMock.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ConsecutiveMock.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721ReceiverMock.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC721URIStorageMock.sol +17 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777Mock.sol +13 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/ERC777SenderRecipientMock.sol +152 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/token/VotesTimestamp.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor1.sol +79 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor2.sol +85 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/mocks/wizard/MyGovernor3.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/package.json +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Clones.sol +88 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Proxy.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade.sol +157 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/Proxy.sol +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/README.adoc +87 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/BeaconProxy.sol +61 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/UpgradeableBeacon.sol +65 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/ProxyAdmin.sol +81 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +191 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol +166 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/proxy/utils/UUPSUpgradeable.sol +99 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/Pausable.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/PullPayment.sol +74 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/README.adoc +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/security/ReentrancyGuard.sol +77 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol +497 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol +119 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol +58 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/README.adoc +49 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +44 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155Supply.sol +64 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol +63 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +22 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +114 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Holder.sol +36 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Receiver.sol +19 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol +365 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol +78 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/README.adoc +80 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Burnable.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Capped.sol +37 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20FlashMint.sol +109 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Pausable.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Permit.sol +95 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Snapshot.sol +191 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Votes.sol +290 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20VotesComp.sol +46 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC20Wrapper.sol +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/ERC4626.sol +256 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol +90 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +30 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +94 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol +143 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/TokenTimelock.sol +72 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/ERC721.sol +466 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721.sol +132 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/README.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Burnable.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Consecutive.sol +148 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Enumerable.sol +159 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Pausable.sol +40 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Royalty.sol +38 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721URIStorage.sol +74 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Votes.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/ERC721Wrapper.sol +97 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol +27 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/extensions/draft-ERC721Votes.sol +9 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +132 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/presets/README.md +1 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC721/utils/ERC721Holder.sol +23 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/ERC777.sol +514 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777.sol +200 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Recipient.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/IERC777Sender.sol +35 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/README.adoc +32 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +30 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/ERC2981.sol +107 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/token/common/README.adoc +10 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol +244 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Arrays.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Base64.sol +101 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Checkpoints.sol +560 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol +28 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Create2.sol +75 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Multicall.sol +39 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/README.adoc +113 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol +122 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol +138 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol +85 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/Timers.sol +75 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol +217 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol +142 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/MerkleProof.sol +227 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol +50 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol +8 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/ConditionalEscrow.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/Escrow.sol +67 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/escrow/RefundEscrow.sol +100 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol +29 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Checker.sol +126 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC165Storage.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/ERC1820Implementer.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol +25 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Implementer.sol +20 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/introspection/IERC1820Registry.sol +112 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/Math.sol +339 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol +1136 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SafeMath.sol +215 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/math/SignedSafeMath.sol +68 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol +51 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol +170 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableMap.sol +598 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol +378 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/amb/IAMB.sol +41 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IArbSys.sol +134 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IBridge.sol +102 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IDelayedMessageProvider.sol +16 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IInbox.sol +152 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/arbitrum/IOutbox.sol +117 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/ICompoundTimelock.sol +86 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/compound/LICENSE +11 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/ICrossDomainMessenger.sol +34 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/optimism/LICENSE +22 -0
- package/test/contracts/lib/openzeppelin-contracts/contracts/vendor/polygon/IFxMessageProcessor.sol +7 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/README.md +16 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/antora.yml +6 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/config.js +21 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3a.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-3b.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack-6.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-attack.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-deposit.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-mint.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-linear.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglog.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/erc4626-rate-loglogext.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-exec.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/images/tally-vote.png +0 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/nav.adoc +23 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/access-control.adoc +219 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crosschain.adoc +210 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/crowdsales.adoc +11 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/drafts.adoc +19 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc1155.adoc +153 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20-supply.adoc +113 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc20.adoc +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc4626.adoc +214 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc721.adoc +90 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/erc777.adoc +75 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/extending-contracts.adoc +131 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/governance.adoc +237 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/index.adoc +65 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/releases-stability.adoc +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/tokens.adoc +32 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/upgradeable.adoc +73 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/modules/ROOT/pages/utilities.adoc +190 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/contract.hbs +85 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/helpers.js +46 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/page.hbs +4 -0
- package/test/contracts/lib/openzeppelin-contracts/docs/templates/properties.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/foundry.toml +3 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/env-artifacts.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/env-contract.js +10 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/ignore-unreachable-warnings.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/skip-foundry-tests.js +6 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat/task-test-get-files.js +25 -0
- package/test/contracts/lib/openzeppelin-contracts/hardhat.config.js +118 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.prop.sol +404 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/ERC4626.test.sol +349 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/LICENSE +661 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/erc4626-tests/README.md +116 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.github/workflows/ci.yml +92 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/.gitmodules +3 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-APACHE +203 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/LICENSE-MIT +25 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/README.md +250 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/foundry.toml +21 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/.github/workflows/build.yml +41 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/LICENSE +674 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/Makefile +14 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/default.nix +4 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/demo/demo.sol +222 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/package.json +15 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol +469 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.t.sol +313 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/package.json +16 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Base.sol +33 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Script.sol +26 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol +376 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol +233 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol +624 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol +15 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol +92 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol +179 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol +327 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol +333 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol +189 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Test.sol +32 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol +409 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console.sol +1533 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/console2.sol +1546 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC1155.sol +105 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC165.sol +12 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC20.sol +43 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC4626.sol +190 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IERC721.sol +164 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol +73 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdAssertions.t.sol +954 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdChains.t.sol +160 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdCheats.t.sol +401 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdError.t.sol +118 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdMath.t.sol +197 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStorage.t.sol +283 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdStyle.t.sol +110 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol +297 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScript.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationScriptBase.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTest.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/compilation/CompilationTestBase.sol +10 -0
- package/test/contracts/lib/openzeppelin-contracts/lib/forge-std/test/fixtures/broadcast.log.json +187 -0
- package/test/contracts/lib/openzeppelin-contracts/logo.svg +15 -0
- package/test/contracts/lib/openzeppelin-contracts/netlify.toml +3 -0
- package/test/contracts/lib/openzeppelin-contracts/package-lock.json +28833 -0
- package/test/contracts/lib/openzeppelin-contracts/package.json +96 -0
- package/test/contracts/lib/openzeppelin-contracts/remappings.txt +1 -0
- package/test/contracts/lib/openzeppelin-contracts/renovate.json +4 -0
- package/test/contracts/lib/openzeppelin-contracts/requirements.txt +1 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compare-layout.js +19 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/compareGasReports.js +243 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/extract-layout.js +40 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/generation.sh +6 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/checks/inheritance-ordering.js +54 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/gen-nav.js +41 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/format-lines.js +16 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/run.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.js +304 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.opts.js +22 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/Checkpoints.t.js +256 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableMap.js +310 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/EnumerableSet.js +250 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/SafeCast.js +163 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/StorageSlot.js +87 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/generate/templates/conversion.js +30 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/git-user-config.sh +6 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/helpers.js +37 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/migrate-imports.js +180 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepack.sh +12 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-contracts-package.sh +15 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare-docs.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/prepare.sh +10 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/format-changelog.js +33 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/synchronize-versions.js +15 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/update-comment.js +34 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/version.sh +11 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/exit-prerelease.sh +8 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/github-release.js +47 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/integrity-check.sh +20 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/pack.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/publish.sh +26 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/rerun.js +7 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/set-changesets-pr-title.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/start.sh +35 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/release/workflow/state.js +112 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/remove-ignored-artifacts.js +45 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/update-docs-branch.js +63 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/README.md +21 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-apply.sh +19 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/patch-save.sh +18 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile-onto.sh +44 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/transpile.sh +35 -0
- package/test/contracts/lib/openzeppelin-contracts/scripts/upgradeable/upgradeable.patch +481 -0
- package/test/contracts/lib/openzeppelin-contracts/slither.config.json +5 -0
- package/test/contracts/lib/openzeppelin-contracts/test/TESTING.md +3 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.behavior.js +867 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControl.test.js +12 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlCrossChain.test.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlDefaultAdminRules.test.js +25 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/AccessControlEnumerable.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable.test.js +59 -0
- package/test/contracts/lib/openzeppelin-contracts/test/access/Ownable2Step.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/crosschain/CrossChainEnabled.test.js +78 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/PaymentSplitter.test.js +217 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.behavior.js +59 -0
- package/test/contracts/lib/openzeppelin-contracts/test/finance/VestingWallet.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.t.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/Governor.test.js +782 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/TimelockController.test.js +1254 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/compatibility/GovernorCompatibilityBravo.test.js +283 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorComp.test.js +88 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorERC721.test.js +115 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorPreventLateQuorum.test.js +189 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockCompound.test.js +352 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorTimelockControl.test.js +445 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorVotesQuorumFraction.test.js +154 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/extensions/GovernorWithParams.test.js +173 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/EIP6372.behavior.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.behavior.js +361 -0
- package/test/contracts/lib/openzeppelin-contracts/test/governance/utils/Votes.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/chainid.js +10 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/create2.js +11 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/crosschain.js +61 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/customError.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/eip712.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/enums.js +12 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/erc1967.js +24 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/governance.js +201 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/map-values.js +7 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/sign.js +63 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/time.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/helpers/txpool.js +38 -0
- package/test/contracts/lib/openzeppelin-contracts/test/metatx/ERC2771Context.test.js +175 -0
- package/test/contracts/lib/openzeppelin-contracts/test/metatx/MinimalForwarder.test.js +169 -0
- package/test/contracts/lib/openzeppelin-contracts/test/migrate-imports.test.js +33 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.behaviour.js +136 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Clones.test.js +61 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/ERC1967/ERC1967Proxy.test.js +13 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/Proxy.behaviour.js +225 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/BeaconProxy.test.js +139 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/beacon/UpgradeableBeacon.test.js +44 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/ProxyAdmin.test.js +127 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.behaviour.js +433 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/transparent/TransparentUpgradeableProxy.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/Initializable.test.js +218 -0
- package/test/contracts/lib/openzeppelin-contracts/test/proxy/utils/UUPSUpgradeable.test.js +85 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/Pausable.test.js +85 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/PullPayment.test.js +51 -0
- package/test/contracts/lib/openzeppelin-contracts/test/security/ReentrancyGuard.test.js +43 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.behavior.js +767 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/ERC1155.test.js +235 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Burnable.test.js +67 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Pausable.test.js +108 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155Supply.test.js +107 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/extensions/ERC1155URIStorage.test.js +66 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/presets/ERC1155PresetMinterPauser.test.js +156 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC1155/utils/ERC1155Holder.test.js +64 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.behavior.js +322 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/ERC20.test.js +305 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.behavior.js +106 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Burnable.test.js +20 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.behavior.js +32 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Capped.test.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20FlashMint.test.js +204 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Pausable.test.js +133 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Snapshot.test.js +207 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Votes.test.js +578 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20VotesComp.test.js +543 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC20Wrapper.test.js +190 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.t.sol +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/ERC4626.test.js +1031 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/extensions/draft-ERC20Permit.test.js +103 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetFixedSupply.test.js +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/presets/ERC20PresetMinterPauser.test.js +110 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/SafeERC20.test.js +350 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC20/utils/TokenTimelock.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.behavior.js +893 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721.test.js +15 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/ERC721Enumerable.test.js +20 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Burnable.test.js +70 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.t.sol +122 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Consecutive.test.js +206 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Pausable.test.js +92 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Royalty.test.js +41 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721URIStorage.test.js +100 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Votes.test.js +184 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/extensions/ERC721Wrapper.test.js +283 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/presets/ERC721PresetMinterPauserAutoId.test.js +122 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC721/utils/ERC721Holder.test.js +22 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.behavior.js +597 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/ERC777.test.js +556 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/ERC777/presets/ERC777PresetFixedSupply.test.js +49 -0
- package/test/contracts/lib/openzeppelin-contracts/test/token/common/ERC2981.behavior.js +157 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Address.test.js +361 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Arrays.test.js +123 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Base64.test.js +43 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.t.sol +347 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Checkpoints.test.js +255 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.behavior.js +42 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Context.test.js +17 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Counters.test.js +84 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Create2.test.js +89 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Multicall.test.js +68 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.t.sol +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/ShortStrings.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/StorageSlot.test.js +210 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/Strings.test.js +150 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersBlockNumberImpl.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/TimersTimestamp.test.js +55 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/ECDSA.test.js +260 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/EIP712.test.js +103 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/MerkleProof.test.js +200 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/cryptography/SignatureChecker.test.js +87 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/ConditionalEscrow.test.js +37 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.behavior.js +90 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/Escrow.test.js +14 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/escrow/RefundEscrow.test.js +143 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165.test.js +11 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Checker.test.js +302 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC165Storage.test.js +23 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/ERC1820Implementer.test.js +71 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/introspection/SupportsInterface.behavior.js +146 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.t.sol +217 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/Math.test.js +289 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeCast.test.js +152 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SafeMath.test.js +433 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedMath.test.js +95 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/math/SignedSafeMath.test.js +152 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/BitMap.test.js +145 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/DoubleEndedQueue.test.js +99 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.behavior.js +185 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableMap.test.js +154 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.behavior.js +129 -0
- package/test/contracts/lib/openzeppelin-contracts/test/utils/structs/EnumerableSet.test.js +79 -0
- package/test/contracts/out/AccessControl.sol/AccessControl.json +1 -0
- package/test/contracts/out/AccessControlCrossChain.sol/AccessControlCrossChain.json +1 -0
- package/test/contracts/out/AccessControlCrossChainMock.sol/AccessControlCrossChainMock.json +1 -0
- package/test/contracts/out/AccessControlDefaultAdminRules.sol/AccessControlDefaultAdminRules.json +1 -0
- package/test/contracts/out/AccessControlEnumerable.sol/AccessControlEnumerable.json +1 -0
- package/test/contracts/out/Address.sol/Address.json +1 -0
- package/test/contracts/out/Arrays.sol/Arrays.json +1 -0
- package/test/contracts/out/ArraysMock.sol/AddressArraysMock.json +1 -0
- package/test/contracts/out/ArraysMock.sol/Bytes32ArraysMock.json +1 -0
- package/test/contracts/out/ArraysMock.sol/Uint256ArraysMock.json +1 -0
- package/test/contracts/out/BadBeacon.sol/BadBeaconNoImpl.json +1 -0
- package/test/contracts/out/BadBeacon.sol/BadBeaconNotContract.json +1 -0
- package/test/contracts/out/Base.sol/CommonBase.json +1 -0
- package/test/contracts/out/Base.sol/ScriptBase.json +1 -0
- package/test/contracts/out/Base.sol/TestBase.json +1 -0
- package/test/contracts/out/Base64.sol/Base64.json +1 -0
- package/test/contracts/out/Base64Dirty.sol/Base64Dirty.json +1 -0
- package/test/contracts/out/BeaconProxy.sol/BeaconProxy.json +1 -0
- package/test/contracts/out/BitMaps.sol/BitMaps.json +1 -0
- package/test/contracts/out/CallReceiverMock.sol/CallReceiverMock.json +1 -0
- package/test/contracts/out/Checkpoints.sol/Checkpoints.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsHistoryTest.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace160Test.json +1 -0
- package/test/contracts/out/Checkpoints.t.sol/CheckpointsTrace224Test.json +1 -0
- package/test/contracts/out/ClashingImplementation.sol/ClashingImplementation.json +1 -0
- package/test/contracts/out/Clones.sol/Clones.json +1 -0
- package/test/contracts/out/CompTimelock.sol/CompTimelock.json +1 -0
- package/test/contracts/out/CompilationScript.sol/CompilationScript.json +1 -0
- package/test/contracts/out/CompilationScriptBase.sol/CompilationScriptBase.json +1 -0
- package/test/contracts/out/CompilationTest.sol/CompilationTest.json +1 -0
- package/test/contracts/out/CompilationTestBase.sol/CompilationTestBase.json +1 -0
- package/test/contracts/out/ConditionalEscrow.sol/ConditionalEscrow.json +1 -0
- package/test/contracts/out/ConditionalEscrowMock.sol/ConditionalEscrowMock.json +1 -0
- package/test/contracts/out/Context.sol/Context.json +1 -0
- package/test/contracts/out/ContextMock.sol/ContextMock.json +1 -0
- package/test/contracts/out/ContextMock.sol/ContextMockCaller.json +1 -0
- package/test/contracts/out/Counters.sol/Counters.json +1 -0
- package/test/contracts/out/Create2.sol/Create2.json +1 -0
- package/test/contracts/out/CrossChainEnabled.sol/CrossChainEnabled.json +1 -0
- package/test/contracts/out/CrossChainEnabledAMB.sol/CrossChainEnabledAMB.json +1 -0
- package/test/contracts/out/CrossChainEnabledArbitrumL1.sol/CrossChainEnabledArbitrumL1.json +1 -0
- package/test/contracts/out/CrossChainEnabledArbitrumL2.sol/CrossChainEnabledArbitrumL2.json +1 -0
- package/test/contracts/out/CrossChainEnabledOptimism.sol/CrossChainEnabledOptimism.json +1 -0
- package/test/contracts/out/CrossChainEnabledPolygonChild.sol/CrossChainEnabledPolygonChild.json +1 -0
- package/test/contracts/out/DoubleEndedQueue.sol/DoubleEndedQueue.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/DummyImplementation.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/DummyImplementationV2.json +1 -0
- package/test/contracts/out/DummyImplementation.sol/Impl.json +1 -0
- package/test/contracts/out/ECDSA.sol/ECDSA.json +1 -0
- package/test/contracts/out/EIP712.sol/EIP712.json +1 -0
- package/test/contracts/out/EIP712Verifier.sol/EIP712Verifier.json +1 -0
- package/test/contracts/out/ERC1155.sol/ERC1155.json +1 -0
- package/test/contracts/out/ERC1155Burnable.sol/ERC1155Burnable.json +1 -0
- package/test/contracts/out/ERC1155Holder.sol/ERC1155Holder.json +1 -0
- package/test/contracts/out/ERC1155Pausable.sol/ERC1155Pausable.json +1 -0
- package/test/contracts/out/ERC1155PresetMinterPauser.sol/ERC1155PresetMinterPauser.json +1 -0
- package/test/contracts/out/ERC1155Receiver.sol/ERC1155Receiver.json +1 -0
- package/test/contracts/out/ERC1155ReceiverMock.sol/ERC1155ReceiverMock.json +1 -0
- package/test/contracts/out/ERC1155Supply.sol/ERC1155Supply.json +1 -0
- package/test/contracts/out/ERC1155URIStorage.sol/ERC1155URIStorage.json +1 -0
- package/test/contracts/out/ERC1271WalletMock.sol/ERC1271MaliciousMock.json +1 -0
- package/test/contracts/out/ERC1271WalletMock.sol/ERC1271WalletMock.json +1 -0
- package/test/contracts/out/ERC165.sol/ERC165.json +1 -0
- package/test/contracts/out/ERC165Checker.sol/ERC165Checker.json +1 -0
- package/test/contracts/out/ERC165MaliciousData.sol/ERC165MaliciousData.json +1 -0
- package/test/contracts/out/ERC165MissingData.sol/ERC165MissingData.json +1 -0
- package/test/contracts/out/ERC165NotSupported.sol/ERC165NotSupported.json +1 -0
- package/test/contracts/out/ERC165ReturnBomb.sol/ERC165ReturnBombMock.json +1 -0
- package/test/contracts/out/ERC165Storage.sol/ERC165Storage.json +1 -0
- package/test/contracts/out/ERC1820Implementer.sol/ERC1820Implementer.json +1 -0
- package/test/contracts/out/ERC1967Proxy.sol/ERC1967Proxy.json +1 -0
- package/test/contracts/out/ERC1967Upgrade.sol/ERC1967Upgrade.json +1 -0
- package/test/contracts/out/ERC20.sol/ERC20.json +1 -0
- package/test/contracts/out/ERC20Burnable.sol/ERC20Burnable.json +1 -0
- package/test/contracts/out/ERC20Capped.sol/ERC20Capped.json +1 -0
- package/test/contracts/out/ERC20DecimalsMock.sol/ERC20DecimalsMock.json +1 -0
- package/test/contracts/out/ERC20ExcessDecimalsMock.sol/ERC20ExcessDecimalsMock.json +1 -0
- package/test/contracts/out/ERC20FlashMint.sol/ERC20FlashMint.json +1 -0
- package/test/contracts/out/ERC20FlashMintMock.sol/ERC20FlashMintMock.json +1 -0
- package/test/contracts/out/ERC20ForceApproveMock.sol/ERC20ForceApproveMock.json +1 -0
- package/test/contracts/out/ERC20Mock.sol/ERC20Mock.json +1 -0
- package/test/contracts/out/ERC20MulticallMock.sol/ERC20MulticallMock.json +1 -0
- package/test/contracts/out/ERC20NoReturnMock.sol/ERC20NoReturnMock.json +1 -0
- package/test/contracts/out/ERC20Pausable.sol/ERC20Pausable.json +1 -0
- package/test/contracts/out/ERC20Permit.sol/ERC20Permit.json +1 -0
- package/test/contracts/out/ERC20PermitNoRevertMock.sol/ERC20PermitNoRevertMock.json +1 -0
- package/test/contracts/out/ERC20PresetFixedSupply.sol/ERC20PresetFixedSupply.json +1 -0
- package/test/contracts/out/ERC20PresetMinterPauser.sol/ERC20PresetMinterPauser.json +1 -0
- package/test/contracts/out/ERC20Reentrant.sol/ERC20Reentrant.json +1 -0
- package/test/contracts/out/ERC20ReturnFalseMock.sol/ERC20ReturnFalseMock.json +1 -0
- package/test/contracts/out/ERC20Snapshot.sol/ERC20Snapshot.json +1 -0
- package/test/contracts/out/ERC20Votes.sol/ERC20Votes.json +1 -0
- package/test/contracts/out/ERC20VotesComp.sol/ERC20VotesComp.json +1 -0
- package/test/contracts/out/ERC20VotesLegacyMock.sol/ERC20VotesLegacyMock.json +1 -0
- package/test/contracts/out/ERC20Wrapper.sol/ERC20Wrapper.json +1 -0
- package/test/contracts/out/ERC2771Context.sol/ERC2771Context.json +1 -0
- package/test/contracts/out/ERC2771ContextMock.sol/ERC2771ContextMock.json +1 -0
- package/test/contracts/out/ERC2981.sol/ERC2981.json +1 -0
- package/test/contracts/out/ERC3156FlashBorrowerMock.sol/ERC3156FlashBorrowerMock.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/ERC4626Prop.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/IERC20.json +1 -0
- package/test/contracts/out/ERC4626.prop.sol/IERC4626.json +1 -0
- package/test/contracts/out/ERC4626.sol/ERC4626.json +1 -0
- package/test/contracts/out/ERC4626.t.sol/ERC4626StdTest.json +1 -0
- package/test/contracts/out/ERC4626.t.sol/ERC4626VaultOffsetMock.json +1 -0
- package/test/contracts/out/ERC4626.test.sol/ERC4626Test.json +1 -0
- package/test/contracts/out/ERC4626.test.sol/IMockERC20.json +1 -0
- package/test/contracts/out/ERC4626Fees.sol/ERC4626Fees.json +1 -0
- package/test/contracts/out/ERC4626Mock.sol/ERC4626Mock.json +1 -0
- package/test/contracts/out/ERC4626OffsetMock.sol/ERC4626OffsetMock.json +1 -0
- package/test/contracts/out/ERC4646FeesMock.sol/ERC4626FeesMock.json +1 -0
- package/test/contracts/out/ERC721.sol/ERC721.json +1 -0
- package/test/contracts/out/ERC721Burnable.sol/ERC721Burnable.json +1 -0
- package/test/contracts/out/ERC721Consecutive.sol/ERC721Consecutive.json +1 -0
- package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTarget.json +1 -0
- package/test/contracts/out/ERC721Consecutive.t.sol/ERC721ConsecutiveTest.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveEnumerableMock.sol/ERC721ConsecutiveEnumerableMock.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveMock.json +1 -0
- package/test/contracts/out/ERC721ConsecutiveMock.sol/ERC721ConsecutiveNoConstructorMintMock.json +1 -0
- package/test/contracts/out/ERC721Enumerable.sol/ERC721Enumerable.json +1 -0
- package/test/contracts/out/ERC721Holder.sol/ERC721Holder.json +1 -0
- package/test/contracts/out/ERC721Pausable.sol/ERC721Pausable.json +1 -0
- package/test/contracts/out/ERC721PresetMinterPauserAutoId.sol/ERC721PresetMinterPauserAutoId.json +1 -0
- package/test/contracts/out/ERC721ReceiverMock.sol/ERC721ReceiverMock.json +1 -0
- package/test/contracts/out/ERC721Royalty.sol/ERC721Royalty.json +1 -0
- package/test/contracts/out/ERC721URIStorage.sol/ERC721URIStorage.json +1 -0
- package/test/contracts/out/ERC721URIStorageMock.sol/ERC721URIStorageMock.json +1 -0
- package/test/contracts/out/ERC721Votes.sol/ERC721Votes.json +1 -0
- package/test/contracts/out/ERC721Wrapper.sol/ERC721Wrapper.json +1 -0
- package/test/contracts/out/ERC777.sol/ERC777.json +1 -0
- package/test/contracts/out/ERC777Mock.sol/ERC777Mock.json +1 -0
- package/test/contracts/out/ERC777PresetFixedSupply.sol/ERC777PresetFixedSupply.json +1 -0
- package/test/contracts/out/ERC777SenderRecipientMock.sol/ERC777SenderRecipientMock.json +1 -0
- package/test/contracts/out/EnumerableMap.sol/EnumerableMap.json +1 -0
- package/test/contracts/out/EnumerableSet.sol/EnumerableSet.json +1 -0
- package/test/contracts/out/Escrow.sol/Escrow.json +1 -0
- package/test/contracts/out/EtherReceiverMock.sol/EtherReceiverMock.json +1 -0
- package/test/contracts/out/Governor.sol/Governor.json +1 -0
- package/test/contracts/out/Governor.t.sol/GovernorInternalTest.json +1 -0
- package/test/contracts/out/GovernorCompMock.sol/GovernorCompMock.json +1 -0
- package/test/contracts/out/GovernorCompatibilityBravo.sol/GovernorCompatibilityBravo.json +1 -0
- package/test/contracts/out/GovernorCompatibilityBravoMock.sol/GovernorCompatibilityBravoMock.json +1 -0
- package/test/contracts/out/GovernorCountingSimple.sol/GovernorCountingSimple.json +1 -0
- package/test/contracts/out/GovernorMock.sol/GovernorMock.json +1 -0
- package/test/contracts/out/GovernorPreventLateQuorum.sol/GovernorPreventLateQuorum.json +1 -0
- package/test/contracts/out/GovernorPreventLateQuorumMock.sol/GovernorPreventLateQuorumMock.json +1 -0
- package/test/contracts/out/GovernorProposalThreshold.sol/GovernorProposalThreshold.json +1 -0
- package/test/contracts/out/GovernorSettings.sol/GovernorSettings.json +1 -0
- package/test/contracts/out/GovernorTimelockCompound.sol/GovernorTimelockCompound.json +1 -0
- package/test/contracts/out/GovernorTimelockCompoundMock.sol/GovernorTimelockCompoundMock.json +1 -0
- package/test/contracts/out/GovernorTimelockControl.sol/GovernorTimelockControl.json +1 -0
- package/test/contracts/out/GovernorTimelockControlMock.sol/GovernorTimelockControlMock.json +1 -0
- package/test/contracts/out/GovernorVoteMock.sol/GovernorVoteMocks.json +1 -0
- package/test/contracts/out/GovernorVotes.sol/GovernorVotes.json +1 -0
- package/test/contracts/out/GovernorVotesComp.sol/GovernorVotesComp.json +1 -0
- package/test/contracts/out/GovernorVotesQuorumFraction.sol/GovernorVotesQuorumFraction.json +1 -0
- package/test/contracts/out/GovernorWithParamsMock.sol/GovernorWithParamsMock.json +1 -0
- package/test/contracts/out/IAMB.sol/IAMB.json +1 -0
- package/test/contracts/out/IAccessControl.sol/IAccessControl.json +1 -0
- package/test/contracts/out/IAccessControlDefaultAdminRules.sol/IAccessControlDefaultAdminRules.json +1 -0
- package/test/contracts/out/IAccessControlEnumerable.sol/IAccessControlEnumerable.json +1 -0
- package/test/contracts/out/IArbSys.sol/IArbSys.json +1 -0
- package/test/contracts/out/IBeacon.sol/IBeacon.json +1 -0
- package/test/contracts/out/IBridge.sol/IBridge.json +1 -0
- package/test/contracts/out/ICompoundTimelock.sol/ICompoundTimelock.json +1 -0
- package/test/contracts/out/ICrossDomainMessenger.sol/ICrossDomainMessenger.json +1 -0
- package/test/contracts/out/IDelayedMessageProvider.sol/IDelayedMessageProvider.json +1 -0
- package/test/contracts/out/IERC1155.sol/IERC1155.json +1 -0
- package/test/contracts/out/IERC1155MetadataURI.sol/IERC1155MetadataURI.json +1 -0
- package/test/contracts/out/IERC1155Receiver.sol/IERC1155Receiver.json +1 -0
- package/test/contracts/out/IERC1271.sol/IERC1271.json +1 -0
- package/test/contracts/out/IERC1363.sol/IERC1363.json +1 -0
- package/test/contracts/out/IERC1363Receiver.sol/IERC1363Receiver.json +1 -0
- package/test/contracts/out/IERC1363Spender.sol/IERC1363Spender.json +1 -0
- package/test/contracts/out/IERC165.sol/IERC165.json +1 -0
- package/test/contracts/out/IERC1820Implementer.sol/IERC1820Implementer.json +1 -0
- package/test/contracts/out/IERC1820Registry.sol/IERC1820Registry.json +1 -0
- package/test/contracts/out/IERC1967.sol/IERC1967.json +1 -0
- package/test/contracts/out/IERC20.sol/IERC20.json +1 -0
- package/test/contracts/out/IERC20Metadata.sol/IERC20Metadata.json +1 -0
- package/test/contracts/out/IERC20Permit.sol/IERC20Permit.json +1 -0
- package/test/contracts/out/IERC2309.sol/IERC2309.json +1 -0
- package/test/contracts/out/IERC2612.sol/IERC2612.json +1 -0
- package/test/contracts/out/IERC2981.sol/IERC2981.json +1 -0
- package/test/contracts/out/IERC3156FlashBorrower.sol/IERC3156FlashBorrower.json +1 -0
- package/test/contracts/out/IERC3156FlashLender.sol/IERC3156FlashLender.json +1 -0
- package/test/contracts/out/IERC4626.sol/IERC4626.json +1 -0
- package/test/contracts/out/IERC4906.sol/IERC4906.json +1 -0
- package/test/contracts/out/IERC5267.sol/IERC5267.json +1 -0
- package/test/contracts/out/IERC5313.sol/IERC5313.json +1 -0
- package/test/contracts/out/IERC5805.sol/IERC5805.json +1 -0
- package/test/contracts/out/IERC6372.sol/IERC6372.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721Enumerable.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721Metadata.json +1 -0
- package/test/contracts/out/IERC721.sol/IERC721TokenReceiver.json +1 -0
- package/test/contracts/out/IERC721Enumerable.sol/IERC721Enumerable.json +1 -0
- package/test/contracts/out/IERC721Metadata.sol/IERC721Metadata.json +1 -0
- package/test/contracts/out/IERC721Receiver.sol/IERC721Receiver.json +1 -0
- package/test/contracts/out/IERC777.sol/IERC777.json +1 -0
- package/test/contracts/out/IERC777Recipient.sol/IERC777Recipient.json +1 -0
- package/test/contracts/out/IERC777Sender.sol/IERC777Sender.json +1 -0
- package/test/contracts/out/IFxMessageProcessor.sol/IFxMessageProcessor.json +1 -0
- package/test/contracts/out/IGovernor.sol/IGovernor.json +1 -0
- package/test/contracts/out/IGovernorCompatibilityBravo.sol/IGovernorCompatibilityBravo.json +1 -0
- package/test/contracts/out/IGovernorTimelock.sol/IGovernorTimelock.json +1 -0
- package/test/contracts/out/IInbox.sol/IInbox.json +1 -0
- package/test/contracts/out/IMulticall3.sol/IMulticall3.json +1 -0
- package/test/contracts/out/IOutbox.sol/IOutbox.json +1 -0
- package/test/contracts/out/IVotes.sol/IVotes.json +1 -0
- package/test/contracts/out/Initializable.sol/Initializable.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ChildConstructorInitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ConstructorInitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableBad1.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableBad2.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableNew.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableOk.json +1 -0
- package/test/contracts/out/InitializableMock.sol/DisableOld.json +1 -0
- package/test/contracts/out/InitializableMock.sol/InitializableMock.json +1 -0
- package/test/contracts/out/InitializableMock.sol/ReinitializerMock.json +1 -0
- package/test/contracts/out/LibAMB.sol/LibAMB.json +1 -0
- package/test/contracts/out/LibArbitrumL1.sol/LibArbitrumL1.json +1 -0
- package/test/contracts/out/LibArbitrumL2.sol/LibArbitrumL2.json +1 -0
- package/test/contracts/out/LibOptimism.sol/LibOptimism.json +1 -0
- package/test/contracts/out/Math.sol/Math.json +1 -0
- package/test/contracts/out/Math.t.sol/MathTest.json +1 -0
- package/test/contracts/out/MerkleProof.sol/MerkleProof.json +1 -0
- package/test/contracts/out/MinimalForwarder.sol/MinimalForwarder.json +1 -0
- package/test/contracts/out/MockMiladyAgentRegistry.sol/MockMiladyAgentRegistry.json +1 -0
- package/test/contracts/out/MockMiladyCollection.sol/MockMiladyCollection.json +1 -0
- package/test/contracts/out/Multicall.sol/Multicall.json +1 -0
- package/test/contracts/out/MulticallTest.sol/MulticallTest.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleChild.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleFather.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleGramps.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleHuman.json +1 -0
- package/test/contracts/out/MultipleInheritanceInitializableMocks.sol/SampleMother.json +1 -0
- package/test/contracts/out/MyGovernor.sol/MyGovernor.json +1 -0
- package/test/contracts/out/MyGovernor1.sol/MyGovernor1.json +1 -0
- package/test/contracts/out/MyGovernor2.sol/MyGovernor2.json +1 -0
- package/test/contracts/out/MyGovernor3.sol/MyGovernor3.json +1 -0
- package/test/contracts/out/MyToken.sol/MyToken.json +1 -0
- package/test/contracts/out/MyTokenTimestampBased.sol/MyTokenTimestampBased.json +1 -0
- package/test/contracts/out/MyTokenWrapped.sol/MyTokenWrapped.json +1 -0
- package/test/contracts/out/Ownable.sol/Ownable.json +1 -0
- package/test/contracts/out/Ownable2Step.sol/Ownable2Step.json +1 -0
- package/test/contracts/out/Pausable.sol/Pausable.json +1 -0
- package/test/contracts/out/PausableMock.sol/PausableMock.json +1 -0
- package/test/contracts/out/PaymentSplitter.sol/PaymentSplitter.json +1 -0
- package/test/contracts/out/Proxy.sol/Proxy.json +1 -0
- package/test/contracts/out/ProxyAdmin.sol/ProxyAdmin.json +1 -0
- package/test/contracts/out/PullPayment.sol/PullPayment.json +1 -0
- package/test/contracts/out/PullPaymentMock.sol/PullPaymentMock.json +1 -0
- package/test/contracts/out/ReentrancyAttack.sol/ReentrancyAttack.json +1 -0
- package/test/contracts/out/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/test/contracts/out/ReentrancyMock.sol/ReentrancyMock.json +1 -0
- package/test/contracts/out/RefundEscrow.sol/RefundEscrow.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation1.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation2.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation3.json +1 -0
- package/test/contracts/out/RegressionImplementation.sol/Implementation4.json +1 -0
- package/test/contracts/out/SafeCast.sol/SafeCast.json +1 -0
- package/test/contracts/out/SafeERC20.sol/SafeERC20.json +1 -0
- package/test/contracts/out/SafeMath.sol/SafeMath.json +1 -0
- package/test/contracts/out/SafeMathMemoryCheck.sol/SafeMathMemoryCheck.json +1 -0
- package/test/contracts/out/Script.sol/Script.json +1 -0
- package/test/contracts/out/ShortStrings.sol/ShortStrings.json +1 -0
- package/test/contracts/out/ShortStrings.t.sol/ShortStringsTest.json +1 -0
- package/test/contracts/out/SignatureChecker.sol/SignatureChecker.json +1 -0
- package/test/contracts/out/SignedMath.sol/SignedMath.json +1 -0
- package/test/contracts/out/SignedSafeMath.sol/SignedSafeMath.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV1.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV2.json +1 -0
- package/test/contracts/out/SingleInheritanceInitializableMocks.sol/MigratableMockV3.json +1 -0
- package/test/contracts/out/StdAssertions.sol/StdAssertions.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/StdAssertionsTest.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/TestMockCall.json +1 -0
- package/test/contracts/out/StdAssertions.t.sol/TestTest.json +1 -0
- package/test/contracts/out/StdChains.sol/StdChains.json +1 -0
- package/test/contracts/out/StdChains.t.sol/StdChainsTest.json +1 -0
- package/test/contracts/out/StdCheats.sol/StdCheats.json +1 -0
- package/test/contracts/out/StdCheats.sol/StdCheatsSafe.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/Bar.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/BarERC1155.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/BarERC721.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/RevertingContract.json +1 -0
- package/test/contracts/out/StdCheats.t.sol/StdCheatsTest.json +1 -0
- package/test/contracts/out/StdError.sol/stdError.json +1 -0
- package/test/contracts/out/StdError.t.sol/ErrorsTest.json +1 -0
- package/test/contracts/out/StdError.t.sol/StdErrorsTest.json +1 -0
- package/test/contracts/out/StdInvariant.sol/StdInvariant.json +1 -0
- package/test/contracts/out/StdJson.sol/stdJson.json +1 -0
- package/test/contracts/out/StdMath.sol/stdMath.json +1 -0
- package/test/contracts/out/StdMath.t.sol/StdMathTest.json +1 -0
- package/test/contracts/out/StdStorage.sol/stdStorage.json +1 -0
- package/test/contracts/out/StdStorage.sol/stdStorageSafe.json +1 -0
- package/test/contracts/out/StdStorage.t.sol/StdStorageTest.json +1 -0
- package/test/contracts/out/StdStorage.t.sol/StorageTest.json +1 -0
- package/test/contracts/out/StdStyle.sol/StdStyle.json +1 -0
- package/test/contracts/out/StdStyle.t.sol/StdStyleTest.json +1 -0
- package/test/contracts/out/StdUtils.sol/StdUtils.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsForkTest.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsMock.json +1 -0
- package/test/contracts/out/StdUtils.t.sol/StdUtilsTest.json +1 -0
- package/test/contracts/out/StorageSlot.sol/StorageSlot.json +1 -0
- package/test/contracts/out/StorageSlotMock.sol/StorageSlotMock.json +1 -0
- package/test/contracts/out/Strings.sol/Strings.json +1 -0
- package/test/contracts/out/TimelockController.sol/TimelockController.json +1 -0
- package/test/contracts/out/TimelockReentrant.sol/TimelockReentrant.json +1 -0
- package/test/contracts/out/Timers.sol/Timers.json +1 -0
- package/test/contracts/out/TimersBlockNumberImpl.sol/TimersBlockNumberImpl.json +1 -0
- package/test/contracts/out/TimersTimestampImpl.sol/TimersTimestampImpl.json +1 -0
- package/test/contracts/out/TokenTimelock.sol/TokenTimelock.json +1 -0
- package/test/contracts/out/TransparentUpgradeableProxy.sol/ITransparentUpgradeableProxy.json +1 -0
- package/test/contracts/out/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +1 -0
- package/test/contracts/out/UUPSLegacy.sol/UUPSUpgradeableLegacyMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeable.sol/UUPSUpgradeable.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/NonUpgradeableMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableMock.json +1 -0
- package/test/contracts/out/UUPSUpgradeableMock.sol/UUPSUpgradeableUnsafeMock.json +1 -0
- package/test/contracts/out/UpgradeableBeacon.sol/UpgradeableBeacon.json +1 -0
- package/test/contracts/out/VestingWallet.sol/VestingWallet.json +1 -0
- package/test/contracts/out/Vm.sol/Vm.json +1 -0
- package/test/contracts/out/Vm.sol/VmSafe.json +1 -0
- package/test/contracts/out/Votes.sol/Votes.json +1 -0
- package/test/contracts/out/VotesMock.sol/VotesMock.json +1 -0
- package/test/contracts/out/VotesMock.sol/VotesTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC20VotesCompTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC20VotesTimestampMock.json +1 -0
- package/test/contracts/out/VotesTimestamp.sol/ERC721VotesTimestampMock.json +1 -0
- package/test/contracts/out/bridges.sol/BaseRelayMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeAMBMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Inbox.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Mock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL1Outbox.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeArbitrumL2Mock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgeOptimismMock.json +1 -0
- package/test/contracts/out/bridges.sol/BridgePolygonChildMock.json +1 -0
- package/test/contracts/out/build-info/2be03bb8eb1ccda1.json +1 -0
- package/test/contracts/out/console.sol/console.json +1 -0
- package/test/contracts/out/console2.sol/console2.json +1 -0
- package/test/contracts/out/demo.sol/DemoTest.json +1 -0
- package/test/contracts/out/demo.sol/DemoTestWithSetUp.json +1 -0
- package/test/contracts/out/draft-IERC1822.sol/IERC1822Proxiable.json +1 -0
- package/test/contracts/out/interfaces/IERC1155.sol/IERC1155.json +1 -0
- package/test/contracts/out/interfaces/IERC165.sol/IERC165.json +1 -0
- package/test/contracts/out/interfaces/IERC20.sol/IERC20.json +1 -0
- package/test/contracts/out/interfaces/IERC4626.sol/IERC4626.json +1 -0
- package/test/contracts/out/interfaces/IERC721.sol/IERC721.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledAMBMock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL1Mock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledArbitrumL2Mock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledOptimismMock.json +1 -0
- package/test/contracts/out/receivers.sol/CrossChainEnabledPolygonChildMock.json +1 -0
- package/test/contracts/out/receivers.sol/Receiver.json +1 -0
- package/test/contracts/out/test.sol/DSTest.json +1 -0
- package/test/contracts/out/test.sol/Test.json +1 -0
- package/test/contracts/out/test.t.sol/DemoTest.json +1 -0
- package/test/database-api.e2e.test.ts +666 -0
- package/test/debug-anvil.ts +44 -0
- package/test/deferred-restart.e2e.test.ts +368 -0
- package/test/discord-connector.e2e.test.ts +463 -0
- package/test/e2e-global-setup.ts +29 -0
- package/test/e2e-validation.e2e.test.ts +1588 -0
- package/test/health-endpoint.e2e.test.ts +95 -0
- package/test/knowledge-e2e-flow.e2e.test.ts +134 -0
- package/test/knowledge-live.e2e.test.ts +405 -0
- package/test/mcp-config.e2e.test.ts +630 -0
- package/test/native-modules.e2e.test.ts +470 -0
- package/test/permissions-api.e2e.test.ts +637 -0
- package/test/plugin-install.e2e.test.ts +645 -0
- package/test/plugin-lifecycle.e2e.test.ts +617 -0
- package/test/plugin-management.e2e.test.ts +308 -0
- package/test/provider-switch.e2e.test.ts +322 -0
- package/test/scripts/test-force.ts +139 -0
- package/test/scripts/test-parallel.mjs +192 -0
- package/test/scripts/validate-all-features.sh +557 -0
- package/test/setup.ts +122 -0
- package/test/signal-connector.e2e.test.ts +229 -0
- package/test/skills-marketplace-api.e2e.test.ts +585 -0
- package/test/skills-marketplace-services.e2e.test.ts +518 -0
- package/test/skills-marketplace.e2e.test.ts +268 -0
- package/test/stubs/coding-agent-module.ts +18 -0
- package/test/stubs/electron-module.ts +17 -0
- package/test/stubs/empty-module.mjs +4 -0
- package/test/stubs/pi-ai-module.ts +12 -0
- package/test/subscription-auth.e2e.test.ts +747 -0
- package/test/terminal-execution.e2e.test.ts +134 -0
- package/test/terminal-run-limits.e2e.test.ts +132 -0
- package/test/test-env.ts +156 -0
- package/test/trajectory-collection.e2e.test.ts +800 -0
- package/test/trajectory-database.e2e.test.ts +209 -0
- package/test/trajectory-embedding-filter.e2e.test.ts +317 -0
- package/test/trajectory-restart-carryover.e2e.test.ts +306 -0
- package/test/trigger-execution-flow.e2e.test.ts +132 -0
- package/test/trigger-runtime.e2e.test.ts +247 -0
- package/test/wallet-api.e2e.test.ts +1295 -0
- package/test/wallet-live.e2e.test.ts +428 -0
- package/vitest.e2e.config.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"getTokenBalances_","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"addresses","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"balances","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b506107088061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610029575f3560e01c806328ff954d1461002d575b5f80fd5b61004061003b3660046103d4565b610056565b60405161004d919061047f565b60405180910390f35b60606100628383610069565b9392505050565b6060823b806100fb5760405162461bcd60e51b815260206004820152604e60248201527f5374645574696c7320676574546f6b656e42616c616e6365732861646472657360448201527f732c616464726573735b5d293a20546f6b656e2061646472657373206973206e60648201526d37ba10309031b7b73a3930b1ba1760911b608482015260a40160405180910390fd5b82515f8167ffffffffffffffff8111156101175761011761036c565b60405190808252806020026020018201604052801561015c57816020015b604080518082019091525f8152606060208201528152602001906001900390816101355790505b5090505f5b8281101561021e576040518060400160405280886001600160a01b031681526020016370a0823188848151811061019a5761019a6104c2565b60200260200101516040516024016101c191906001600160a01b0391909116815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050815250828281518110610202576102026104c2565b602002602001018190525080610217906104d6565b9050610161565b50604051631296dd2160e11b81525f9073ca11bde05977b3631167028862be2a173976ca119063252dba429061025890859060040161051c565b5f604051808303815f875af1158015610273573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261029a91908101906105b4565b9150508267ffffffffffffffff8111156102b6576102b661036c565b6040519080825280602002602001820160405280156102df578160200160208202803683370190505b5094505f5b83811015610346578181815181106102fe576102fe6104c2565b602002602001015180602001905181019061031991906106bb565b86828151811061032b5761032b6104c2565b602090810291909101015261033f816104d6565b90506102e4565b505050505092915050565b80356001600160a01b0381168114610367575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156103a9576103a961036c565b604052919050565b5f67ffffffffffffffff8211156103ca576103ca61036c565b5060051b60200190565b5f80604083850312156103e5575f80fd5b6103ee83610351565b915060208084013567ffffffffffffffff81111561040a575f80fd5b8401601f8101861361041a575f80fd5b803561042d610428826103b1565b610380565b81815260059190911b8201830190838101908883111561044b575f80fd5b928401925b828410156104705761046184610351565b82529284019290840190610450565b80955050505050509250929050565b602080825282518282018190525f9190848201906040850190845b818110156104b65783518352928401929184019160010161049a565b50909695505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f600182016104f357634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f5b838110156105145781810151838201526020016104fc565b50505f910152565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f5b838110156105a657888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052606061058382828801858d016104fa565b96890196601f91909101601f191694909401909301925090860190600101610541565b509098975050505050505050565b5f8060408084860312156105c6575f80fd5b8351925060208085015167ffffffffffffffff808211156105e5575f80fd5b8187019150601f88818401126105f9575f80fd5b8251610607610428826103b1565b81815260059190911b8401850190858101908b831115610625575f80fd5b8686015b838110156106a857805186811115610640575f8081fd5b8701603f81018e13610651575f8081fd5b88810151878111156106655761066561036c565b610676818801601f19168b01610380565b8181528f8c83850101111561068a575f8081fd5b610699828c83018e86016104fa565b85525050918701918701610629565b5080985050505050505050509250929050565b5f602082840312156106cb575f80fd5b505191905056fea264697066735822122000141843bbe87f9867ff893186303b0205b8559e90829b37e0cc804f6e7b374b64736f6c63430008140033","sourceMap":"92:309:299:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610029575f3560e01c806328ff954d1461002d575b5f80fd5b61004061003b3660046103d4565b610056565b60405161004d919061047f565b60405180910390f35b60606100628383610069565b9392505050565b6060823b806100fb5760405162461bcd60e51b815260206004820152604e60248201527f5374645574696c7320676574546f6b656e42616c616e6365732861646472657360448201527f732c616464726573735b5d293a20546f6b656e2061646472657373206973206e60648201526d37ba10309031b7b73a3930b1ba1760911b608482015260a40160405180910390fd5b82515f8167ffffffffffffffff8111156101175761011761036c565b60405190808252806020026020018201604052801561015c57816020015b604080518082019091525f8152606060208201528152602001906001900390816101355790505b5090505f5b8281101561021e576040518060400160405280886001600160a01b031681526020016370a0823188848151811061019a5761019a6104c2565b60200260200101516040516024016101c191906001600160a01b0391909116815260200190565b6040516020818303038152906040529060e01b6020820180516001600160e01b038381831617835250505050815250828281518110610202576102026104c2565b602002602001018190525080610217906104d6565b9050610161565b50604051631296dd2160e11b81525f9073ca11bde05977b3631167028862be2a173976ca119063252dba429061025890859060040161051c565b5f604051808303815f875af1158015610273573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261029a91908101906105b4565b9150508267ffffffffffffffff8111156102b6576102b661036c565b6040519080825280602002602001820160405280156102df578160200160208202803683370190505b5094505f5b83811015610346578181815181106102fe576102fe6104c2565b602002602001015180602001905181019061031991906106bb565b86828151811061032b5761032b6104c2565b602090810291909101015261033f816104d6565b90506102e4565b505050505092915050565b80356001600160a01b0381168114610367575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156103a9576103a961036c565b604052919050565b5f67ffffffffffffffff8211156103ca576103ca61036c565b5060051b60200190565b5f80604083850312156103e5575f80fd5b6103ee83610351565b915060208084013567ffffffffffffffff81111561040a575f80fd5b8401601f8101861361041a575f80fd5b803561042d610428826103b1565b610380565b81815260059190911b8201830190838101908883111561044b575f80fd5b928401925b828410156104705761046184610351565b82529284019290840190610450565b80955050505050509250929050565b602080825282518282018190525f9190848201906040850190845b818110156104b65783518352928401929184019160010161049a565b50909695505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f600182016104f357634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f5b838110156105145781810151838201526020016104fc565b50505f910152565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f5b838110156105a657888303603f19018552815180516001600160a01b031684528701518784018790528051878501819052606061058382828801858d016104fa565b96890196601f91909101601f191694909401909301925090860190600101610541565b509098975050505050505050565b5f8060408084860312156105c6575f80fd5b8351925060208085015167ffffffffffffffff808211156105e5575f80fd5b8187019150601f88818401126105f9575f80fd5b8251610607610428826103b1565b81815260059190911b8401850190858101908b831115610625575f80fd5b8686015b838110156106a857805186811115610640575f8081fd5b8701603f81018e13610651575f8081fd5b88810151878111156106655761066561036c565b610676818801601f19168b01610380565b8181528f8c83850101111561068a575f8081fd5b610699828c83018e86016104fa565b85525050918701918701610629565b5080985050505050505050509250929050565b5f602082840312156106cb575f80fd5b505191905056fea264697066735822122000141843bbe87f9867ff893186303b0205b8559e90829b37e0cc804f6e7b374b64736f6c63430008140033","sourceMap":"92:309:299:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;206:193;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;310:25;358:34;375:5;382:9;358:16;:34::i;:::-;351:41;206:193;-1:-1:-1;;;206:193:299:o;8053:1124:281:-;8172:25;8284:18;;8329:17;8321:108;;;;-1:-1:-1;;;8321:108:281;;2607:2:310;8321:108:281;;;2589:21:310;2646:2;2626:18;;;2619:30;2685:34;2665:18;;;2658:62;2756:34;2736:18;;;2729:62;-1:-1:-1;;;2807:19:310;;;2800:45;2862:19;;8321:108:281;;;;;;;;8513:16;;8496:14;8513:16;8573:30;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;8573:30:281;;;;;;;;;;;;;;;;8539:64;;8618:9;8613:226;8637:6;8633:1;:10;8613:226;;;8733:95;;;;;;;;8759:5;-1:-1:-1;;;;;8733:95:281;;;;;8799:10;8812:9;8822:1;8812:12;;;;;;;;:::i;:::-;;;;;;;8776:50;;;;;;;-1:-1:-1;;;;;3188:32:310;;;;3170:51;;3158:2;3143:18;;3024:203;8776:50:281;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8776:50:281;;;;;;;;;;;8733:95;;;8722:5;8728:1;8722:8;;;;;;;;:::i;:::-;;;;;;:106;;;;8645:3;;;;:::i;:::-;;;8613:226;;;-1:-1:-1;8917:26:281;;-1:-1:-1;;;8917:26:281;;8888:25;;511:42;;8917:19;;:26;;8937:5;;8917:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8917:26:281;;;;;;;;;;;;:::i;:::-;8885:58;;;9042:6;9028:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9028:21:281;;9017:32;;9064:9;9059:112;9083:6;9079:1;:10;9059:112;;;9135:10;9146:1;9135:13;;;;;;;;:::i;:::-;;;;;;;9124:36;;;;;;;;;;;;:::i;:::-;9110:8;9119:1;9110:11;;;;;;;;:::i;:::-;;;;;;;;;;:50;9091:3;;;:::i;:::-;;;9059:112;;;;8203:974;;;;8053:1124;;;;:::o;14:173:310:-;82:20;;-1:-1:-1;;;;;131:31:310;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:127::-;253:10;248:3;244:20;241:1;234:31;284:4;281:1;274:15;308:4;305:1;298:15;324:275;395:2;389:9;460:2;441:13;;-1:-1:-1;;437:27:310;425:40;;495:18;480:34;;516:22;;;477:62;474:88;;;542:18;;:::i;:::-;578:2;571:22;324:275;;-1:-1:-1;324:275:310:o;604:183::-;664:4;697:18;689:6;686:30;683:56;;;719:18;;:::i;:::-;-1:-1:-1;764:1:310;760:14;776:4;756:25;;604:183::o;792:971::-;885:6;893;946:2;934:9;925:7;921:23;917:32;914:52;;;962:1;959;952:12;914:52;985:29;1004:9;985:29;:::i;:::-;975:39;;1033:2;1086;1075:9;1071:18;1058:32;1113:18;1105:6;1102:30;1099:50;;;1145:1;1142;1135:12;1099:50;1168:22;;1221:4;1213:13;;1209:27;-1:-1:-1;1199:55:310;;1250:1;1247;1240:12;1199:55;1286:2;1273:16;1309:60;1325:43;1365:2;1325:43;:::i;:::-;1309:60;:::i;:::-;1403:15;;;1485:1;1481:10;;;;1473:19;;1469:28;;;1434:12;;;;1509:19;;;1506:39;;;1541:1;1538;1531:12;1506:39;1565:11;;;;1585:148;1601:6;1596:3;1593:15;1585:148;;;1667:23;1686:3;1667:23;:::i;:::-;1655:36;;1618:12;;;;1711;;;;1585:148;;;1752:5;1742:15;;;;;;;792:971;;;;;:::o;1768:632::-;1939:2;1991:21;;;2061:13;;1964:18;;;2083:22;;;1910:4;;1939:2;2162:15;;;;2136:2;2121:18;;;1910:4;2205:169;2219:6;2216:1;2213:13;2205:169;;;2280:13;;2268:26;;2349:15;;;;2314:12;;;;2241:1;2234:9;2205:169;;;-1:-1:-1;2391:3:310;;1768:632;-1:-1:-1;;;;;;1768:632:310:o;2892:127::-;2953:10;2948:3;2944:20;2941:1;2934:31;2984:4;2981:1;2974:15;3008:4;3005:1;2998:15;3232:232;3271:3;3292:17;;;3289:140;;3351:10;3346:3;3342:20;3339:1;3332:31;3386:4;3383:1;3376:15;3414:4;3411:1;3404:15;3289:140;-1:-1:-1;3456:1:310;3445:13;;3232:232::o;3469:250::-;3554:1;3564:113;3578:6;3575:1;3572:13;3564:113;;;3654:11;;;3648:18;3635:11;;;3628:39;3600:2;3593:10;3564:113;;;-1:-1:-1;;3711:1:310;3693:16;;3686:27;3469:250::o;3724:1270::-;3912:4;3941:2;3981;3970:9;3966:18;4011:2;4000:9;3993:21;4034:6;4069;4063:13;4100:6;4092;4085:22;4126:2;4116:12;;4159:2;4148:9;4144:18;4137:25;;4221:2;4211:6;4208:1;4204:14;4193:9;4189:30;4185:39;4259:2;4251:6;4247:15;4280:1;4290:675;4304:6;4301:1;4298:13;4290:675;;;4369:22;;;-1:-1:-1;;4365:36:310;4353:49;;4425:13;;4470:9;;-1:-1:-1;;;;;4466:35:310;4451:51;;4541:11;;4535:18;4573:15;;;4566:27;;;4622:19;;4661:15;;;4654:33;;;4710:2;4725:84;4622:19;4783:15;;;4760:21;;;4725:84;:::i;:::-;4943:12;;;;4875:2;4852:17;;;;-1:-1:-1;;4848:31:310;4836:44;;;;4832:53;;;;-1:-1:-1;4908:15:310;;;;4326:1;4319:9;4290:675;;;-1:-1:-1;4982:6:310;;3724:1270;-1:-1:-1;;;;;;;;3724:1270:310:o;4999:1774::-;5112:6;5120;5151:2;5194;5182:9;5173:7;5169:23;5165:32;5162:52;;;5210:1;5207;5200:12;5162:52;5239:9;5233:16;5223:26;;5268:2;5314;5303:9;5299:18;5293:25;5337:18;5378:2;5370:6;5367:14;5364:34;;;5394:1;5391;5384:12;5364:34;5432:6;5421:9;5417:22;5407:32;;5458:4;5498:7;5493:2;5489;5485:11;5481:25;5471:53;;5520:1;5517;5510:12;5471:53;5549:2;5543:9;5572:60;5588:43;5628:2;5588:43;:::i;5572:60::-;5666:15;;;5748:1;5744:10;;;;5736:19;;5732:28;;;5697:12;;;;5772:19;;;5769:39;;;5804:1;5801;5794:12;5769:39;5836:2;5832;5828:11;5848:895;5864:6;5859:3;5856:15;5848:895;;;5943:3;5937:10;5979:2;5966:11;5963:19;5960:109;;;6023:1;6052:2;6048;6041:14;5960:109;6092:20;;6147:2;6139:11;;6135:25;-1:-1:-1;6125:123:310;;6202:1;6231:2;6227;6220:14;6125:123;6286:2;6282;6278:11;6272:18;6314:2;6309:3;6306:11;6303:37;;;6320:18;;:::i;:::-;6366:52;6390:12;;;-1:-1:-1;;6386:26:310;6382:35;;6366:52;:::i;:::-;6445:3;6438:5;6431:18;6491:7;6486:2;6480:3;6476:2;6472:12;6468:21;6465:34;6462:127;;;6541:1;6571:3;6566;6559:16;6462:127;6602:68;6666:3;6661:2;6654:5;6650:14;6645:2;6641;6637:11;6602:68;:::i;:::-;6683:18;;-1:-1:-1;;6721:12:310;;;;5881;;5848:895;;;5852:3;6762:5;6752:15;;;;;;;;;;4999:1774;;;;;:::o;6778:184::-;6848:6;6901:2;6889:9;6880:7;6876:23;6872:32;6869:52;;;6917:1;6914;6907:12;6869:52;-1:-1:-1;6940:16:310;;6778:184;-1:-1:-1;6778:184:310:o","linkReferences":{}},"methodIdentifiers":{"getTokenBalances_(address,address[])":"28ff954d"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"addresses\",\"type\":\"address[]\"}],\"name\":\"getTokenBalances_\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"balances\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol\":\"StdUtilsMock\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol\":{\"keccak256\":\"0x98b7ab6bce1b0cfbc3d9a5c7fa1cea31d7b2bfd6f89b3ab40b3388430a33410e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b33b5eb0d095c6d9b632f55444b9a30e84503a08ff511ce1a64e9a073d50b1\",\"dweb:/ipfs/QmdmrW51o1ZW9za7c7utvPpFFEoR4DNNp5N8apdvWhDfNL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address[]","name":"addresses","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"getTokenBalances_","outputs":[{"internalType":"uint256[]","name":"balances","type":"uint256[]"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol":"StdUtilsMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol":{"keccak256":"0x98b7ab6bce1b0cfbc3d9a5c7fa1cea31d7b2bfd6f89b3ab40b3388430a33410e","urls":["bzz-raw://10b33b5eb0d095c6d9b632f55444b9a30e84503a08ff511ce1a64e9a073d50b1","dweb:/ipfs/QmdmrW51o1ZW9za7c7utvPpFFEoR4DNNp5N8apdvWhDfNL"],"license":"MIT"}},"version":1},"id":299}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testBound","inputs":[{"name":"num","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBound","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundInt","inputs":[{"name":"num","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundInt","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundIntInt256Max","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundIntInt256Min","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundInt_DistributionIsEven","inputs":[{"name":"min","type":"int256","internalType":"int256"},{"name":"size","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundInt_EdgeCoverage","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundInt_WithinRange","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBoundUint256Max","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBound_DistributionIsEven","inputs":[{"name":"min","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBound_EdgeCoverage","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBound_WithinRange","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testBytesToUint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotBoundIntMaxLessThanMin","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotBoundIntMaxLessThanMin","inputs":[{"name":"num","type":"int256","internalType":"int256"},{"name":"min","type":"int256","internalType":"int256"},{"name":"max","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotBoundMaxLessThanMin","inputs":[{"name":"num","type":"uint256","internalType":"uint256"},{"name":"min","type":"uint256","internalType":"uint256"},{"name":"max","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotBoundMaxLessThanMin","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotConvertGT32Bytes","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testComputeCreate2Address","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testComputeCreate2AddressWithDefaultDeployer","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testComputeCreateAddress","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x60806040525f8054600160ff19918216811790925560048054909116909117905534801561002b575f80fd5b50612d7c806100395f395ff3fe608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638bd6468911610109578063d340432c1161009e578063f4faa6a61161006e578063f4faa6a61461034f578063fa5fd5f414610357578063fa7626d41461035f578063fd2aea041461036b575f80fd5b8063d340432c1461032f578063dfe0582914610337578063e20c9f711461033f578063e7c0f27114610347575f80fd5b8063ac23c3da116100d9578063ac23c3da146102ff578063b5508aa914610307578063ba414fa61461030f578063c67d3c0114610327575f80fd5b80638bd64689146102c9578063916a17c6146102dc5780639d6d85bb146102e4578063a8d04d08146102f7575f80fd5b80634431cc721161017f5780636f9826331161014f5780636f9826331461029157806385226c811461029957806387b338ab146102ae5780638b242946146102c1575f80fd5b80634431cc72146102595780634ee2d9f51461026c57806360a7874c1461027457806366d9a9a01461027c575f80fd5b80633e5e3c23116101ba5780633e5e3c231461022e5780633f7286f41461023657806341b01c201461023e5780634243de0614610251575f80fd5b8063073afe37146101eb5780631ed7831c146101f557806339c6b676146102135780633c84a8791461021b575b5f80fd5b6101f3610373565b005b6101fd6103ff565b60405161020a91906125d6565b60405180910390f35b6101f361045f565b6101f3610229366004612622565b6104ee565b6101fd6105dc565b6101fd61063a565b6101f361024c36600461264b565b610698565b6101f361079b565b6101f3610267366004612622565b6107fb565b6101f361085a565b6101f36108de565b610284610969565b60405161020a919061266b565b6101f3610a53565b6102a1610ae2565b60405161020a9190612769565b6101f36102bc366004612622565b610bad565b6101f3610c07565b6101f36102d7366004612622565b610c4e565b610284610d36565b6101f36102f236600461264b565b610e17565b6101f3610f08565b6101f3610f85565b6102a1611022565b6103176110ed565b604051901515815260200161020a565b6101f3611210565b6101f36112c4565b6101f361132d565b6101fd61136f565b6101f36113cd565b6101f361147c565b6101f36114b5565b5f546103179060ff1681565b6101f36116a2565b5f604051806060016040528060218152602001612d066021913960405163f28dceb360e01b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3906103c5906004016127c9565b5f604051808303815f87803b1580156103dc575f80fd5b505af11580156103ee573d5f803e3d5ffd5b505050506103fb81611735565b5050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610437575b5050505050905090565b6040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391612c6d60208301396040518263ffffffff1660e01b81526004016104af9190612823565b5f604051808303815f87803b1580156104c6575f80fd5b505af11580156104d8573d5f803e3d5ffd5b505050506104eb6004196064600a6117eb565b50565b604051632631f2b160e11b81528183116004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610538575f80fd5b505afa15801561054a573d5f803e3d5ffd5b50506040805160608101909152603e808252737109709ecfa91a80626ff3989d68f67f5b1dd12d935063f28dceb39250612ca860208301396040518263ffffffff1660e01b815260040161059e9190612823565b5f604051808303815f87803b1580156105b5575f80fd5b505af11580156105c7573d5f803e3d5ffd5b505050506105d68383836119fc565b50505050565b6060600f80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610437575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610437575050505050905090565b6106a3606482612849565b6106ae906001612870565b90506106e2826106bf600284612883565b6106c890612896565b6106d3600285612883565b6106dd90856128b0565b6117eb565b91505f60016106f183856128c3565b6106fb91906128ea565b90505f60015b61070c846004612910565b81116107945761072661071f82856128c3565b86856117eb565b915061075182856107386001856128b0565b6107429190612849565b61074c90886128c3565b611a3f565b61075e61071f82876128ea565b915061078482856107706001856128b0565b61077a9190612849565b61074c90866128ea565b61078d81612927565b9050610701565b5050505050565b6107d36107c15f6107b460016001600160ff1b036128ea565b6001600160ff1b036117eb565b61074c60016001600160ff1b036128ea565b6107f96107ec60016107b4816001600160ff1b036128ea565b6001600160ff1b03611a3f565b565b8082111561080557905b5f6108118484846119fc565b905061081d8184611af4565b6108278183611b9b565b61083b816108368386866119fc565b611bfa565b82841015801561084b5750818411155b156105d6576105d68185611bfa565b61087361086c603360311960966117eb565b6033611a3f565b6108a1610885603360311960966117eb565b61074c610897603360311960966117eb565b60311960966117eb565b6108ba6108b3609560311960966117eb565b6095611a3f565b6107f96108cc609560311960966117eb565b61074c610897609560311960966117eb565b6040805160608101909152603e808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391612ca860208301396040518263ffffffff1660e01b815260040161092e9190612823565b5f604051808303815f87803b158015610945575f80fd5b505af1158015610957573d5f803e3d5ffd5b505050506104eb60056064600a6119fc565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610a4a575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a3257602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116109f45790505b5050505050815250508152602001906001019061098c565b50505050905090565b60408051808201825260208082525f19818301528251808401845260018152600160f91b818301528351808501909452600a845266d3c21bcecceda160c81b918401919091529091610aae610aa784611735565b5f19611bfa565b610ac1610aba83611735565b6002611bfa565b610add610acd82611735565b69d3c21bcecceda1000000611bfa565b505050565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610a4a578382905f5260205f20018054610b229061293f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e9061293f565b8015610b995780601f10610b7057610100808354040283529160200191610b99565b820191905f5260205f20905b815481529060010190602001808311610b7c57829003601f168201915b505050505081526020019060010190610b05565b80821315610bb757905b5f610bc38484846117eb565b9050610bcf8184611ca0565b610bd98183611d46565b610be88161074c8386866117eb565b828412158015610bf85750818413155b156105d6576105d68185611a3f565b610c28610c1e5f600160ff1b6106dd8160016128c3565b600160ff1b611a3f565b6107f9610c3f6001600160ff1b6106dd81836128c3565b61074c600160ff1b60016128c3565b604051632631f2b160e11b81528183136004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610c98575f80fd5b505afa158015610caa573d5f803e3d5ffd5b50506040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d935063f28dceb39250612c6d60208301396040518263ffffffff1660e01b8152600401610cfe9190612823565b5f604051808303815f87803b158015610d15575f80fd5b505af1158015610d27573d5f803e3d5ffd5b505050506105d68383836117eb565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610a4a575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610dff57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610dc15790505b50505050508152505081526020019060010190610d59565b610e22606482612849565b610e2d906001612870565b9050610e5b82610e3f60025f19612883565b83610e4c60025f19612883565b610e569190612870565b6119fc565b91505f6001610e6a8385612870565b610e7491906128b0565b90505f60015b610e85846004612910565b811161079457610e9f610e988285612870565b86856119fc565b9150610ec58285610eb16001856128b0565b610ebb9190612849565b6108369088612870565b610ed2610e9882876128b0565b9150610ef88285610ee46001856128b0565b610eee9190612849565b61083690866128b0565b610f0181612927565b9050610e7a565b610f20610f196033603260966119fc565b6033611bfa565b610f4b610f316033603260966119fc565b610836610f426033603260966119fc565b603260966119fc565b610f63610f5c6095603260966119fc565b6095611bfa565b6107f9610f746095603260966119fc565b610836610f426095603260966119fc565b610f9d610f966002195f60046117eb565b6002611a3f565b610fb5610fad5f604419806117eb565b604419611a3f565b610fcf610fc75f6044196043196117eb565b604319611a3f565b610fe8610fe1600919609660be6117eb565b609a611a3f565b611005610ffd61012b19610af0610c806117eb565b610b5c611a3f565b6107f961101a61270f61053819611a0a6117eb565b6107cb611a3f565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610a4a578382905f5260205f200180546110629061293f565b80601f016020809104026020016040519081016040528092919081815260200182805461108e9061293f565b80156110d95780601f106110b0576101008083540402835291602001916110d9565b820191905f5260205f20905b8154815290600101906020018083116110bc57829003601f168201915b505050505081526020019060010190611045565b5f8054610100900460ff161561110b57505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561120b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091611197917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001612977565b60408051601f19818403018152908290526111b1916129a7565b5f604051808303815f865af19150503d805f81146111ea576040519150601f19603f3d011682016040523d82523d5f602084013e6111ef565b606091505b509150508080602001905181019061120791906129c2565b9150505b919050565b6112276112205f603260966119fc565b6032611bfa565b611238610f196001603260966119fc565b6112506112496002603260966119fc565b6034611bfa565b6112686112616003603260966119fc565b6035611bfa565b6112806112795f19603260966119fc565b6096611bfa565b611292610f5c610f4260015f196128b0565b6112ab6112a4610f4260025f196128b0565b6094611bfa565b6107f96112bd610f4260035f196128b0565b6093611bfa565b604080516160806020808301919091528251808303820181529183019092528051910120617ab790736c9fc64a53c1b71fb3f9af64d1ae3a4931a5f4e95f61130d848484611da4565b90506105d68173b147a5d25748fda14b463eb04b111027c290f4d3611e02565b736c9fc64a53c1b71fb3f9af64d1ae3a4931a5f4e9600e5f61134f8383611ee3565b9050610add817368b3465833fb72a70ecdf485e0e4c7bd8665fc45611e02565b6060600c80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610437575050505050905090565b5f7fc290c670fde54e5ef686f9132cbc8711e76a98f0333a438a92daa442c71403c05f1b90505f61142560405180604001604052806002815260200160c160f71b81525060405180602001604052805f8152506120f5565b9050611451817f1a578b7a4b0b5755db6d121b4118d4bc68fe170dca840c59bc922f14175a76b0612127565b5f61145c83836121f6565b9050610add8173c0ffee2198a06235aabfffe5db0cacf1717f5ac6611e02565b6114a26114965f61148f60015f196128b0565b5f196119fc565b61083660015f196128b0565b6107f9610aa7600161148f815f196128b0565b6114d26114ca600160ff1b60311960966117eb565b603119611a3f565b6114ef6114e7610897600160ff1b60016128c3565b603019611a3f565b61150c611504610897600160ff1b60026128c3565b602f19611a3f565b611529611521610897600160ff1b60036128c3565b602e19611a3f565b61154461153d600160ff1b600a60966117eb565b600a611a3f565b611569611562611559600160ff1b60016128c3565b600a60966117eb565b600b611a3f565b61158561157e611559600160ff1b60026128c3565b600c611a3f565b6115a161159a611559600160ff1b60036128c3565b600d611a3f565b6115c06115b96001600160ff1b0360311960966117eb565b6096611a3f565b6115d86108b361089760016001600160ff1b036128ea565b6115f76115f061089760026001600160ff1b036128ea565b6094611a3f565b61161661160f61089760036001600160ff1b036128ea565b6093611a3f565b61163761162f6001600160ff1b036031196009196117eb565b600919611a3f565b61166261165a61164f60016001600160ff1b036128ea565b6031196009196117eb565b600a19611a3f565b61168261167a61164f60026001600160ff1b036128ea565b600b19611a3f565b6107f961169a61164f60036001600160ff1b036128ea565b600c19611a3f565b6116b86116b260055f60046119fc565b5f611bfa565b6116ce6116c75f6045806119fc565b6045611bfa565b6116e56116de5f604460456119fc565b6044611bfa565b6116fd6116f6600a609660be6119fc565b60ae611bfa565b61171961171161012c610af0610c806119fc565b610c23611bfa565b6107f961172d61270f610539611a0a6119fc565b61123d611bfa565b5f6020825111156117615760405162461bcd60e51b8152600401611758906127c9565b60405180910390fd5b815161176e9060206128b0565b67ffffffffffffffff811115611786576117866129e1565b6040519080825280601f01601f1916602001820160405280156117b0576020820181803683370190505b50826040516020016117c39291906129f5565b6040516020818303038152906040528060200190518101906117e59190612a23565b92915050565b5f818313156118625760405162461bcd60e51b815260206004820152603b60248201527f5374645574696c7320626f756e6428696e743235362c696e743235362c696e7460448201527f323536293a204d6178206973206c657373207468616e206d696e2e00000000006064820152608401611758565b5f80851261187d57611878600160ff1b86612870565b611898565b600161188e8619600160ff1b6128b0565b61189891906128b0565b90505f8085126118b5576118b0600160ff1b86612870565b6118d0565b60016118c68619600160ff1b6128b0565b6118d091906128b0565b90505f8085126118ed576118e8600160ff1b86612870565b611908565b60016118fe8619600160ff1b6128b0565b61190891906128b0565b90505f611916848484612216565b9050600160ff1b811061193657611931600160ff1b826128b0565b611950565b61194481600160ff1b6128b0565b61195090196001612870565b604080518082018252600c81526b109bdd5b99081c995cdd5b1d60a21b60208201529051635191620760e11b8152600481018390529196506119f191737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a322c40e906024015f60405180830381865afa1580156119c5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119ec9190810190612a3a565b6123cf565b505050509392505050565b5f611a08848484612216565b9050611a386040518060400160405280600c81526020016b109bdd5b990814995cdd5b1d60a21b81525082612472565b9392505050565b8082146103fb575f80516020612c4d833981519152604051611a9c9060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b60405180910390a15f80516020612ce683398151915282604051611ac09190612ae2565b60405180910390a15f80516020612ce683398151915281604051611ae49190612b19565b60405180910390a16103fb6124d0565b808210156103fb575f80516020612c4d833981519152604051611b539060208082526022908201527f4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a15f80516020612d2783398151915282604051611b779190612b42565b60405180910390a15f80516020612d2783398151915281604051611ae49190612b6a565b808211156103fb575f80516020612c4d833981519152604051611b539060208082526022908201527f4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b8082146103fb575f80516020612c4d833981519152604051611c589060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a15f80516020612d2783398151915282604051611c7c9190612ae2565b60405180910390a15f80516020612d2783398151915281604051611ae49190612b19565b808212156103fb575f80516020612c4d833981519152604051611cfe9060208082526021908201527f4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b60405180910390a15f80516020612ce683398151915282604051611d229190612b42565b60405180910390a15f80516020612ce683398151915281604051611ae49190612b6a565b808213156103fb575f80516020612c4d833981519152604051611cfe9060208082526021908201527f4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b6040516001600160f81b031960208201526001600160601b0319606083901b16602182015260358101849052605581018390525f90611dfa906075015b6040516020818303038152906040528051906020012090565b949350505050565b806001600160a01b0316826001600160a01b0316146103fb575f80516020612c4d833981519152604051611e759060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464604082015264726573735d60d81b606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f82604051611eac9190612b92565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f81604051611ae49190612bd5565b5f815f03611f3357604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152600160ff1b6036820152611f2c90603701611de1565b90506117e5565b607f8211611f8657604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606085901b16602282015260f883901b6001600160f81b0319166036820152611f2c90603701611de1565b60ff8211611fe35760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152608160f81b603682015260f883901b6001600160f81b0319166037820152611f2c90603801611de1565b61ffff821161204157604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152604160f91b60368201526001600160f01b031960f084901b166037820152611f2c90603901611de1565b62ffffff82116120a05760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152608360f81b60368201526001600160e81b031960e884901b166037820152611f2c90603a01611de1565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152602160fa1b60368201526001600160e01b031960e084901b166037820152611a3890603b01611de1565b5f82826040516020016121099291906129f5565b60405160208183030381529060405280519060200120905092915050565b8082146103fb575f80516020612c4d8339815191526040516121889060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974604082015264657333325d60d81b606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516121bf9190612ae2565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051611ae49190612b19565b5f611a388383734e59b44847b379578588920ca78fbf26c0b4956c611da4565b5f8183111561228d5760405162461bcd60e51b815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152608401611758565b82841015801561229d5750818411155b156122a9575082611a38565b5f6122b484846128b0565b6122bf906001612870565b9050600385111580156122d157508481115b156122e8576122e08585612870565b915050611a38565b6122f460035f196128b0565b851015801561230c5750612309855f196128b0565b81115b156123265761231c855f196128b0565b6122e090846128b0565b82851115612379575f61233984876128b0565b90505f6123468383612849565b9050805f0361235a57849350505050611a38565b60016123668288612870565b61237091906128b0565b935050506123c7565b838510156123c7575f61238c86866128b0565b90505f6123998383612849565b9050805f036123ad57859350505050611a38565b6123b781866128b0565b6123c2906001612870565b935050505b509392505050565b5f6a636f6e736f6c652e6c6f676001600160a01b031683836040516024016123f8929190612bfe565b60408051601f198184030181529181526020820180516001600160e01b0316634b5c427760e01b1790525161242d91906129a7565b5f60405180830381855afa9150503d805f8114612465576040519150601f19603f3d011682016040523d82523d5f602084013e61246a565b606091505b505050505050565b5f6a636f6e736f6c652e6c6f676001600160a01b0316838360405160240161249b929190612c2b565b60408051601f198184030181529181526020820180516001600160e01b0316632d839cb360e21b1790525161242d91906129a7565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156125c65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526125699291602001612977565b60408051601f1981840301815290829052612583916129a7565b5f604051808303815f865af19150503d805f81146125bc576040519150601f19603f3d011682016040523d82523d5f602084013e6125c1565b606091505b505050505b5f805461ff001916610100179055565b602080825282518282018190525f9190848201906040850190845b818110156126165783516001600160a01b0316835292840192918401916001016125f1565b50909695505050505050565b5f805f60608486031215612634575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561265c575f80fd5b50508035926020909101359150565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b8481101561270d57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156126f85783516001600160e01b0319168252928b019260019290920191908b01906126ce565b50978a01979550505091870191600101612691565b50919998505050505050505050565b5f5b8381101561273657818101518382015260200161271e565b50505f910152565b5f815180845261275581602086016020860161271c565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156127bc57603f198886030184526127aa85835161273e565b9450928501929085019060010161278e565b5092979650505050505050565b602081525f6117e560208301603581527f5374645574696c73206279746573546f55696e74286279746573293a2042797460208201527432b9903632b733ba341032bc31b2b2b2399019991760591b604082015260600190565b602081525f611a38602083018461273e565b634e487b7160e01b5f52601260045260245ffd5b5f8261285757612857612835565b500690565b634e487b7160e01b5f52601160045260245ffd5b808201808211156117e5576117e561285c565b5f8261289157612891612835565b500490565b5f600160ff1b82016128aa576128aa61285c565b505f0390565b818103818111156117e5576117e561285c565b8082018281125f8312801582168215821617156128e2576128e261285c565b505092915050565b8181035f8312801583831316838312821617156129095761290961285c565b5092915050565b80820281158282048414176117e5576117e561285c565b5f600182016129385761293861285c565b5060010190565b600181811c9082168061295357607f821691505b60208210810361297157634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160e01b03198316815281515f9061299981600485016020870161271c565b919091016004019392505050565b5f82516129b881846020870161271c565b9190910192915050565b5f602082840312156129d2575f80fd5b81518015158114611a38575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f8351612a0681846020880161271c565b835190830190612a1a81836020880161271c565b01949350505050565b5f60208284031215612a33575f80fd5b5051919050565b5f60208284031215612a4a575f80fd5b815167ffffffffffffffff80821115612a61575f80fd5b818401915084601f830112612a74575f80fd5b815181811115612a8657612a866129e1565b604051601f8201601f19908116603f01168101908382118183101715612aae57612aae6129e1565b81604052828152876020848701011115612ac6575f80fd5b612ad783602083016020880161271c565b979650505050505050565b604081525f612b0b60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b604081525f612b0b60408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f612b0b604083016009815268202056616c7565206160b81b602082015260400190565b604081525f612b0b60408301600981526810102b30b63ab2903160b91b602082015260400190565b604081525f612bbb60408301600a8152690808080808081319599d60b21b602082015260400190565b6001600160a01b0393909316602092909201919091525090565b604081525f612bbb60408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f612c10604083018561273e565b8281036020840152612c22818561273e565b95945050505050565b604081525f612c3d604083018561273e565b9050826020830152939250505056fe41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f505374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8a264697066735822122020dc518c28a31a48a27375eb8bd2de9cf8b2ab192bbf7b3dea52e5c394f8953864736f6c63430008140033","sourceMap":"403:9242:299:-:0;;;1572:26:268;;;1594:4;-1:-1:-1;;1572:26:268;;;;;;;;3288:44:273;;;;;;;;;;;403:9242:299;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b50600436106101e7575f3560e01c80638bd6468911610109578063d340432c1161009e578063f4faa6a61161006e578063f4faa6a61461034f578063fa5fd5f414610357578063fa7626d41461035f578063fd2aea041461036b575f80fd5b8063d340432c1461032f578063dfe0582914610337578063e20c9f711461033f578063e7c0f27114610347575f80fd5b8063ac23c3da116100d9578063ac23c3da146102ff578063b5508aa914610307578063ba414fa61461030f578063c67d3c0114610327575f80fd5b80638bd64689146102c9578063916a17c6146102dc5780639d6d85bb146102e4578063a8d04d08146102f7575f80fd5b80634431cc721161017f5780636f9826331161014f5780636f9826331461029157806385226c811461029957806387b338ab146102ae5780638b242946146102c1575f80fd5b80634431cc72146102595780634ee2d9f51461026c57806360a7874c1461027457806366d9a9a01461027c575f80fd5b80633e5e3c23116101ba5780633e5e3c231461022e5780633f7286f41461023657806341b01c201461023e5780634243de0614610251575f80fd5b8063073afe37146101eb5780631ed7831c146101f557806339c6b676146102135780633c84a8791461021b575b5f80fd5b6101f3610373565b005b6101fd6103ff565b60405161020a91906125d6565b60405180910390f35b6101f361045f565b6101f3610229366004612622565b6104ee565b6101fd6105dc565b6101fd61063a565b6101f361024c36600461264b565b610698565b6101f361079b565b6101f3610267366004612622565b6107fb565b6101f361085a565b6101f36108de565b610284610969565b60405161020a919061266b565b6101f3610a53565b6102a1610ae2565b60405161020a9190612769565b6101f36102bc366004612622565b610bad565b6101f3610c07565b6101f36102d7366004612622565b610c4e565b610284610d36565b6101f36102f236600461264b565b610e17565b6101f3610f08565b6101f3610f85565b6102a1611022565b6103176110ed565b604051901515815260200161020a565b6101f3611210565b6101f36112c4565b6101f361132d565b6101fd61136f565b6101f36113cd565b6101f361147c565b6101f36114b5565b5f546103179060ff1681565b6101f36116a2565b5f604051806060016040528060218152602001612d066021913960405163f28dceb360e01b8152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063f28dceb3906103c5906004016127c9565b5f604051808303815f87803b1580156103dc575f80fd5b505af11580156103ee573d5f803e3d5ffd5b505050506103fb81611735565b5050565b6060600d80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610437575b5050505050905090565b6040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391612c6d60208301396040518263ffffffff1660e01b81526004016104af9190612823565b5f604051808303815f87803b1580156104c6575f80fd5b505af11580156104d8573d5f803e3d5ffd5b505050506104eb6004196064600a6117eb565b50565b604051632631f2b160e11b81528183116004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610538575f80fd5b505afa15801561054a573d5f803e3d5ffd5b50506040805160608101909152603e808252737109709ecfa91a80626ff3989d68f67f5b1dd12d935063f28dceb39250612ca860208301396040518263ffffffff1660e01b815260040161059e9190612823565b5f604051808303815f87803b1580156105b5575f80fd5b505af11580156105c7573d5f803e3d5ffd5b505050506105d68383836119fc565b50505050565b6060600f80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610437575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610437575050505050905090565b6106a3606482612849565b6106ae906001612870565b90506106e2826106bf600284612883565b6106c890612896565b6106d3600285612883565b6106dd90856128b0565b6117eb565b91505f60016106f183856128c3565b6106fb91906128ea565b90505f60015b61070c846004612910565b81116107945761072661071f82856128c3565b86856117eb565b915061075182856107386001856128b0565b6107429190612849565b61074c90886128c3565b611a3f565b61075e61071f82876128ea565b915061078482856107706001856128b0565b61077a9190612849565b61074c90866128ea565b61078d81612927565b9050610701565b5050505050565b6107d36107c15f6107b460016001600160ff1b036128ea565b6001600160ff1b036117eb565b61074c60016001600160ff1b036128ea565b6107f96107ec60016107b4816001600160ff1b036128ea565b6001600160ff1b03611a3f565b565b8082111561080557905b5f6108118484846119fc565b905061081d8184611af4565b6108278183611b9b565b61083b816108368386866119fc565b611bfa565b82841015801561084b5750818411155b156105d6576105d68185611bfa565b61087361086c603360311960966117eb565b6033611a3f565b6108a1610885603360311960966117eb565b61074c610897603360311960966117eb565b60311960966117eb565b6108ba6108b3609560311960966117eb565b6095611a3f565b6107f96108cc609560311960966117eb565b61074c610897609560311960966117eb565b6040805160608101909152603e808252737109709ecfa91a80626ff3989d68f67f5b1dd12d9163f28dceb391612ca860208301396040518263ffffffff1660e01b815260040161092e9190612823565b5f604051808303815f87803b158015610945575f80fd5b505af1158015610957573d5f803e3d5ffd5b505050506104eb60056064600a6119fc565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015610a4a575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610a3257602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116109f45790505b5050505050815250508152602001906001019061098c565b50505050905090565b60408051808201825260208082525f19818301528251808401845260018152600160f91b818301528351808501909452600a845266d3c21bcecceda160c81b918401919091529091610aae610aa784611735565b5f19611bfa565b610ac1610aba83611735565b6002611bfa565b610add610acd82611735565b69d3c21bcecceda1000000611bfa565b505050565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015610a4a578382905f5260205f20018054610b229061293f565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4e9061293f565b8015610b995780601f10610b7057610100808354040283529160200191610b99565b820191905f5260205f20905b815481529060010190602001808311610b7c57829003601f168201915b505050505081526020019060010190610b05565b80821315610bb757905b5f610bc38484846117eb565b9050610bcf8184611ca0565b610bd98183611d46565b610be88161074c8386866117eb565b828412158015610bf85750818413155b156105d6576105d68185611a3f565b610c28610c1e5f600160ff1b6106dd8160016128c3565b600160ff1b611a3f565b6107f9610c3f6001600160ff1b6106dd81836128c3565b61074c600160ff1b60016128c3565b604051632631f2b160e11b81528183136004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015610c98575f80fd5b505afa158015610caa573d5f803e3d5ffd5b50506040805160608101909152603b808252737109709ecfa91a80626ff3989d68f67f5b1dd12d935063f28dceb39250612c6d60208301396040518263ffffffff1660e01b8152600401610cfe9190612823565b5f604051808303815f87803b158015610d15575f80fd5b505af1158015610d27573d5f803e3d5ffd5b505050506105d68383836117eb565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015610a4a575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610dff57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610dc15790505b50505050508152505081526020019060010190610d59565b610e22606482612849565b610e2d906001612870565b9050610e5b82610e3f60025f19612883565b83610e4c60025f19612883565b610e569190612870565b6119fc565b91505f6001610e6a8385612870565b610e7491906128b0565b90505f60015b610e85846004612910565b811161079457610e9f610e988285612870565b86856119fc565b9150610ec58285610eb16001856128b0565b610ebb9190612849565b6108369088612870565b610ed2610e9882876128b0565b9150610ef88285610ee46001856128b0565b610eee9190612849565b61083690866128b0565b610f0181612927565b9050610e7a565b610f20610f196033603260966119fc565b6033611bfa565b610f4b610f316033603260966119fc565b610836610f426033603260966119fc565b603260966119fc565b610f63610f5c6095603260966119fc565b6095611bfa565b6107f9610f746095603260966119fc565b610836610f426095603260966119fc565b610f9d610f966002195f60046117eb565b6002611a3f565b610fb5610fad5f604419806117eb565b604419611a3f565b610fcf610fc75f6044196043196117eb565b604319611a3f565b610fe8610fe1600919609660be6117eb565b609a611a3f565b611005610ffd61012b19610af0610c806117eb565b610b5c611a3f565b6107f961101a61270f61053819611a0a6117eb565b6107cb611a3f565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015610a4a578382905f5260205f200180546110629061293f565b80601f016020809104026020016040519081016040528092919081815260200182805461108e9061293f565b80156110d95780601f106110b0576101008083540402835291602001916110d9565b820191905f5260205f20905b8154815290600101906020018083116110bc57829003601f168201915b505050505081526020019060010190611045565b5f8054610100900460ff161561110b57505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b1561120b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f929091611197917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001612977565b60408051601f19818403018152908290526111b1916129a7565b5f604051808303815f865af19150503d805f81146111ea576040519150601f19603f3d011682016040523d82523d5f602084013e6111ef565b606091505b509150508080602001905181019061120791906129c2565b9150505b919050565b6112276112205f603260966119fc565b6032611bfa565b611238610f196001603260966119fc565b6112506112496002603260966119fc565b6034611bfa565b6112686112616003603260966119fc565b6035611bfa565b6112806112795f19603260966119fc565b6096611bfa565b611292610f5c610f4260015f196128b0565b6112ab6112a4610f4260025f196128b0565b6094611bfa565b6107f96112bd610f4260035f196128b0565b6093611bfa565b604080516160806020808301919091528251808303820181529183019092528051910120617ab790736c9fc64a53c1b71fb3f9af64d1ae3a4931a5f4e95f61130d848484611da4565b90506105d68173b147a5d25748fda14b463eb04b111027c290f4d3611e02565b736c9fc64a53c1b71fb3f9af64d1ae3a4931a5f4e9600e5f61134f8383611ee3565b9050610add817368b3465833fb72a70ecdf485e0e4c7bd8665fc45611e02565b6060600c80548060200260200160405190810160405280929190818152602001828054801561045557602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610437575050505050905090565b5f7fc290c670fde54e5ef686f9132cbc8711e76a98f0333a438a92daa442c71403c05f1b90505f61142560405180604001604052806002815260200160c160f71b81525060405180602001604052805f8152506120f5565b9050611451817f1a578b7a4b0b5755db6d121b4118d4bc68fe170dca840c59bc922f14175a76b0612127565b5f61145c83836121f6565b9050610add8173c0ffee2198a06235aabfffe5db0cacf1717f5ac6611e02565b6114a26114965f61148f60015f196128b0565b5f196119fc565b61083660015f196128b0565b6107f9610aa7600161148f815f196128b0565b6114d26114ca600160ff1b60311960966117eb565b603119611a3f565b6114ef6114e7610897600160ff1b60016128c3565b603019611a3f565b61150c611504610897600160ff1b60026128c3565b602f19611a3f565b611529611521610897600160ff1b60036128c3565b602e19611a3f565b61154461153d600160ff1b600a60966117eb565b600a611a3f565b611569611562611559600160ff1b60016128c3565b600a60966117eb565b600b611a3f565b61158561157e611559600160ff1b60026128c3565b600c611a3f565b6115a161159a611559600160ff1b60036128c3565b600d611a3f565b6115c06115b96001600160ff1b0360311960966117eb565b6096611a3f565b6115d86108b361089760016001600160ff1b036128ea565b6115f76115f061089760026001600160ff1b036128ea565b6094611a3f565b61161661160f61089760036001600160ff1b036128ea565b6093611a3f565b61163761162f6001600160ff1b036031196009196117eb565b600919611a3f565b61166261165a61164f60016001600160ff1b036128ea565b6031196009196117eb565b600a19611a3f565b61168261167a61164f60026001600160ff1b036128ea565b600b19611a3f565b6107f961169a61164f60036001600160ff1b036128ea565b600c19611a3f565b6116b86116b260055f60046119fc565b5f611bfa565b6116ce6116c75f6045806119fc565b6045611bfa565b6116e56116de5f604460456119fc565b6044611bfa565b6116fd6116f6600a609660be6119fc565b60ae611bfa565b61171961171161012c610af0610c806119fc565b610c23611bfa565b6107f961172d61270f610539611a0a6119fc565b61123d611bfa565b5f6020825111156117615760405162461bcd60e51b8152600401611758906127c9565b60405180910390fd5b815161176e9060206128b0565b67ffffffffffffffff811115611786576117866129e1565b6040519080825280601f01601f1916602001820160405280156117b0576020820181803683370190505b50826040516020016117c39291906129f5565b6040516020818303038152906040528060200190518101906117e59190612a23565b92915050565b5f818313156118625760405162461bcd60e51b815260206004820152603b60248201527f5374645574696c7320626f756e6428696e743235362c696e743235362c696e7460448201527f323536293a204d6178206973206c657373207468616e206d696e2e00000000006064820152608401611758565b5f80851261187d57611878600160ff1b86612870565b611898565b600161188e8619600160ff1b6128b0565b61189891906128b0565b90505f8085126118b5576118b0600160ff1b86612870565b6118d0565b60016118c68619600160ff1b6128b0565b6118d091906128b0565b90505f8085126118ed576118e8600160ff1b86612870565b611908565b60016118fe8619600160ff1b6128b0565b61190891906128b0565b90505f611916848484612216565b9050600160ff1b811061193657611931600160ff1b826128b0565b611950565b61194481600160ff1b6128b0565b61195090196001612870565b604080518082018252600c81526b109bdd5b99081c995cdd5b1d60a21b60208201529051635191620760e11b8152600481018390529196506119f191737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a322c40e906024015f60405180830381865afa1580156119c5573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526119ec9190810190612a3a565b6123cf565b505050509392505050565b5f611a08848484612216565b9050611a386040518060400160405280600c81526020016b109bdd5b990814995cdd5b1d60a21b81525082612472565b9392505050565b8082146103fb575f80516020612c4d833981519152604051611a9c9060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b60405180910390a15f80516020612ce683398151915282604051611ac09190612ae2565b60405180910390a15f80516020612ce683398151915281604051611ae49190612b19565b60405180910390a16103fb6124d0565b808210156103fb575f80516020612c4d833981519152604051611b539060208082526022908201527f4572726f723a2061203e3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a15f80516020612d2783398151915282604051611b779190612b42565b60405180910390a15f80516020612d2783398151915281604051611ae49190612b6a565b808211156103fb575f80516020612c4d833981519152604051611b539060208082526022908201527f4572726f723a2061203c3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b8082146103fb575f80516020612c4d833981519152604051611c589060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e604082015261745d60f01b606082015260800190565b60405180910390a15f80516020612d2783398151915282604051611c7c9190612ae2565b60405180910390a15f80516020612d2783398151915281604051611ae49190612b19565b808212156103fb575f80516020612c4d833981519152604051611cfe9060208082526021908201527f4572726f723a2061203e3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b60405180910390a15f80516020612ce683398151915282604051611d229190612b42565b60405180910390a15f80516020612ce683398151915281604051611ae49190612b6a565b808213156103fb575f80516020612c4d833981519152604051611cfe9060208082526021908201527f4572726f723a2061203c3d2062206e6f7420736174697366696564205b696e746040820152605d60f81b606082015260800190565b6040516001600160f81b031960208201526001600160601b0319606083901b16602182015260358101849052605581018390525f90611dfa906075015b6040516020818303038152906040528051906020012090565b949350505050565b806001600160a01b0316826001600160a01b0316146103fb575f80516020612c4d833981519152604051611e759060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464604082015264726573735d60d81b606082015260800190565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f82604051611eac9190612b92565b60405180910390a17f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f81604051611ae49190612bd5565b5f815f03611f3357604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152600160ff1b6036820152611f2c90603701611de1565b90506117e5565b607f8211611f8657604051606b60f91b6020820152602560fa1b60218201526001600160601b0319606085901b16602282015260f883901b6001600160f81b0319166036820152611f2c90603701611de1565b60ff8211611fe35760405160d760f81b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152608160f81b603682015260f883901b6001600160f81b0319166037820152611f2c90603801611de1565b61ffff821161204157604051601b60fb1b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152604160f91b60368201526001600160f01b031960f084901b166037820152611f2c90603901611de1565b62ffffff82116120a05760405160d960f81b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152608360f81b60368201526001600160e81b031960e884901b166037820152611f2c90603a01611de1565b604051606d60f91b6020820152602560fa1b60218201526001600160601b0319606085901b166022820152602160fa1b60368201526001600160e01b031960e084901b166037820152611a3890603b01611de1565b5f82826040516020016121099291906129f5565b60405160208183030381529060405280519060200120905092915050565b8082146103fb575f80516020612c4d8339815191526040516121889060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b627974604082015264657333325d60d81b606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516121bf9190612ae2565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f9981604051611ae49190612b19565b5f611a388383734e59b44847b379578588920ca78fbf26c0b4956c611da4565b5f8183111561228d5760405162461bcd60e51b815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152608401611758565b82841015801561229d5750818411155b156122a9575082611a38565b5f6122b484846128b0565b6122bf906001612870565b9050600385111580156122d157508481115b156122e8576122e08585612870565b915050611a38565b6122f460035f196128b0565b851015801561230c5750612309855f196128b0565b81115b156123265761231c855f196128b0565b6122e090846128b0565b82851115612379575f61233984876128b0565b90505f6123468383612849565b9050805f0361235a57849350505050611a38565b60016123668288612870565b61237091906128b0565b935050506123c7565b838510156123c7575f61238c86866128b0565b90505f6123998383612849565b9050805f036123ad57859350505050611a38565b6123b781866128b0565b6123c2906001612870565b935050505b509392505050565b5f6a636f6e736f6c652e6c6f676001600160a01b031683836040516024016123f8929190612bfe565b60408051601f198184030181529181526020820180516001600160e01b0316634b5c427760e01b1790525161242d91906129a7565b5f60405180830381855afa9150503d805f8114612465576040519150601f19603f3d011682016040523d82523d5f602084013e61246a565b606091505b505050505050565b5f6a636f6e736f6c652e6c6f676001600160a01b0316838360405160240161249b929190612c2b565b60408051601f198184030181529181526020820180516001600160e01b0316632d839cb360e21b1790525161242d91906129a7565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156125c65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526125699291602001612977565b60408051601f1981840301815290829052612583916129a7565b5f604051808303815f865af19150503d805f81146125bc576040519150601f19603f3d011682016040523d82523d5f602084013e6125c1565b606091505b505050505b5f805461ff001916610100179055565b602080825282518282018190525f9190848201906040850190845b818110156126165783516001600160a01b0316835292840192918401916001016125f1565b50909695505050505050565b5f805f60608486031215612634575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561265c575f80fd5b50508035926020909101359150565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b8481101561270d57898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b808310156126f85783516001600160e01b0319168252928b019260019290920191908b01906126ce565b50978a01979550505091870191600101612691565b50919998505050505050505050565b5f5b8381101561273657818101518382015260200161271e565b50505f910152565b5f815180845261275581602086016020860161271c565b601f01601f19169290920160200192915050565b5f602080830181845280855180835260408601915060408160051b87010192508387015f5b828110156127bc57603f198886030184526127aa85835161273e565b9450928501929085019060010161278e565b5092979650505050505050565b602081525f6117e560208301603581527f5374645574696c73206279746573546f55696e74286279746573293a2042797460208201527432b9903632b733ba341032bc31b2b2b2399019991760591b604082015260600190565b602081525f611a38602083018461273e565b634e487b7160e01b5f52601260045260245ffd5b5f8261285757612857612835565b500690565b634e487b7160e01b5f52601160045260245ffd5b808201808211156117e5576117e561285c565b5f8261289157612891612835565b500490565b5f600160ff1b82016128aa576128aa61285c565b505f0390565b818103818111156117e5576117e561285c565b8082018281125f8312801582168215821617156128e2576128e261285c565b505092915050565b8181035f8312801583831316838312821617156129095761290961285c565b5092915050565b80820281158282048414176117e5576117e561285c565b5f600182016129385761293861285c565b5060010190565b600181811c9082168061295357607f821691505b60208210810361297157634e487b7160e01b5f52602260045260245ffd5b50919050565b6001600160e01b03198316815281515f9061299981600485016020870161271c565b919091016004019392505050565b5f82516129b881846020870161271c565b9190910192915050565b5f602082840312156129d2575f80fd5b81518015158114611a38575f80fd5b634e487b7160e01b5f52604160045260245ffd5b5f8351612a0681846020880161271c565b835190830190612a1a81836020880161271c565b01949350505050565b5f60208284031215612a33575f80fd5b5051919050565b5f60208284031215612a4a575f80fd5b815167ffffffffffffffff80821115612a61575f80fd5b818401915084601f830112612a74575f80fd5b815181811115612a8657612a866129e1565b604051601f8201601f19908116603f01168101908382118183101715612aae57612aae6129e1565b81604052828152876020848701011115612ac6575f80fd5b612ad783602083016020880161271c565b979650505050505050565b604081525f612b0b60408301600a8152690808080808081319599d60b21b602082015260400190565b905082602083015292915050565b604081525f612b0b60408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f612b0b604083016009815268202056616c7565206160b81b602082015260400190565b604081525f612b0b60408301600981526810102b30b63ab2903160b91b602082015260400190565b604081525f612bbb60408301600a8152690808080808081319599d60b21b602082015260400190565b6001600160a01b0393909316602092909201919091525090565b604081525f612bbb60408301600a8152690808080808149a59da1d60b21b602082015260400190565b604081525f612c10604083018561273e565b8281036020840152612c22818561273e565b95945050505050565b604081525f612c3d604083018561273e565b9050826020830152939250505056fe41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f505374645574696c7320626f756e6428696e743235362c696e743235362c696e74323536293a204d6178206973206c657373207468616e206d696e2e5374645574696c7320626f756e642875696e743235362c75696e743235362c75696e74323536293a204d6178206973206c657373207468616e206d696e2e2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8a264697066735822122020dc518c28a31a48a27375eb8bd2de9cf8b2ab192bbf7b3dea52e5c394f8953864736f6c63430008140033","sourceMap":"403:9242:299:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7737:280;;;:::i;:::-;;2161:134:276;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6674:181:299;;;:::i;3171:250::-;;;;;;:::i;:::-;;:::i;2930:133:276:-;;;:::i;2631:141::-;;;:::i;5275:587:299:-;;;;;;:::i;:::-;;:::i;6216:223::-;;;:::i;2394:343::-;;;;;;:::i;:::-;;:::i;3949:294::-;;;:::i;2976:189::-;;;:::i;2447:178:276:-;;;:::i;:::-;;;;;;;:::i;7326:405:299:-;;;:::i;2301:140:276:-;;;:::i;:::-;;;;;;;:::i;5868:342:299:-;;;;;;:::i;:::-;;:::i;6445:223::-;;;:::i;6861:247::-;;;;;;:::i;:::-;;:::i;2778:146:276:-;;;:::i;1844:544:299:-;;;;;;:::i;:::-;;:::i;1003:337::-;;;:::i;3637:306::-;;;:::i;1866:141:276:-;;;:::i;1819:584:268:-;;;:::i;:::-;;;4899:14:310;;4892:22;4874:41;;4862:2;4847:18;1819:584:268;4734:187:310;1346:492:299;;;:::i;8762:398::-;;;:::i;8240:299::-;;;:::i;2013:142:276:-;;;:::i;9166:477:299:-;;;:::i;2743:227::-;;;:::i;4249:1020::-;;;:::i;1572:26:268:-;;;;;;;;;650:347:299;;;:::i;7737:280::-;7794:25;:99;;;;;;;;;;;;;;;;;7903:72;;-1:-1:-1;;;7903:72:299;;7794:99;;-1:-1:-1;7903:15:299;;;;:72;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7985:25;7997:12;7985:11;:25::i;:::-;;7784:233;7737:280::o;2161:134:276:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:276;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;6674:181:299:-;6751:68;;;;;;;;;;;;;6735:15;;;;6751:68;;;;;6735:85;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6830:18;-1:-1:-1;;6840:3:299;6845:2;6830:5;:18::i;:::-;;6674:181::o;3171:250::-;3266:20;;-1:-1:-1;;;3266:20:299;;3276:9;;;3266:20;;;4874:41:310;3266:9:299;;;;4847:18:310;;3266:20:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3312:71:299;;;;;;;;;;;;;3296:15;;-1:-1:-1;3296:15:299;;-1:-1:-1;3312:71:299;;;;;3296:88;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3394:20;3400:3;3405;3410;3394:5;:20::i;:::-;;3171:250;;;:::o;2930:133:276:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:276;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:276;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;5275:587:299:-;5366:10;5373:3;5366:4;:10;:::i;:::-;:14;;5379:1;5366:14;:::i;:::-;5359:21;-1:-1:-1;5396:54:299;5402:3;5415:8;5422:1;5359:21;5415:8;:::i;:::-;5407:17;;;:::i;:::-;5440:8;5447:1;5440:4;:8;:::i;:::-;5433:15;;:4;:15;:::i;:::-;5396:5;:54::i;:::-;5390:60;-1:-1:-1;5460:10:299;5494:1;5473:18;5486:4;5390:60;5473:18;:::i;:::-;:22;;;;:::i;:::-;5460:35;-1:-1:-1;5505:13:299;5546:1;5529:327;5554:8;:4;5561:1;5554:8;:::i;:::-;5549:1;:13;5529:327;;5615:32;5621:15;5634:1;5621:3;:15;:::i;:::-;5638:3;5643;5615:5;:32::i;:::-;5606:41;-1:-1:-1;5661:46:299;5606:41;5701:4;5692:5;5696:1;5692;:5;:::i;:::-;5691:14;;;;:::i;:::-;5678:28;;:3;:28;:::i;:::-;5661:8;:46::i;:::-;5753:32;5759:15;5772:1;5759:3;:15;:::i;5753:32::-;5744:41;-1:-1:-1;5799:46:299;5744:41;5839:4;5830:5;5834:1;5830;:5;:::i;:::-;5829:14;;;;:::i;:::-;5816:28;;:3;:28;:::i;5799:46::-;5564:3;;;:::i;:::-;;;5529:327;;;;5349:513;;5275:587;;:::o;6216:223::-;6266:80;6275:48;6281:1;6284:20;6303:1;-1:-1:-1;;;;;6284:20:299;:::i;:::-;-1:-1:-1;;;;;6275:5:299;:48::i;:::-;6325:20;6344:1;-1:-1:-1;;;;;6325:20:299;:::i;6266:80::-;6356:76;6365:48;6371:1;6374:20;6371:1;-1:-1:-1;;;;;6374:20:299;:::i;6365:48::-;-1:-1:-1;;;;;6356:8:299;:76::i;:::-;6216:223::o;2394:343::-;2479:3;2473;:9;2469:38;;;2498:3;2469:38;2518:14;2535:20;2541:3;2546;2551;2535:5;:20::i;:::-;2518:37;;2566:21;2575:6;2583:3;2566:8;:21::i;:::-;2597;2606:6;2614:3;2597:8;:21::i;:::-;2628:41;2637:6;2645:23;2651:6;2659:3;2664;2645:5;:23::i;:::-;2628:8;:41::i;:::-;2690:3;2683;:10;;:24;;;;;2704:3;2697;:10;;2683:24;2679:51;;;2709:21;2718:6;2726:3;2709:8;:21::i;3949:294::-;4002:33;4011:19;4017:2;-1:-1:-1;;4026:3:299;4011:5;:19::i;:::-;4032:2;4002:8;:33::i;:::-;4045:67;4054:19;4060:2;-1:-1:-1;;4069:3:299;4054:5;:19::i;:::-;4075:36;4081:19;4087:2;-1:-1:-1;;4096:3:299;4081:5;:19::i;:::-;-1:-1:-1;;4107:3:299;4075:5;:36::i;4045:67::-;4122:35;4131:20;4137:3;-1:-1:-1;;4147:3:299;4131:5;:20::i;:::-;4153:3;4122:8;:35::i;:::-;4167:69;4176:20;4182:3;-1:-1:-1;;4192:3:299;4176:5;:20::i;:::-;4198:37;4204:20;4210:3;-1:-1:-1;;4220:3:299;4204:5;:20::i;2976:189::-;3050:71;;;;;;;;;;;;;3034:15;;;;3050:71;;;;;3034:88;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3132:26;3146:1;3150:3;3155:2;3132:5;:26::i;2447:178:276:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;7326:405:299:-;7372:92;;;;;;;;;;;;-1:-1:-1;;7372:92:299;;;;7474:26;;;;;;;;;;-1:-1:-1;;;7474:26:299;;;;7510:53;;;;;;;;;;;-1:-1:-1;;;7510:53:299;;;;;;;7372:92;;7574:49;7583:20;7372:92;7583:11;:20::i;:::-;-1:-1:-1;;7574:8:299;:49::i;:::-;7633:29;7642:16;7654:3;7642:11;:16::i;:::-;7660:1;7633:8;:29::i;:::-;7672:52;7681:25;7693:12;7681:11;:25::i;:::-;7708:15;7672:8;:52::i;:::-;7362:369;;;7326:405::o;2301:140:276:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5868:342:299;5953:3;5947;:9;5943:38;;;5972:3;5943:38;5992:13;6008:20;6014:3;6019;6024;6008:5;:20::i;:::-;5992:36;;6039:21;6048:6;6056:3;6039:8;:21::i;:::-;6070;6079:6;6087:3;6070:8;:21::i;:::-;6101:41;6110:6;6118:23;6124:6;6132:3;6137;6118:5;:23::i;6101:41::-;6163:3;6156;:10;;:24;;;;;6177:3;6170;:10;;6156:24;6152:51;;;6182:21;6191:6;6199:3;6182:8;:21::i;6445:223::-;6495:76;6504:48;6510:1;-1:-1:-1;;;6531:20:299;6513:16;6550:1;6531:20;:::i;6504:48::-;-1:-1:-1;;;6495:8:299;:76::i;:::-;6581:80;6590:48;6596:1;-1:-1:-1;;;6617:20:299;6599:16;6596:1;6617:20;:::i;6590:48::-;6640:20;-1:-1:-1;;;6659:1:299;6640:20;:::i;6861:247::-;6956:20;;-1:-1:-1;;;6956:20:299;;6966:9;;;6956:20;;;4874:41:310;6956:9:299;;;;4847:18:310;;6956:20:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7002:68:299;;;;;;;;;;;;;6986:15;;-1:-1:-1;6986:15:299;;-1:-1:-1;7002:68:299;;;;;6986:85;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7081:20;7087:3;7092;7097;7081:5;:20::i;2778:146:276:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1844:544:299;1933:10;1940:3;1933:4;:10;:::i;:::-;:14;;1946:1;1933:14;:::i;:::-;1926:21;-1:-1:-1;1963:51:299;1969:3;1974:15;1988:1;-1:-1:-1;;1974:15:299;:::i;:::-;2009:4;1991:15;2005:1;-1:-1:-1;;1991:15:299;:::i;:::-;:22;;;;:::i;:::-;1963:5;:51::i;:::-;1957:57;-1:-1:-1;2024:11:299;2051:1;2038:10;2044:4;1957:57;2038:10;:::i;:::-;:14;;;;:::i;:::-;2024:28;-1:-1:-1;2062:14:299;2104:1;2087:295;2112:8;:4;2119:1;2112:8;:::i;:::-;2107:1;:13;2087:295;;2173:24;2179:7;2185:1;2179:3;:7;:::i;:::-;2188:3;2193;2173:5;:24::i;:::-;2164:33;-1:-1:-1;2211:38:299;2164:33;2244:4;2235:5;2239:1;2235;:5;:::i;:::-;2234:14;;;;:::i;:::-;2228:20;;:3;:20;:::i;2211:38::-;2295:24;2301:7;2307:1;2301:3;:7;:::i;2295:24::-;2286:33;-1:-1:-1;2333:38:299;2286:33;2366:4;2357:5;2361:1;2357;:5;:::i;:::-;2356:14;;;;:::i;:::-;2350:20;;:3;:20;:::i;2333:38::-;2122:3;;;:::i;:::-;;;2087:295;;1003:337;1053:41;1062:27;1076:2;1081;1085:3;1062:5;:27::i;:::-;1091:2;1053:8;:41::i;:::-;1104:82;1113:27;1127:2;1132;1136:3;1113:5;:27::i;:::-;1142:43;1148:27;1162:2;1167;1171:3;1148:5;:27::i;:::-;1177:2;1181:3;1142:5;:43::i;1104:82::-;1196:43;1205:28;1219:3;1225:2;1229:3;1205:5;:28::i;:::-;1235:3;1196:8;:43::i;:::-;1249:84;1258:28;1272:3;1278:2;1282:3;1258:5;:28::i;:::-;1288:44;1294:28;1308:3;1314:2;1318:3;1294:5;:28::i;3637:306::-;3678:28;3687:15;-1:-1:-1;;3697:1:299;3700;3687:5;:15::i;:::-;3704:1;3678:8;:28::i;:::-;3716:33;3725:18;3731:1;-1:-1:-1;;3739:3:299;3725:5;:18::i;:::-;-1:-1:-1;;3716:8:299;:33::i;:::-;3759;3768:18;3774:1;-1:-1:-1;;;;3768:5:299;:18::i;:::-;-1:-1:-1;;3759:8:299;:33::i;:::-;3802:35;3811:20;-1:-1:-1;;3822:3:299;3827;3811:5;:20::i;:::-;3833:3;3802:8;:35::i;:::-;3847:39;3856:23;-1:-1:-1;;3868:4:299;3874;3856:5;:23::i;:::-;3881:4;3847:8;:39::i;:::-;3896:40;3905:24;3911:4;-1:-1:-1;;3924:4:299;3905:5;:24::i;:::-;3931:4;3896:8;:40::i;1866:141:276:-;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:268;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:268;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;7878:51:310;;;-1:-1:-1;;;7945:18:310;;;7938:34;2196:43:268;;;;;;;;;7851:18:310;;;2196:43:268;;;-1:-1:-1;;1671:64:268;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:268;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:268:o;1346:492:299:-;1397:40;1406:26;1420:1;1424:2;1428:3;1406:5;:26::i;:::-;1434:2;1397:8;:40::i;:::-;1447;1456:26;1470:1;1474:2;1478:3;1456:5;:26::i;1447:40::-;1497;1506:26;1520:1;1524:2;1528:3;1506:5;:26::i;:::-;1534:2;1497:8;:40::i;:::-;1547;1556:26;1570:1;1574:2;1578:3;1556:5;:26::i;:::-;1584:2;1547:8;:40::i;:::-;1597:48;1606:33;-1:-1:-1;;1631:2:299;1635:3;1606:5;:33::i;:::-;1641:3;1597:8;:48::i;:::-;1655:52;1664:37;1670:21;1690:1;-1:-1:-1;;1670:21:299;:::i;1655:52::-;1717;1726:37;1732:21;1752:1;-1:-1:-1;;1732:21:299;:::i;1726:37::-;1765:3;1717:8;:52::i;:::-;1779;1788:37;1794:21;1814:1;-1:-1:-1;;1794:21:299;:::i;1788:37::-;1827:3;1779:8;:52::i;8762:398::-;8899:18;;;8910:6;8899:18;;;;9103:38:310;;;;8899:18:299;;;;;;;;;9076::310;;;8899::299;;;8889:29;;;;;8849:5;;8947:42;8818:12;9024:51;8849:5;8889:29;8947:42;9024:21;:51::i;:::-;8999:76;;9085:68;9094:14;9110:42;9085:8;:68::i;8240:299::-;8314:42;8382:2;8295:16;8418:37;8314:42;8382:2;8418:20;:37::i;:::-;8394:61;;8465:67;8474:13;8489:42;8465:8;:67::i;2013:142:276:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:276;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;9166:477:299:-;9241:12;9256:66;9241:81;;;;9332:20;9355:27;;;;;;;;;;;;;;-1:-1:-1;;;9355:27:299;;;;;;;;;;;;;;;:12;:27::i;:::-;9332:50;-1:-1:-1;9392:90:299;9332:50;9415:66;9392:8;:90::i;:::-;9492:22;9517:41;9539:4;9545:12;9517:21;:41::i;:::-;9492:66;;9568:68;9577:14;9593:42;9568:8;:68::i;2743:227::-;2791:83;2800:50;2806:1;2809:21;2829:1;-1:-1:-1;;2809:21:299;:::i;:::-;-1:-1:-1;;2800:5:299;:50::i;:::-;2852:21;2872:1;-1:-1:-1;;2852:21:299;:::i;2791:83::-;2884:79;2893:50;2899:1;2902:21;2899:1;-1:-1:-1;;2902:21:299;:::i;4249:1020::-;4303:48;4312:33;-1:-1:-1;;;;;4341:3:299;4312:5;:33::i;:::-;-1:-1:-1;;4303:8:299;:48::i;:::-;4361:52;4370:37;4376:20;-1:-1:-1;;;4395:1:299;4376:20;:::i;4370:37::-;-1:-1:-1;;4361:8:299;:52::i;:::-;4423;4432:37;4438:20;-1:-1:-1;;;4457:1:299;4438:20;:::i;4432:37::-;-1:-1:-1;;4423:8:299;:52::i;:::-;4485;4494:37;4500:20;-1:-1:-1;;;4519:1:299;4500:20;:::i;4494:37::-;-1:-1:-1;;4485:8:299;:52::i;:::-;4547:46;4556:32;-1:-1:-1;;;4580:2:299;4584:3;4556:5;:32::i;:::-;4590:2;4547:8;:46::i;:::-;4603:50;4612:36;4618:20;-1:-1:-1;;;4637:1:299;4618:20;:::i;:::-;4640:2;4644:3;4612:5;:36::i;:::-;4650:2;4603:8;:50::i;:::-;4663;4672:36;4678:20;-1:-1:-1;;;4697:1:299;4678:20;:::i;4672:36::-;4710:2;4663:8;:50::i;:::-;4723;4732:36;4738:20;-1:-1:-1;;;4757:1:299;4738:20;:::i;4732:36::-;4770:2;4723:8;:50::i;:::-;4784:48;4793:33;-1:-1:-1;;;;;;;4822:3:299;4793:5;:33::i;:::-;4828:3;4784:8;:48::i;:::-;4842:52;4851:37;4857:20;4876:1;-1:-1:-1;;;;;4857:20:299;:::i;4842:52::-;4904;4913:37;4919:20;4938:1;-1:-1:-1;;;;;4919:20:299;:::i;4913:37::-;4952:3;4904:8;:52::i;:::-;4966;4975:37;4981:20;5000:1;-1:-1:-1;;;;;4981:20:299;:::i;4975:37::-;5014:3;4966:8;:52::i;:::-;5028:48;5037:33;-1:-1:-1;;;;;;;;;5037:5:299;:33::i;:::-;-1:-1:-1;;5028:8:299;:48::i;:::-;5086:52;5095:37;5101:20;5120:1;-1:-1:-1;;;;;5101:20:299;:::i;:::-;-1:-1:-1;;;;5095:5:299;:37::i;:::-;-1:-1:-1;;5086:8:299;:52::i;:::-;5148;5157:37;5163:20;5182:1;-1:-1:-1;;;;;5163:20:299;:::i;5157:37::-;-1:-1:-1;;5148:8:299;:52::i;:::-;5210;5219:37;5225:20;5244:1;-1:-1:-1;;;;;5225:20:299;:::i;5219:37::-;-1:-1:-1;;5210:8:299;:52::i;650:347::-;688:36;697:23;711:1;715;718;697:5;:23::i;:::-;722:1;688:8;:36::i;:::-;734:39;743:25;757:1;761:2;765;743:5;:25::i;:::-;770:2;734:8;:39::i;:::-;783;792:25;806:1;810:2;814;792:5;:25::i;:::-;819:2;783:8;:39::i;:::-;832:43;841:28;855:2;860:3;865;841:5;:28::i;:::-;871:3;832:8;:43::i;:::-;885:47;894:31;908:3;914:4;920;894:5;:31::i;:::-;927:4;885:8;:47::i;:::-;942:48;951:32;965:4;972;978;951:5;:32::i;:::-;985:4;942:8;:48::i;4108:259:281:-;4176:7;4215:2;4203:1;:8;:14;;4195:80;;;;-1:-1:-1;;;4195:80:281;;;;;;;:::i;:::-;;;;;;;;;4335:8;;4330:13;;:2;:13;:::i;:::-;4320:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4320:24:281;;4346:1;4303:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4292:68;;;;;;;;;;;;:::i;:::-;4285:75;4108:259;-1:-1:-1;;4108:259:281:o;2899:1203::-;2979:13;3019:3;3012;:10;;3004:82;;;;-1:-1:-1;;;3004:82:281;;10454:2:310;3004:82:281;;;10436:21:310;10493:2;10473:18;;;10466:30;10532:34;10512:18;;;10505:62;10603:29;10583:18;;;10576:57;10650:19;;3004:82:281;10252:423:310;3004:82:281;3514:10;3531:1;3527;:5;:74;;3573:27;-1:-1:-1;;;3581:1:281;3573:27;:::i;:::-;3527:74;;;3567:1;3536:28;3553:11;;-1:-1:-1;;;3536:28:281;:::i;:::-;:32;;;;:::i;:::-;3514:87;;3611:12;3632:1;3626:3;:7;:80;;3676:29;-1:-1:-1;;;3684:3:281;3676:29;:::i;:::-;3626:80;;;3670:1;3637:30;3654:13;;-1:-1:-1;;;3637:30:281;:::i;:::-;:34;;;;:::i;:::-;3611:95;;3716:12;3737:1;3731:3;:7;:80;;3781:29;-1:-1:-1;;;3789:3:281;3781:29;:::i;:::-;3731:80;;;3775:1;3742:30;3759:13;;-1:-1:-1;;;3742:30:281;:::i;:::-;:34;;;;:::i;:::-;3716:95;;3822:9;3834:22;3841:2;3845:4;3851;3834:6;:22::i;:::-;3822:34;;-1:-1:-1;;;3953:1:281;:18;:83;;4017:18;-1:-1:-1;;;4017:1:281;:18;:::i;:::-;3953:83;;;3983:18;4000:1;-1:-1:-1;;;3983:18:281;:::i;:::-;3981:25;;:21;4005:1;3981:25;:::i;:::-;4046:49;;;;;;;;;;;-1:-1:-1;;;4046:49:281;;;;4075:19;;-1:-1:-1;;;4075:19:281;;;;;10824:25:310;;;3944:92:281;;-1:-1:-1;4046:49:281;;4075:11;;;;10797:18:310;;4075:19:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4075:19:281;;;;;;;;;;;;:::i;:::-;4046:12;:49::i;:::-;2994:1108;;;;2899:1203;;;;;:::o;2703:190::-;2786:14;2821:19;2828:1;2831:3;2836;2821:6;:19::i;:::-;2812:28;;2850:36;;;;;;;;;;;;;;-1:-1:-1;;;2850:36:281;;;2879:6;2850:12;:36::i;:::-;2703:190;;;;;:::o;4766:257:268:-;4826:1;4821;:6;4817:200;;-1:-1:-1;;;;;;;;;;;4848:40:268;;;;11964:2:310;11946:21;;;12003:2;11983:18;;;11976:30;12042:34;12037:2;12022:18;;12015:62;-1:-1:-1;;;12108:2:310;12093:18;;12086:31;12149:3;12134:19;;11762:397;4848:40:268;;;;;;;;-1:-1:-1;;;;;;;;;;;4935:1:268;4907:30;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;4984:1:268;4956:30;;;;;;:::i;:::-;;;;;;;;5000:6;:4;:6::i;8748:259::-;8809:1;8805;:5;8801:200;;;-1:-1:-1;;;;;;;;;;;8831:41:268;;;;13396:2:310;13378:21;;;13435:2;13415:18;;;13408:30;13474:34;13469:2;13454:18;;13447:62;-1:-1:-1;;;13540:2:310;13525:18;;13518:32;13582:3;13567:19;;13194:398;8831:41:268;;;;;;;;-1:-1:-1;;;;;;;;;;;8919:1:268;8891:30;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;8968:1:268;8940:30;;;;;;:::i;12714:259::-;12775:1;12771;:5;12767:200;;;-1:-1:-1;;;;;;;;;;;12797:41:268;;;;14829:2:310;14811:21;;;14868:2;14848:18;;;14841:30;14907:34;14902:2;14887:18;;14880:62;-1:-1:-1;;;14973:2:310;14958:18;;14951:32;15015:3;15000:19;;14627:398;5209:262:268;5271:1;5266;:6;5262:203;;-1:-1:-1;;;;;;;;;;;5293:41:268;;;;15232:2:310;15214:21;;;15271:2;15251:18;;;15244:30;15310:34;15305:2;15290:18;;15283:62;-1:-1:-1;;;15376:2:310;15361:18;;15354:32;15418:3;15403:19;;15030:398;5293:41:268;;;;;;;;-1:-1:-1;;;;;;;;;;;5382:1:268;5353:31;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;5432:1:268;5403:31;;;;;;:::i;9194:254::-;9253:1;9249;:5;9245:197;;;-1:-1:-1;;;;;;;;;;;9275:40:268;;;;16341:2:310;16323:21;;;16380:2;16360:18;;;16353:30;16419:34;16414:2;16399:18;;16392:62;-1:-1:-1;;;16485:2:310;16470:18;;16463:31;16526:3;16511:19;;16139:397;9275:40:268;;;;;;;;-1:-1:-1;;;;;;;;;;;9361:1:268;9334:29;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;9409:1:268;9382:29;;;;;;:::i;13160:254::-;13219:1;13215;:5;13211:197;;;-1:-1:-1;;;;;;;;;;;13241:40:268;;;;17445:2:310;17427:21;;;17484:2;17464:18;;;17457:30;17523:34;17518:2;17503:18;;17496:62;-1:-1:-1;;;17589:2:310;17574:18;;17567:31;17630:3;17615:19;;17243:397;6569:280:281;6780:60;;-1:-1:-1;;;;;;6780:60:281;;;17856:39:310;-1:-1:-1;;;;;;17932:2:310;17928:15;;;17924:53;17911:11;;;17904:74;17994:12;;;17987:28;;;18031:12;;;18024:28;;;6717:7:281;;6747:95;;18068:12:310;;6780:60:281;;;;;;;;;;;;;6770:71;;;;;;9521:10;9397:144;6747:95;6740:102;6569:280;-1:-1:-1;;;;6569:280:281:o;3622:277:268:-;3690:1;-1:-1:-1;;;;;3685:6:268;:1;-1:-1:-1;;;;;3685:6:268;;3681:212;;-1:-1:-1;;;;;;;;;;;3712:44:268;;;;18293:2:310;18275:21;;;18332:2;18312:18;;;18305:30;18371:34;18366:2;18351:18;;18344:62;-1:-1:-1;;;18437:2:310;18422:18;;18415:35;18482:3;18467:19;;18091:401;3712:44:268;;;;;;;;3775:34;3807:1;3775:34;;;;;;:::i;:::-;;;;;;;;3828;3860:1;3828:34;;;;;;:::i;4601:1962:281:-;4695:7;5030:5;5039:4;5030:13;5026:134;;5090:68;;-1:-1:-1;;;5090:68:281;;;19494:28:310;-1:-1:-1;;;19538:11:310;;;19531:36;-1:-1:-1;;;;;;19604:2:310;19600:15;;;19596:53;19583:11;;;19576:74;-1:-1:-1;;;19666:12:310;;;19659:37;5057:103:281;;19712:12:310;;5090:68:281;19255:475:310;5057:103:281;5050:110;;;;5026:134;5183:4;5174:5;:13;5170:134;;5234:68;;-1:-1:-1;;;5234:68:281;;;19972:28:310;-1:-1:-1;;;20016:11:310;;;20009:36;-1:-1:-1;;;;;;20082:2:310;20078:15;;;20074:53;20061:11;;;20054:74;19954:3;20162:16;;;-1:-1:-1;;;;;;20158:25:310;20144:12;;;20137:47;5201:103:281;;20200:12:310;;5234:68:281;19735:483:310;5170:134:281;5466:8;5457:5;:17;5453:148;;5517:82;;-1:-1:-1;;;5517:82:281;;;20486:28:310;-1:-1:-1;;;20530:11:310;;;20523:36;-1:-1:-1;;;;;;20596:2:310;20592:15;;;20588:53;20575:11;;;20568:74;-1:-1:-1;;;20658:12:310;;;20651:37;20468:3;20722:16;;;-1:-1:-1;;;;;;20718:25:310;20704:12;;;20697:47;5484:117:281;;20760:12:310;;5517:82:281;20223:555:310;5453:148:281;5624:9;5615:5;:18;5611:149;;5675:83;;-1:-1:-1;;;5675:83:281;;;21048:28:310;-1:-1:-1;;;21092:11:310;;;21085:36;-1:-1:-1;;;;;;21158:2:310;21154:15;;;21150:53;21137:11;;;21130:74;-1:-1:-1;;;21220:12:310;;;21213:37;-1:-1:-1;;;;;;21306:3:310;21284:16;;;21280:38;21266:12;;;21259:60;5642:118:281;;21335:12:310;;5675:83:281;20783:570:310;5611:149:281;5783:9;5774:5;:18;5770:149;;5834:83;;-1:-1:-1;;;5834:83:281;;;21623:28:310;-1:-1:-1;;;21667:11:310;;;21660:36;-1:-1:-1;;;;;;21733:2:310;21729:15;;;21725:53;21712:11;;;21705:74;-1:-1:-1;;;21795:12:310;;;21788:37;-1:-1:-1;;;;;;21881:3:310;21859:16;;;21855:41;21841:12;;;21834:63;5801:118:281;;21913:12:310;;5834:83:281;21358:573:310;5770:149:281;6462:83;;-1:-1:-1;;;6462:83:281;;;22201:28:310;-1:-1:-1;;;22245:11:310;;;22238:36;-1:-1:-1;;;;;;22311:2:310;22307:15;;;22303:53;22290:11;;;22283:74;-1:-1:-1;;;22373:12:310;;;22366:37;-1:-1:-1;;;;;;22459:3:310;22437:16;;;22433:43;22419:12;;;22412:65;6416:140:281;;22493:12:310;;6462:83:281;21936:575:310;7771:171:281;7862:7;7915:12;7929:4;7898:36;;;;;;;;;:::i;:::-;;;;;;;;;;;;;7888:47;;;;;;7881:54;;7771:171;;;;:::o;4095:277:268:-;4163:1;4158;:6;4154:212;;-1:-1:-1;;;;;;;;;;;4185:44:268;;;;22718:2:310;22700:21;;;22757:2;22737:18;;;22730:30;22796:34;22791:2;22776:18;;22769:62;-1:-1:-1;;;22862:2:310;22847:18;;22840:35;22907:3;22892:19;;22516:401;4185:44:268;;;;;;;;4248:34;4280:1;4248:34;;;;;;:::i;:::-;;;;;;;;4301;4333:1;4301:34;;;;;;:::i;6958:181:281:-;7048:7;7074:58;7096:4;7102:12;1170:42;7074:21;:58::i;1434:1263::-;1518:14;1559:3;1552;:10;;1544:85;;;;-1:-1:-1;;;1544:85:281;;23830:2:310;1544:85:281;;;23812:21:310;23869:2;23849:18;;;23842:30;23908:34;23888:18;;;23881:62;23979:32;23959:18;;;23952:60;24029:19;;1544:85:281;23628:426:310;1544:85:281;1863:3;1858:1;:8;;:20;;;;;1875:3;1870:1;:8;;1858:20;1854:34;;;-1:-1:-1;1887:1:281;1880:8;;1854:34;1899:12;1914:9;1920:3;1914;:9;:::i;:::-;:13;;1926:1;1914:13;:::i;:::-;1899:28;;2122:1;2117;:6;;:18;;;;;2134:1;2127:4;:8;2117:18;2113:38;;;2144:7;2150:1;2144:3;:7;:::i;:::-;2137:14;;;;;2113:38;2170:15;2184:1;-1:-1:-1;;2170:15:281;:::i;:::-;2165:1;:20;;:46;;;;-1:-1:-1;2196:15:281;2210:1;-1:-1:-1;;2196:15:281;:::i;:::-;2189:4;:22;2165:46;2161:82;;;2227:15;2241:1;-1:-1:-1;;2227:15:281;:::i;:::-;2220:23;;:3;:23;:::i;2161:82::-;2347:3;2343:1;:7;2339:352;;;2366:12;2381:7;2385:3;2381:1;:7;:::i;:::-;2366:22;-1:-1:-1;2402:11:281;2416;2423:4;2366:22;2416:11;:::i;:::-;2402:25;;2445:3;2452:1;2445:8;2441:24;;2462:3;2455:10;;;;;;;2441:24;2500:1;2488:9;2494:3;2488;:9;:::i;:::-;:13;;;;:::i;:::-;2479:22;;2352:160;;2339:352;;;2526:3;2522:1;:7;2518:173;;;2545:12;2560:7;2566:1;2560:3;:7;:::i;:::-;2545:22;-1:-1:-1;2581:11:281;2595;2602:4;2545:22;2595:11;:::i;:::-;2581:25;;2624:3;2631:1;2624:8;2620:24;;2641:3;2634:10;;;;;;;2620:24;2667:9;2673:3;2667;:9;:::i;:::-;:13;;2679:1;2667:13;:::i;:::-;2658:22;;2531:160;;2518:173;1534:1163;1434:1263;;;;;:::o;9884:212::-;9966:11;702:42;-1:-1:-1;;;;;9982:36:281;10065:2;10069;10019:53;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;10019:53:281;;;;;;;;;;;;;;-1:-1:-1;;;;;10019:53:281;-1:-1:-1;;;10019:53:281;;;9982:91;;;10019:53;9982:91;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9884:212:281:o;9671:207::-;9747:11;702:42;-1:-1:-1;;;;;9763:36:281;9847:2;9851;9800:54;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;9800:54:281;;;;;;;;;;;;;;-1:-1:-1;;;;;9800:54:281;-1:-1:-1;;;9800:54:281;;;9763:92;;;9800:54;9763:92;:::i;2409:432:268:-;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;24945:51:310;;;-1:-1:-1;;;25012:18:310;;;25005:34;;;;2712:4:268;25055:18:310;;;25048:34;2489:11:268;;1671:64;2586:43;;24918:18:310;;2652:67:268;;;-1:-1:-1;;2652:67:268;;;;;;;;;;2541:196;;;2652:67;2541:196;;:::i;:::-;;;;-1:-1:-1;;2541:196:268;;;;;;;;;;2506:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2452:359:268;2820:7;:14;;-1:-1:-1;;2820:14:268;;;;;2409:432::o;14:658:310:-;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:195;465:6;462:1;459:13;451:195;;;530:13;;-1:-1:-1;;;;;526:39:310;514:52;;621:15;;;;586:12;;;;562:1;480:9;451:195;;;-1:-1:-1;663:3:310;;14:658;-1:-1:-1;;;;;;14:658:310:o;677:316::-;754:6;762;770;823:2;811:9;802:7;798:23;794:32;791:52;;;839:1;836;829:12;791:52;-1:-1:-1;;862:23:310;;;932:2;917:18;;904:32;;-1:-1:-1;983:2:310;968:18;;;955:32;;677:316;-1:-1:-1;677:316:310:o;998:247::-;1065:6;1073;1126:2;1114:9;1105:7;1101:23;1097:32;1094:52;;;1142:1;1139;1132:12;1094:52;-1:-1:-1;;1165:23:310;;;1235:2;1220:18;;;1207:32;;-1:-1:-1;998:247:310:o;1250:1569::-;1454:4;1483:2;1523;1512:9;1508:18;1553:2;1542:9;1535:21;1576:6;1611;1605:13;1642:6;1634;1627:22;1668:2;1658:12;;1701:2;1690:9;1686:18;1679:25;;1763:2;1753:6;1750:1;1746:14;1735:9;1731:30;1727:39;1801:2;1793:6;1789:15;1822:1;1843;1853:937;1869:6;1864:3;1861:15;1853:937;;;1938:22;;;-1:-1:-1;;1934:36:310;1922:49;;1994:13;;2081:9;;-1:-1:-1;;;;;2077:35:310;2062:51;;2152:11;;2146:18;2184:15;;;2177:27;;;2265:19;;2034:15;;;2297:24;;;2387:21;;;;2432:1;;2355:2;2343:15;;;2446:236;2462:8;2457:3;2454:17;2446:236;;;2543:15;;-1:-1:-1;;;;;;2539:42:310;2525:57;;2651:17;;;;2490:1;2481:11;;;;;2608:14;;;;2446:236;;;-1:-1:-1;2768:12:310;;;;2705:5;-1:-1:-1;;;2733:15:310;;;;1895:1;1886:11;1853:937;;;-1:-1:-1;2807:6:310;;1250:1569;-1:-1:-1;;;;;;;;;1250:1569:310:o;2824:250::-;2909:1;2919:113;2933:6;2930:1;2927:13;2919:113;;;3009:11;;;3003:18;2990:11;;;2983:39;2955:2;2948:10;2919:113;;;-1:-1:-1;;3066:1:310;3048:16;;3041:27;2824:250::o;3079:271::-;3121:3;3159:5;3153:12;3186:6;3181:3;3174:19;3202:76;3271:6;3264:4;3259:3;3255:14;3248:4;3241:5;3237:16;3202:76;:::i;:::-;3332:2;3311:15;-1:-1:-1;;3307:29:310;3298:39;;;;3339:4;3294:50;;3079:271;-1:-1:-1;;3079:271:310:o;3355:803::-;3517:4;3546:2;3586;3575:9;3571:18;3616:2;3605:9;3598:21;3639:6;3674;3668:13;3705:6;3697;3690:22;3743:2;3732:9;3728:18;3721:25;;3805:2;3795:6;3792:1;3788:14;3777:9;3773:30;3769:39;3755:53;;3843:2;3835:6;3831:15;3864:1;3874:255;3888:6;3885:1;3882:13;3874:255;;;3981:2;3977:7;3965:9;3957:6;3953:22;3949:36;3944:3;3937:49;4009:40;4042:6;4033;4027:13;4009:40;:::i;:::-;3999:50;-1:-1:-1;4107:12:310;;;;4072:15;;;;3910:1;3903:9;3874:255;;;-1:-1:-1;4146:6:310;;3355:803;-1:-1:-1;;;;;;;3355:803:310:o;5166:276::-;5367:2;5356:9;5349:21;5330:4;5387:49;5432:2;5421:9;5417:18;5003:2;4991:15;;5038:34;5031:4;5022:14;;5015:58;-1:-1:-1;;;5098:2:310;5089:12;;5082:45;5152:2;5143:12;;4926:235;5447:218;5594:2;5583:9;5576:21;5557:4;5614:45;5655:2;5644:9;5640:18;5632:6;5614:45;:::i;5670:127::-;5731:10;5726:3;5722:20;5719:1;5712:31;5762:4;5759:1;5752:15;5786:4;5783:1;5776:15;5802:112;5834:1;5860;5850:35;;5865:18;;:::i;:::-;-1:-1:-1;5899:9:310;;5802:112::o;5919:127::-;5980:10;5975:3;5971:20;5968:1;5961:31;6011:4;6008:1;6001:15;6035:4;6032:1;6025:15;6051:125;6116:9;;;6137:10;;;6134:36;;;6150:18;;:::i;6181:120::-;6221:1;6247;6237:35;;6252:18;;:::i;:::-;-1:-1:-1;6286:9:310;;6181:120::o;6306:136::-;6341:3;-1:-1:-1;;;6362:22:310;;6359:48;;6387:18;;:::i;:::-;-1:-1:-1;6427:1:310;6423:13;;6306:136::o;6447:128::-;6514:9;;;6535:11;;;6532:37;;;6549:18;;:::i;6580:216::-;6644:9;;;6672:11;;;6619:3;6702:9;;6730:10;;6726:19;;6755:10;;6747:19;;6723:44;6720:70;;;6770:18;;:::i;:::-;6720:70;;6580:216;;;;:::o;6801:200::-;6867:9;;;6840:4;6895:9;;6923:10;;6935:12;;;6919:29;6958:12;;;6950:21;;6916:56;6913:82;;;6975:18;;:::i;:::-;6913:82;6801:200;;;;:::o;7006:168::-;7079:9;;;7110;;7127:15;;;7121:22;;7107:37;7097:71;;7148:18;;:::i;7179:135::-;7218:3;7239:17;;;7236:43;;7259:18;;:::i;:::-;-1:-1:-1;7306:1:310;7295:13;;7179:135::o;7319:380::-;7398:1;7394:12;;;;7441;;;7462:61;;7516:4;7508:6;7504:17;7494:27;;7462:61;7569:2;7561:6;7558:14;7538:18;7535:38;7532:161;;7615:10;7610:3;7606:20;7603:1;7596:31;7650:4;7647:1;7640:15;7678:4;7675:1;7668:15;7532:161;;7319:380;;;:::o;7983:384::-;-1:-1:-1;;;;;;8168:33:310;;8156:46;;8225:13;;8138:3;;8247:74;8225:13;8310:1;8301:11;;8294:4;8282:17;;8247:74;:::i;:::-;8341:16;;;;8359:1;8337:24;;7983:384;-1:-1:-1;;;7983:384:310:o;8372:287::-;8501:3;8539:6;8533:13;8555:66;8614:6;8609:3;8602:4;8594:6;8590:17;8555:66;:::i;:::-;8637:16;;;;;8372:287;-1:-1:-1;;8372:287:310:o;8664:277::-;8731:6;8784:2;8772:9;8763:7;8759:23;8755:32;8752:52;;;8800:1;8797;8790:12;8752:52;8832:9;8826:16;8885:5;8878:13;8871:21;8864:5;8861:32;8851:60;;8907:1;8904;8897:12;9434:127;9495:10;9490:3;9486:20;9483:1;9476:31;9526:4;9523:1;9516:15;9550:4;9547:1;9540:15;9566:492;9741:3;9779:6;9773:13;9795:66;9854:6;9849:3;9842:4;9834:6;9830:17;9795:66;:::i;:::-;9924:13;;9883:16;;;;9946:70;9924:13;9883:16;9993:4;9981:17;;9946:70;:::i;:::-;10032:20;;9566:492;-1:-1:-1;;;;9566:492:310:o;10063:184::-;10133:6;10186:2;10174:9;10165:7;10161:23;10157:32;10154:52;;;10202:1;10199;10192:12;10154:52;-1:-1:-1;10225:16:310;;10063:184;-1:-1:-1;10063:184:310:o;10860:897::-;10940:6;10993:2;10981:9;10972:7;10968:23;10964:32;10961:52;;;11009:1;11006;10999:12;10961:52;11042:9;11036:16;11071:18;11112:2;11104:6;11101:14;11098:34;;;11128:1;11125;11118:12;11098:34;11166:6;11155:9;11151:22;11141:32;;11211:7;11204:4;11200:2;11196:13;11192:27;11182:55;;11233:1;11230;11223:12;11182:55;11262:2;11256:9;11284:2;11280;11277:10;11274:36;;;11290:18;;:::i;:::-;11365:2;11359:9;11333:2;11419:13;;-1:-1:-1;;11415:22:310;;;11439:2;11411:31;11407:40;11395:53;;;11463:18;;;11483:22;;;11460:46;11457:72;;;11509:18;;:::i;:::-;11549:10;11545:2;11538:22;11584:2;11576:6;11569:18;11624:7;11619:2;11614;11610;11606:11;11602:20;11599:33;11596:53;;;11645:1;11642;11635:12;11596:53;11658:68;11723:2;11718;11710:6;11706:15;11701:2;11697;11693:11;11658:68;:::i;:::-;11745:6;10860:897;-1:-1:-1;;;;;;;10860:897:310:o;12328:346::-;12556:2;12545:9;12538:21;12519:4;12576:49;12621:2;12610:9;12606:18;12241:2;12229:15;;-1:-1:-1;;;12269:4:310;12260:14;;12253:36;12314:2;12305:12;;12164:159;12576:49;12568:57;;12661:6;12656:2;12645:9;12641:18;12634:34;12328:346;;;;:::o;12843:::-;13071:2;13060:9;13053:21;13034:4;13091:49;13136:2;13125:9;13121:18;12756:2;12744:15;;-1:-1:-1;;;12784:4:310;12775:14;;12768:36;12829:2;12820:12;;12679:159;13759:348;13989:2;13978:9;13971:21;13952:4;14009:49;14054:2;14043:9;14039:18;13674:1;13662:14;;-1:-1:-1;;;13701:4:310;13692:14;;13685:35;13745:2;13736:12;;13597:157;14274:348;14504:2;14493:9;14486:21;14467:4;14524:49;14569:2;14558:9;14554:18;14189:1;14177:14;;-1:-1:-1;;;14216:4:310;14207:14;;14200:35;14260:2;14251:12;;14112:157;18497:374;18727:2;18716:9;18709:21;18690:4;18747:49;18792:2;18781:9;18777:18;12241:2;12229:15;;-1:-1:-1;;;12269:4:310;12260:14;;12253:36;12314:2;12305:12;;12164:159;18747:49;-1:-1:-1;;;;;18832:32:310;;;;18827:2;18812:18;;;;18805:60;;;;-1:-1:-1;18739:57:310;18497:374::o;18876:::-;19106:2;19095:9;19088:21;19069:4;19126:49;19171:2;19160:9;19156:18;12756:2;12744:15;;-1:-1:-1;;;12784:4:310;12775:14;;12768:36;12829:2;12820:12;;12679:159;24059:383;24256:2;24245:9;24238:21;24219:4;24282:45;24323:2;24312:9;24308:18;24300:6;24282:45;:::i;:::-;24375:9;24367:6;24363:22;24358:2;24347:9;24343:18;24336:50;24403:33;24429:6;24421;24403:33;:::i;:::-;24395:41;24059:383;-1:-1:-1;;;;;24059:383:310:o;24447:291::-;24624:2;24613:9;24606:21;24587:4;24644:45;24685:2;24674:9;24670:18;24662:6;24644:45;:::i;:::-;24636:53;;24725:6;24720:2;24709:9;24705:18;24698:34;24447:291;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testBound()":"fd2aea04","testBound(uint256,uint256,uint256)":"4431cc72","testBoundInt()":"ac23c3da","testBoundInt(int256,int256,int256)":"87b338ab","testBoundIntInt256Max()":"4243de06","testBoundIntInt256Min()":"8b242946","testBoundInt_DistributionIsEven(int256,uint256)":"41b01c20","testBoundInt_EdgeCoverage()":"fa5fd5f4","testBoundInt_WithinRange()":"4ee2d9f5","testBoundUint256Max()":"f4faa6a6","testBound_DistributionIsEven(uint256,uint256)":"9d6d85bb","testBound_EdgeCoverage()":"c67d3c01","testBound_WithinRange()":"a8d04d08","testBytesToUint()":"6f982633","testCannotBoundIntMaxLessThanMin()":"39c6b676","testCannotBoundIntMaxLessThanMin(int256,int256,int256)":"8bd64689","testCannotBoundMaxLessThanMin()":"60a7874c","testCannotBoundMaxLessThanMin(uint256,uint256,uint256)":"3c84a879","testCannotConvertGT32Bytes()":"073afe37","testComputeCreate2Address()":"d340432c","testComputeCreate2AddressWithDefaultDeployer()":"e7c0f271","testComputeCreateAddress()":"dfe05829"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"testBound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBound\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"num\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"testBoundInt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBoundInt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBoundIntInt256Max\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBoundIntInt256Min\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"testBoundInt_DistributionIsEven\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBoundInt_EdgeCoverage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBoundInt_WithinRange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBoundUint256Max\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"testBound_DistributionIsEven\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBound_EdgeCoverage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBound_WithinRange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testBytesToUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotBoundIntMaxLessThanMin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"num\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"min\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"max\",\"type\":\"int256\"}],\"name\":\"testCannotBoundIntMaxLessThanMin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"num\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"max\",\"type\":\"uint256\"}],\"name\":\"testCannotBoundMaxLessThanMin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotBoundMaxLessThanMin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotConvertGT32Bytes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testComputeCreate2Address\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testComputeCreate2AddressWithDefaultDeployer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testComputeCreateAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol\":\"StdUtilsTest\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts/contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749\",\"dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af\",\"dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17\",\"dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5\",\"dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c\",\"dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol\":{\"keccak256\":\"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985\",\"dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf\",\"dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10\",\"dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol\":{\"keccak256\":\"0x98b7ab6bce1b0cfbc3d9a5c7fa1cea31d7b2bfd6f89b3ab40b3388430a33410e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10b33b5eb0d095c6d9b632f55444b9a30e84503a08ff511ce1a64e9a073d50b1\",\"dweb:/ipfs/QmdmrW51o1ZW9za7c7utvPpFFEoR4DNNp5N8apdvWhDfNL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"testBound"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBound"},{"inputs":[{"internalType":"int256","name":"num","type":"int256"},{"internalType":"int256","name":"min","type":"int256"},{"internalType":"int256","name":"max","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"testBoundInt"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBoundInt"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBoundIntInt256Max"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBoundIntInt256Min"},{"inputs":[{"internalType":"int256","name":"min","type":"int256"},{"internalType":"uint256","name":"size","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"testBoundInt_DistributionIsEven"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBoundInt_EdgeCoverage"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBoundInt_WithinRange"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBoundUint256Max"},{"inputs":[{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"testBound_DistributionIsEven"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBound_EdgeCoverage"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBound_WithinRange"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testBytesToUint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotBoundIntMaxLessThanMin"},{"inputs":[{"internalType":"int256","name":"num","type":"int256"},{"internalType":"int256","name":"min","type":"int256"},{"internalType":"int256","name":"max","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"testCannotBoundIntMaxLessThanMin"},{"inputs":[{"internalType":"uint256","name":"num","type":"uint256"},{"internalType":"uint256","name":"min","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"testCannotBoundMaxLessThanMin"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotBoundMaxLessThanMin"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotConvertGT32Bytes"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testComputeCreate2Address"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testComputeCreate2AddressWithDefaultDeployer"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testComputeCreateAddress"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol":"StdUtilsTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/test.sol":{"keccak256":"0x4c1915908e867ed8ed9fe731dff0e1d4980f5a11a1fd1894f2800b2ae2070154","urls":["bzz-raw://c9d7f9295364406115e820a14be670e54603f00fc9474093613409743db53749","dweb:/ipfs/QmNjUUo9DK6xnfLjXYPc3qUznJv2PmSbaEXZCyyGRf5v5V"],"license":"GPL-3.0-or-later"},"lib/openzeppelin-contracts/lib/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdAssertions.sol":{"keccak256":"0xdb05fd11858f232b8b5c6c9175229bdd061c277c34f13b0bdc64d333bcbd2617","urls":["bzz-raw://08ae865564d9c1fa1012b61db77a2da2844ac1ae0a216b16c9fe9ab65ddf80af","dweb:/ipfs/QmfFfmkjb2Qfc5dPJvwQgjTMbeQ12dTPFeAQ8Gb944U44g"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdChains.sol":{"keccak256":"0x097b75f7171af89f433407e040d11b22fc26e2fe03793c2cfe18cad390d7af8b","urls":["bzz-raw://19d1dca7b398e517499ffa65ad44df69cdd016f37dc57e2d07d50279d3ddee17","dweb:/ipfs/QmfMFR25367GB5PoBi1KZxWs1hZcJtC3eANiioG3dKj8ah"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdCheats.sol":{"keccak256":"0xa9a389ae870e108986d72d760a792d011516a7091ab48da20a5982f8ae2e2575","urls":["bzz-raw://d6de722b90ec6b39fe65e121db1735234c8a123fd7bee0ed5daa646b0e6e14a5","dweb:/ipfs/QmQfrW7sP3snKdoxtEVWh5CAxApwhBs6uLvDhiJLTza1Lp"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdJson.sol":{"keccak256":"0x9e2a7521190c462a0667706385f1c52a816220a9813ca8ac520fba7ba45d660b","urls":["bzz-raw://7d23017fe6570b28130a731b86179352b93a5fb5af32f11559837afc1186293c","dweb:/ipfs/QmR3p6zG5Kmcr8gKocFCSopLHfXv1AziPJbH17nKyMxwxV"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdStyle.sol":{"keccak256":"0x2882555b0f58e48144e46e9aa5118a506b31ad7485327d54e8f681e8b414c337","urls":["bzz-raw://2850bcb1322de9d9dd87ded42debbe0e8fc4048173788d4c00c98b50e5f76985","dweb:/ipfs/QmUiPKnj7GZLLQbJGY7bVDu79Q9jGEYNjR5ZBgwFy8mH97"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Test.sol":{"keccak256":"0xddf16afce2bb7bbb69ed868d4c7ee8b4ea4ffbf8929427fe799682f107534945","urls":["bzz-raw://52f6ebde2a4cb9d08aea5fb3d62b2f15961bb9a29d6d9e30dd0859d0d631cabf","dweb:/ipfs/QmeJ9Dp1GYUggzjGiwTZkxCfB15NfyfgcyrNZL5tyWZbVZ"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/Vm.sol":{"keccak256":"0x4ba6040f75ea4425c4cf5f77a8ea99f3a7a0fcb5bf13d0186d0952cf505b8203","urls":["bzz-raw://363bd98c4de695b34709e318213b2955d8a493d0249857701c05966c81341b10","dweb:/ipfs/QmdtS71RFemQhq8WYT3WP5UQ4FAsCnaw2JbiPJ3vTUYYRu"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"lib/openzeppelin-contracts/lib/forge-std/test/StdUtils.t.sol":{"keccak256":"0x98b7ab6bce1b0cfbc3d9a5c7fa1cea31d7b2bfd6f89b3ab40b3388430a33410e","urls":["bzz-raw://10b33b5eb0d095c6d9b632f55444b9a30e84503a08ff511ce1a64e9a073d50b1","dweb:/ipfs/QmdmrW51o1ZW9za7c7utvPpFFEoR4DNNp5N8apdvWhDfNL"],"license":"MIT"}},"version":1},"id":299}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209df495585577ab1b39257162e667841b76f61b2e07196b4434dd8aeb6ecd0b4164736f6c63430008140033","sourceMap":"1420:2685:229:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1420:2685:229;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea26469706673582212209df495585577ab1b39257162e667841b76f61b2e07196b4434dd8aeb6ecd0b4164736f6c63430008140033","sourceMap":"1420:2685:229:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC1967 implementation slot: ```solidity contract ERC1967 { bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(Address.isContract(newImplementation), \\\"ERC1967: new implementation is not a contract\\\"); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` _Available since v4.1 for `address`, `bool`, `bytes32`, `uint256`._ _Available since v4.9 for `string`, `bytes`._\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"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/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":[],"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/StorageSlot.sol":"StorageSlot"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"}},"version":1},"id":229}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"function","name":"bytesMap","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getAddress","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBoolean","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getBytes","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getBytes32","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getBytesStorage","inputs":[{"name":"key","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getString","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getStringStorage","inputs":[{"name":"key","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getUint256","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setAddress","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBoolean","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBytes","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBytes32","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setBytesStorage","inputs":[{"name":"key","type":"uint256","internalType":"uint256"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setString","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setStringStorage","inputs":[{"name":"key","type":"uint256","internalType":"uint256"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUint256","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stringMap","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561000f575f80fd5b5061074f8061001d5f395ff3fe608060405234801561000f575f80fd5b5060043610610111575f3560e01c80635a46e25d1161009e578063a6ed563e1161006e578063a6ed563e14610199578063c031a18014610216578063ca446dd91461023c578063df6e58d614610267578063f8715b3e1461027a575f80fd5b80635a46e25d146102035780636e89955014610186578063986e791a146102165780639b22f34314610229575f80fd5b806333598b00116100e457806333598b00146101995780633848207a146101b95780633e60bd78146101de5780634e91db08146101f15780634f3029c2146101f1575f80fd5b80630afb30ba146101155780631e133d0f1461012a57806321f8a721146101535780632e28d08414610186575b5f80fd5b610128610123366004610488565b610296565b005b61013d6101383660046104d0565b6102ba565b60405161014a919061052a565b60405180910390f35b61016e6101613660046104d0565b546001600160a01b031690565b6040516001600160a01b03909116815260200161014a565b610128610194366004610488565b610351565b6101ab6101a73660046104d0565b5490565b60405190815260200161014a565b6101ce6101c73660046104d0565b5460ff1690565b604051901515815260200161014a565b6101286101ec366004610488565b610359565b6101286101ff366004610543565b9055565b61013d6102113660046104d0565b61036f565b61013d6102243660046104d0565b610387565b61013d6102373660046104d0565b610419565b61012861024a366004610563565b81546001600160a01b0319166001600160a01b0391909116179055565b61013d6102753660046104d0565b61042e565b61012861028836600461059c565b815460ff1916901515179055565b5f838152600160205260409020829082905b916102b491908361065d565b50505050565b5f60208190529081526040902080546102d2906105d7565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe906105d7565b80156103495780601f1061032057610100808354040283529160200191610349565b820191905f5260205f20905b81548152906001019060200180831161032c57829003601f168201915b505050505081565b8181846102a8565b5f838152602081905260409020829082906102a8565b60016020525f9081526040902080546102d2906105d7565b6060815b8054610396906105d7565b80601f01602080910402602001604051908101604052809291908181526020018280546103c2906105d7565b801561040d5780601f106103e45761010080835404028352916020019161040d565b820191905f5260205f20905b8154815290600101906020018083116103f057829003601f168201915b50505050509050919050565b5f81815260016020526040902060609061038b565b5f81815260208190526040902060609061038b565b5f8083601f840112610453575f80fd5b50813567ffffffffffffffff81111561046a575f80fd5b602083019150836020828501011115610481575f80fd5b9250929050565b5f805f6040848603121561049a575f80fd5b83359250602084013567ffffffffffffffff8111156104b7575f80fd5b6104c386828701610443565b9497909650939450505050565b5f602082840312156104e0575f80fd5b5035919050565b5f81518084525f5b8181101561050b576020818501810151868301820152016104ef565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61053c60208301846104e7565b9392505050565b5f8060408385031215610554575f80fd5b50508035926020909101359150565b5f8060408385031215610574575f80fd5b8235915060208301356001600160a01b0381168114610591575f80fd5b809150509250929050565b5f80604083850312156105ad575f80fd5b8235915060208301358015158114610591575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806105eb57607f821691505b60208210810361060957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610658575f81815260208120601f850160051c810160208610156106355750805b601f850160051c820191505b8181101561065457828155600101610641565b5050505b505050565b67ffffffffffffffff831115610675576106756105c3565b6106898361068383546105d7565b8361060f565b5f601f8411600181146106ba575f85156106a35750838201355b5f19600387901b1c1916600186901b178355610712565b5f83815260209020601f19861690835b828110156106ea57868501358255602094850194600190920191016106ca565b5086821015610706575f1960f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea2646970667358221220fedc86bd97a48184238aa3f4f5b1144f3d5569c29479f454e3f62bdce53d7abe64736f6c63430008140033","sourceMap":"94:2119:106:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f80fd5b5060043610610111575f3560e01c80635a46e25d1161009e578063a6ed563e1161006e578063a6ed563e14610199578063c031a18014610216578063ca446dd91461023c578063df6e58d614610267578063f8715b3e1461027a575f80fd5b80635a46e25d146102035780636e89955014610186578063986e791a146102165780639b22f34314610229575f80fd5b806333598b00116100e457806333598b00146101995780633848207a146101b95780633e60bd78146101de5780634e91db08146101f15780634f3029c2146101f1575f80fd5b80630afb30ba146101155780631e133d0f1461012a57806321f8a721146101535780632e28d08414610186575b5f80fd5b610128610123366004610488565b610296565b005b61013d6101383660046104d0565b6102ba565b60405161014a919061052a565b60405180910390f35b61016e6101613660046104d0565b546001600160a01b031690565b6040516001600160a01b03909116815260200161014a565b610128610194366004610488565b610351565b6101ab6101a73660046104d0565b5490565b60405190815260200161014a565b6101ce6101c73660046104d0565b5460ff1690565b604051901515815260200161014a565b6101286101ec366004610488565b610359565b6101286101ff366004610543565b9055565b61013d6102113660046104d0565b61036f565b61013d6102243660046104d0565b610387565b61013d6102373660046104d0565b610419565b61012861024a366004610563565b81546001600160a01b0319166001600160a01b0391909116179055565b61013d6102753660046104d0565b61042e565b61012861028836600461059c565b815460ff1916901515179055565b5f838152600160205260409020829082905b916102b491908361065d565b50505050565b5f60208190529081526040902080546102d2906105d7565b80601f01602080910402602001604051908101604052809291908181526020018280546102fe906105d7565b80156103495780601f1061032057610100808354040283529160200191610349565b820191905f5260205f20905b81548152906001019060200180831161032c57829003601f168201915b505050505081565b8181846102a8565b5f838152602081905260409020829082906102a8565b60016020525f9081526040902080546102d2906105d7565b6060815b8054610396906105d7565b80601f01602080910402602001604051908101604052809291908181526020018280546103c2906105d7565b801561040d5780601f106103e45761010080835404028352916020019161040d565b820191905f5260205f20905b8154815290600101906020018083116103f057829003601f168201915b50505050509050919050565b5f81815260016020526040902060609061038b565b5f81815260208190526040902060609061038b565b5f8083601f840112610453575f80fd5b50813567ffffffffffffffff81111561046a575f80fd5b602083019150836020828501011115610481575f80fd5b9250929050565b5f805f6040848603121561049a575f80fd5b83359250602084013567ffffffffffffffff8111156104b7575f80fd5b6104c386828701610443565b9497909650939450505050565b5f602082840312156104e0575f80fd5b5035919050565b5f81518084525f5b8181101561050b576020818501810151868301820152016104ef565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f61053c60208301846104e7565b9392505050565b5f8060408385031215610554575f80fd5b50508035926020909101359150565b5f8060408385031215610574575f80fd5b8235915060208301356001600160a01b0381168114610591575f80fd5b809150509250929050565b5f80604083850312156105ad575f80fd5b8235915060208301358015158114610591575f80fd5b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806105eb57607f821691505b60208210810361060957634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610658575f81815260208120601f850160051c810160208610156106355750805b601f850160051c820191505b8181101561065457828155600101610641565b5050505b505050565b67ffffffffffffffff831115610675576106756105c3565b6106898361068383546105d7565b8361060f565b5f601f8411600181146106ba575f85156106a35750838201355b5f19600387901b1c1916600186901b178355610712565b5f83815260209020601f19861690835b828110156106ea57868501358255602094850194600190920191016106ca565b5086821015610706575f1960f88860031b161c19848701351681555b505060018560011b0183555b505050505056fea2646970667358221220fedc86bd97a48184238aa3f4f5b1144f3d5569c29479f454e3f62bdce53d7abe64736f6c63430008140033","sourceMap":"94:2119:106:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1826:126;;;;;;:::i;:::-;;:::i;:::-;;1089:43;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;726:115;;;;;;:::i;:::-;807:27;-1:-1:-1;;;;;807:27:106;;726:115;;;;-1:-1:-1;;;;;2035:32:310;;;2017:51;;2005:2;1990:18;726:115:106;1871:203:310;1709:111:106;;;;;;:::i;:::-;;:::i;968:115::-;;;;;;:::i;:::-;1049:27;;968:115;;;;2707:25:310;;;2695:2;2680:18;968:115:106;2561:177:310;608:112:106;;;;;;:::i;:::-;686:27;;;;608:112;;;;2908:14:310;;2901:22;2883:41;;2871:2;2856:18;608:112:106;2743:187:310;1259:130:106;;;;;;:::i;:::-;;:::i;380:108::-;;;;;;:::i;:::-;446:35;;380:108;1661:41;;;;;;:::i;:::-;;:::i;1395:119::-;;;;;;:::i;:::-;;:::i;2080:131::-;;;;;;:::i;:::-;;:::i;266:108::-;;;;;;:::i;:::-;332:35;;-1:-1:-1;;;;;;332:35:106;-1:-1:-1;;;;;332:35:106;;;;;;;266:108;1520:135;;;;;;:::i;:::-;;:::i;155:105::-;;;;;;:::i;:::-;218:35;;-1:-1:-1;;218:35:106;;;;;;;155:105;1826:126;1903:13;;;;:8;:13;;;;;1940:5;;;;1903:28;:34;:42;;;:34;:42;:::i;:::-;;1826:126;;;:::o;1089:43::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1709:111::-;1808:5;;1780:4;:19;3904:199:229;1259:130:106;1338:9;:14;;;;;;;;;;1377:5;;;;1338:30;3904:199:229;1661:41:106;;;;;;;;;;;;;;;;:::i;1395:119::-;1449:13;1481:4;:20;1474:33;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1395:119;;;:::o;2080:131::-;2170:13;;;;:8;:13;;;;;2139:12;;2170:28;3904:199:229;1520:135:106;1612:9;:14;;;;;;;;;;1580:13;;1612:30;3904:199:229;14:347:310;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:310;;213:18;202:30;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;296:59;14:347;;;;;:::o;366:477::-;445:6;453;461;514:2;502:9;493:7;489:23;485:32;482:52;;;530:1;527;520:12;482:52;566:9;553:23;543:33;;627:2;616:9;612:18;599:32;654:18;646:6;643:30;640:50;;;686:1;683;676:12;640:50;725:58;775:7;766:6;755:9;751:22;725:58;:::i;:::-;366:477;;802:8;;-1:-1:-1;699:84:310;;-1:-1:-1;;;;366:477:310:o;848:180::-;907:6;960:2;948:9;939:7;935:23;931:32;928:52;;;976:1;973;966:12;928:52;-1:-1:-1;999:23:310;;848:180;-1:-1:-1;848:180:310:o;1033:423::-;1075:3;1113:5;1107:12;1140:6;1135:3;1128:19;1165:1;1175:162;1189:6;1186:1;1183:13;1175:162;;;1251:4;1307:13;;;1303:22;;1297:29;1279:11;;;1275:20;;1268:59;1204:12;1175:162;;;1179:3;1382:1;1375:4;1366:6;1361:3;1357:16;1353:27;1346:38;1445:4;1438:2;1434:7;1429:2;1421:6;1417:15;1413:29;1408:3;1404:39;1400:50;1393:57;;;1033:423;;;;:::o;1461:220::-;1610:2;1599:9;1592:21;1573:4;1630:45;1671:2;1660:9;1656:18;1648:6;1630:45;:::i;:::-;1622:53;1461:220;-1:-1:-1;;;1461:220:310:o;3418:248::-;3486:6;3494;3547:2;3535:9;3526:7;3522:23;3518:32;3515:52;;;3563:1;3560;3553:12;3515:52;-1:-1:-1;;3586:23:310;;;3656:2;3641:18;;;3628:32;;-1:-1:-1;3418:248:310:o;4812:354::-;4880:6;4888;4941:2;4929:9;4920:7;4916:23;4912:32;4909:52;;;4957:1;4954;4947:12;4909:52;4980:23;;;-1:-1:-1;5053:2:310;5038:18;;5025:32;-1:-1:-1;;;;;5086:31:310;;5076:42;;5066:70;;5132:1;5129;5122:12;5066:70;5155:5;5145:15;;;4812:354;;;;;:::o;5171:341::-;5236:6;5244;5297:2;5285:9;5276:7;5272:23;5268:32;5265:52;;;5313:1;5310;5303:12;5265:52;5349:9;5336:23;5326:33;;5409:2;5398:9;5394:18;5381:32;5456:5;5449:13;5442:21;5435:5;5432:32;5422:60;;5478:1;5475;5468:12;5517:127;5578:10;5573:3;5569:20;5566:1;5559:31;5609:4;5606:1;5599:15;5633:4;5630:1;5623:15;5649:380;5728:1;5724:12;;;;5771;;;5792:61;;5846:4;5838:6;5834:17;5824:27;;5792:61;5899:2;5891:6;5888:14;5868:18;5865:38;5862:161;;5945:10;5940:3;5936:20;5933:1;5926:31;5980:4;5977:1;5970:15;6008:4;6005:1;5998:15;5862:161;;5649:380;;;:::o;6159:544::-;6260:2;6255:3;6252:11;6249:448;;;6296:1;6321:5;6317:2;6310:17;6366:4;6362:2;6352:19;6436:2;6424:10;6420:19;6417:1;6413:27;6407:4;6403:38;6472:4;6460:10;6457:20;6454:47;;;-1:-1:-1;6495:4:310;6454:47;6550:2;6545:3;6541:12;6538:1;6534:20;6528:4;6524:31;6514:41;;6605:82;6623:2;6616:5;6613:13;6605:82;;;6668:17;;;6649:1;6638:13;6605:82;;;6609:3;;;6249:448;6159:544;;;:::o;6879:1202::-;7001:18;6996:3;6993:27;6990:53;;;7023:18;;:::i;:::-;7052:93;7141:3;7101:38;7133:4;7127:11;7101:38;:::i;:::-;7095:4;7052:93;:::i;:::-;7171:1;7196:2;7191:3;7188:11;7213:1;7208:615;;;;7867:1;7884:3;7881:93;;;-1:-1:-1;7940:19:310;;;7927:33;7881:93;-1:-1:-1;;6836:1:310;6832:11;;;6828:24;6824:29;6814:40;6860:1;6856:11;;;6811:57;7987:78;;7181:894;;7208:615;6106:1;6099:14;;;6143:4;6130:18;;-1:-1:-1;;7244:17:310;;;7344:9;7366:229;7380:7;7377:1;7374:14;7366:229;;;7469:19;;;7456:33;7441:49;;7576:4;7561:20;;;;7529:1;7517:14;;;;7396:12;7366:229;;;7370:3;7623;7614:7;7611:16;7608:159;;;7747:1;7743:6;7737:3;7731;7728:1;7724:11;7720:21;7716:34;7712:39;7699:9;7694:3;7690:19;7677:33;7673:79;7665:6;7658:95;7608:159;;;7810:1;7804:3;7801:1;7797:11;7793:19;7787:4;7780:33;7181:894;;;6879:1202;;;:::o","linkReferences":{}},"methodIdentifiers":{"bytesMap(uint256)":"5a46e25d","getAddress(bytes32)":"21f8a721","getBoolean(bytes32)":"3848207a","getBytes(bytes32)":"c031a180","getBytes32(bytes32)":"a6ed563e","getBytesStorage(uint256)":"9b22f343","getString(bytes32)":"986e791a","getStringStorage(uint256)":"df6e58d6","getUint256(bytes32)":"33598b00","setAddress(bytes32,address)":"ca446dd9","setBoolean(bytes32,bool)":"f8715b3e","setBytes(bytes32,bytes)":"2e28d084","setBytes32(bytes32,bytes32)":"4e91db08","setBytesStorage(uint256,bytes)":"0afb30ba","setString(bytes32,string)":"6e899550","setStringStorage(uint256,string)":"3e60bd78","setUint256(bytes32,uint256)":"4f3029c2","stringMap(uint256)":"1e133d0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"bytesMap\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"getBoolean\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"getBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"getBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"getBytesStorage\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"getString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"}],\"name\":\"getStringStorage\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"getUint256\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"setAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"setBoolean\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"setBytes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"setBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"setBytesStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setString\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"key\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setStringStorage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setUint256\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"stringMap\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol\":\"StorageSlotMock\"},\"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/StorageSlotMock.sol\":{\"keccak256\":\"0xe63799bcde0994e08a418b5e567d89f5d1238767bff0c7f333c8b9a7a0b4f86f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a95864dba26eb70ff01661563f59e15128a388378d072c3e950566098cc98125\",\"dweb:/ipfs/QmU4NuAPzUZuR1z8rSx5FZvnggyeM78VoGBfaoXXLXW5QV\"]},\"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":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"bytesMap","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getBoolean","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"key","type":"uint256"}],"stateMutability":"view","type":"function","name":"getBytesStorage","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"key","type":"uint256"}],"stateMutability":"view","type":"function","name":"getStringStorage","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getUint256","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"address","name":"value","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAddress"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setBoolean"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setBytes"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setBytes32"},{"inputs":[{"internalType":"uint256","name":"key","type":"uint256"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setBytesStorage"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setString"},{"inputs":[{"internalType":"uint256","name":"key","type":"uint256"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setStringStorage"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setUint256"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"stringMap","outputs":[{"internalType":"string","name":"","type":"string"}]}],"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/StorageSlotMock.sol":"StorageSlotMock"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/mocks/StorageSlotMock.sol":{"keccak256":"0xe63799bcde0994e08a418b5e567d89f5d1238767bff0c7f333c8b9a7a0b4f86f","urls":["bzz-raw://a95864dba26eb70ff01661563f59e15128a388378d072c3e950566098cc98125","dweb:/ipfs/QmU4NuAPzUZuR1z8rSx5FZvnggyeM78VoGBfaoXXLXW5QV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"}},"version":1},"id":106}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[],"bytecode":{"object":"0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122063f25ab17e2cf65d24cecda2a1c2be0e5d1cd86ca4fb082bb9289c8ae98556b764736f6c63430008140033","sourceMap":"220:2559:230:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;220:2559:230;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x730000000000000000000000000000000000000000301460806040525f80fdfea264697066735822122063f25ab17e2cf65d24cecda2a1c2be0e5d1cd86ca4fb082bb9289c8ae98556b764736f6c63430008140033","sourceMap":"220:2559:230:-:0;;;;;;;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":\"Strings\"},\"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/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"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":[],"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/Strings.sol":"Strings"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"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":230}
|