@elizaos/autonomous 2.0.0-alpha.21 → 2.0.0-alpha.22
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/.turbo/turbo-build.log +0 -140
- package/.turbo/turbo-lint$colon$check.log +89 -0
- package/.turbo/turbo-typecheck.log +1 -0
- package/dist/package.json +986 -0
- package/dist/packages/autonomous/src/config/zod-schema.core.d.ts +1 -1
- package/dist/packages/autonomous/src/config/zod-schema.d.ts +41 -41
- package/dist/packages/autonomous/src/config/zod-schema.providers-core.d.ts +37 -37
- package/dist/packages/autonomous/src/config/zod-schema.session.d.ts +1 -1
- package/dist/packages/autonomous/src/services/coding-agent-context.d.ts +4 -4
- 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.config.ts +23 -0
- package/vitest.e2e.config.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"BALLOT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"COUNTING_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"EXTENDED_BALLOT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"cancel","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVote","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteBySig","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReason","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReasonAndParams","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"castVoteWithReasonAndParamsBySig","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"},{"name":"support","type":"uint8","internalType":"uint8"},{"name":"reason","type":"string","internalType":"string"},{"name":"params","type":"bytes","internalType":"bytes"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"pure"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"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":"execute","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotesWithParams","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"params","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"hasVoted","inputs":[{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"hashProposal","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"descriptionHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"onERC1155BatchReceived","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC1155Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"nonpayable"},{"type":"function","name":"proposalDeadline","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalProposer","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"proposalSnapshot","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"proposalThreshold","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"propose","inputs":[{"name":"targets","type":"address[]","internalType":"address[]"},{"name":"values","type":"uint256[]","internalType":"uint256[]"},{"name":"calldatas","type":"bytes[]","internalType":"bytes[]"},{"name":"description","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"quorum","inputs":[{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"relay","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"state","inputs":[{"name":"proposalId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint8","internalType":"enum IGovernor.ProposalState"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"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":"testInvalidDescriptionForProposer","inputs":[{"name":"description","type":"string","internalType":"string"},{"name":"commitProposer","type":"address","internalType":"address"},{"name":"actualProposer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testValidDescriptionForProposer","inputs":[{"name":"description","type":"string","internalType":"string"},{"name":"proposer","type":"address","internalType":"address"},{"name":"includeProposer","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"votingDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"votingPeriod","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"ProposalCanceled","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ProposalCreated","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"proposer","type":"address","indexed":false,"internalType":"address"},{"name":"targets","type":"address[]","indexed":false,"internalType":"address[]"},{"name":"values","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"signatures","type":"string[]","indexed":false,"internalType":"string[]"},{"name":"calldatas","type":"bytes[]","indexed":false,"internalType":"bytes[]"},{"name":"voteStart","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"voteEnd","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"description","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ProposalExecuted","inputs":[{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"VoteCast","inputs":[{"name":"voter","type":"address","indexed":true,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"support","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"VoteCastWithParams","inputs":[{"name":"voter","type":"address","indexed":true,"internalType":"address"},{"name":"proposalId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"support","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"weight","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"reason","type":"string","indexed":false,"internalType":"string"},{"name":"params","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"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},{"type":"error","name":"Empty","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x6101606040525f8054600160ff1991821681179092556004805490911690911790553480156200002d575f80fd5b5060408051602081019091525f8152806200005c6040805180820190915260018152603160f81b602082015290565b6200006982601b62000126565b610120526200007a81601c62000126565b61014052815160208084019190912060e052815190820120610100524660a0526200010760e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052601d6200011e828262000249565b505062000382565b5f60208351101562000145576200013d836200015e565b905062000158565b8162000152848262000249565b5060ff90505b92915050565b5f80829050601f8151111562000194578260405163305a27a960e01b81526004016200018b919062000311565b60405180910390fd5b8051620001a1826200035e565b179392505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620001d257607f821691505b602082108103620001f157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000244575f81815260208120601f850160051c810160208610156200021f5750805b601f850160051c820191505b8181101562000240578281556001016200022b565b5050505b505050565b81516001600160401b03811115620002655762000265620001a9565b6200027d81620002768454620001bd565b84620001f7565b602080601f831160018114620002b3575f84156200029b5750858301515b5f19600386901b1c1916600185901b17855562000240565b5f85815260208120601f198616915b82811015620002e357888601518255948401946001909101908401620002c2565b50858210156200030157878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b5f6020808352835180828501525f5b818110156200033e5785810183015185820160400152820162000320565b505f604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620001f1575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051613819620003d45f395f61143301525f61140801525f6122fb01525f6122d301525f61222e01525f61225801525f61228201526138195ff3fe60806040526004361061026d575f3560e01c80637b3c71d31161014a578063c01f9e37116100be578063e63c8f4111610078578063e63c8f4114610768578063e825381c14610787578063eb9019d4146107a6578063f23a6e61146107c5578063f8ce560a146107f0578063fa7626d41461080f575f80fd5b8063c01f9e37146106b8578063c28bc2fa146106ef578063c59057e414610702578063dd4e2ba5146104f7578063deaaa7cc14610721578063e20c9f7114610754575f80fd5b806391ddadf41161010f57806391ddadf41461062c5780639a802a6d14610646578063b5508aa914610665578063b58131b0146102b7578063ba414fa614610679578063bc197c811461068d575f80fd5b80637b3c71d3146105925780637d5e81e2146105b157806384b0196e146105d057806385226c81146105f7578063916a17c614610618575f80fd5b80633bccf4fd116101e1578063452115d6116101a6578063452115d6146104d85780634bf5d7e9146104f757806354fd4d501461050a57806356781388146105335780635f398a141461055257806366d9a9a014610571575f80fd5b80633bccf4fd146104445780633e4f49e6146104635780633e5e3c231461048f5780633f7286f4146104a357806343859632146104b7575f80fd5b8063150b7a0211610232578063150b7a02146103665780631ed7831c146103a95780632656227d146103ca5780632d63f693146103dd5780632fe3e261146104115780633932abb1146102b7575f80fd5b806301ffc9a71461028357806302a251a3146102b757806303420181146102d357806306fdde03146102f2578063143489d014610313575f80fd5b3661027f57005b60405180910390fd5b005b5f80fd5b34801561028e575f80fd5b506102a261029d36600461294a565b610827565b60405190151581526020015b60405180910390f35b3480156102c2575f80fd5b505f5b6040519081526020016102ae565b3480156102de575f80fd5b506102c56102ed366004612a74565b6108c3565b3480156102fd575f80fd5b506103066109b9565b6040516102ae9190612b60565b34801561031e575f80fd5b5061034e61032d366004612b72565b5f908152601e6020526040902054600160401b90046001600160a01b031690565b6040516001600160a01b0390911681526020016102ae565b348015610371575f80fd5b50610390610380366004612b9f565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016102ae565b3480156103b4575f80fd5b506103bd610a49565b6040516102ae9190612c44565b6102c56103d8366004612dba565b610aa8565b3480156103e8575f80fd5b506102c56103f7366004612b72565b5f908152601e60205260409020546001600160401b031690565b34801561041c575f80fd5b506102c57fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b34801561044f575f80fd5b506102c561045e366004612e43565b610bd1565b34801561046e575f80fd5b5061048261047d366004612b72565b610c45565b6040516102ae9190612ea1565b34801561049a575f80fd5b506103bd610cf3565b3480156104ae575f80fd5b506103bd610d51565b3480156104c2575f80fd5b506102a26104d1366004612ec7565b5f92915050565b3480156104e3575f80fd5b506102c56104f2366004612dba565b610daf565b348015610502575f80fd5b506060610306565b348015610515575f80fd5b506040805180820190915260018152603160f81b6020820152610306565b34801561053e575f80fd5b506102c561054d366004612ef1565b610eb3565b34801561055d575f80fd5b506102c561056c366004612f12565b610edc565b34801561057c575f80fd5b50610585610f24565b6040516102ae9190612f8f565b34801561059d575f80fd5b506102c56105ac366004613040565b61100e565b3480156105bc575f80fd5b506102c56105cb366004613095565b611054565b3480156105db575f80fd5b506105e46113fb565b6040516102ae979695949392919061315c565b348015610602575f80fd5b5061060b611482565b6040516102ae9190613210565b348015610623575f80fd5b5061058561154d565b348015610637575f80fd5b506040515f81526020016102ae565b348015610651575f80fd5b506102c5610660366004613222565b61162e565b348015610670575f80fd5b5061060b611637565b348015610684575f80fd5b506102a2611702565b348015610698575f80fd5b506103906106a7366004613274565b63bc197c8160e01b95945050505050565b3480156106c3575f80fd5b506102c56106d2366004612b72565b5f908152601e60205260409020600101546001600160401b031690565b61027d6106fd3660046132fc565b611825565b34801561070d575f80fd5b506102c561071c366004612dba565b611918565b34801561072c575f80fd5b506102c57f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b34801561075f575f80fd5b506103bd611951565b348015610773575f80fd5b5061027d610782366004613339565b6119af565b348015610792575f80fd5b5061027d6107a136600461339f565b611a5f565b3480156107b1575f80fd5b506102c56107c03660046133fc565b611aa4565b3480156107d0575f80fd5b506103906107df366004613424565b63f23a6e6160e01b95945050505050565b3480156107fb575f80fd5b506102c561080a366004612b72565b505f90565b34801561081a575f80fd5b505f546102a29060ff1681565b5f63288ace0360e11b6318df743f60e31b63bf26d89760e01b6379dd796f60e01b6001600160e01b0319861682148061086c57506001600160e01b0319868116908216145b8061088357506001600160e01b0319868116908516145b8061089e57506001600160e01b03198616630271189760e51b145b806108b957506301ffc9a760e01b6001600160e01b03198716145b9695505050505050565b5f8061096661095e7fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c6040516108fe929190613483565b60405180910390208b80519060200120604051602001610943959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120611abe565b868686611aea565b90506109ab8a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508d9250611b06915050565b9a9950505050505050505050565b6060601d80546109c890613492565b80601f01602080910402602001604051908101604052809291908181526020018280546109f490613492565b8015610a3f5780601f10610a1657610100808354040283529160200191610a3f565b820191905f5260205f20905b815481529060010190602001808311610a2257829003601f168201915b5050505050905090565b6060600d805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610a81575050505050905090565b5f80610ab686868686611918565b90505f610ac282610c45565b90506004816007811115610ad857610ad8612e8d565b1480610af557506005816007811115610af357610af3612e8d565b145b610b4b5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756044820152601b60fa1b6064820152608401610274565b5f828152601e602052604090819020600201805460ff19166001179055517f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90610b989084815260200190565b60405180910390a1610bad8288888888611c31565b610bba8288888888611cbe565b610bc78288888888611c31565b5095945050505050565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff851660608201525f908190610c1e9061095e90608001610943565b9050610c3a87828860405180602001604052805f815250611dae565b979650505050505050565b5f818152601e60205260408120600281015460ff1615610c685750600792915050565b6002810154610100900460ff1615610c835750600292915050565b5f838152601e60205260408120546001600160401b031690819003610cea5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606401610274565b5f949350505050565b6060600f805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610a81575050505050905090565b6060600e805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610a81575050505050905090565b5f80610dbd86868686611918565b90505f610dc982610c45565b6007811115610dda57610dda612e8d565b14610e275760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e6f723a20746f6f206c61746520746f2063616e63656c000000006044820152606401610274565b5f818152601e6020526040902054600160401b90046001600160a01b0316336001600160a01b031614610ea75760405162461bcd60e51b815260206004820152602260248201527f476f7665726e6f723a206f6e6c792070726f706f7365722063616e2063616e63604482015261195b60f21b6064820152608401610274565b6108b986868686611dd8565b5f80339050610ed284828560405180602001604052805f815250611dae565b9150505b92915050565b5f80339050610c3a87828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250611b06915050565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015611005575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610fed57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610faf5790505b50505050508152505081526020019060010190610f47565b50505050905090565b5f803390506108b986828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611dae92505050565b5f336110608184611ef3565b6110ac5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73657220726573747269637465640000006044820152606401610274565b5f806110bd836107c06001846134de565b10156111255760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b6064820152608401610274565b5f6111398888888880519060200120611918565b9050865188511461115c5760405162461bcd60e51b8152600401610274906134f1565b855188511461117d5760405162461bcd60e51b8152600401610274906134f1565b5f8851116111cd5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606401610274565b5f818152601e60205260409020546001600160401b03161561123b5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b6064820152608401610274565b5f6112468184613532565b90505f6112538183613532565b90506040518060e0016040528061126984611fe1565b6001600160401b031681526001600160a01b03871660208201525f604082015260600161129583611fe1565b6001600160401b0390811682525f602080840182905260408085018390526060948501839052888352601e8252918290208551815492870151878501519186166001600160e01b031990941693909317600160401b6001600160a01b039094168402176001600160e01b0316600160e01b60e09290921c91909102178155938501516080860151908416921c0217600183015560a08301516002909201805460c09094015161ffff1990941692151561ff00191692909217610100931515939093029290921790558a517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e091859188918e918e91811115611398576113986129c5565b6040519080825280602002602001820160405280156113cb57816020015b60608152602001906001900390816113b65790505b508d88888f6040516113e599989796959493929190613545565b60405180910390a1509098975050505050505050565b5f6060808280808361142e7f0000000000000000000000000000000000000000000000000000000000000000601b61204c565b6114597f0000000000000000000000000000000000000000000000000000000000000000601c61204c565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015611005578382905f5260205f200180546114c290613492565b80601f01602080910402602001604051908101604052809291908181526020018280546114ee90613492565b80156115395780601f1061151057610100808354040283529160200191611539565b820191905f5260205f20905b81548152906001019060200180831161151c57829003601f168201915b5050505050815260200190600101906114a5565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015611005575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561161657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116115d85790505b50505050508152505081526020019060010190611570565b5f5b9392505050565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015611005578382905f5260205f2001805461167790613492565b80601f01602080910402602001604051908101604052809291908181526020018280546116a390613492565b80156116ee5780601f106116c5576101008083540402835291602001916116ee565b820191905f5260205f20905b8154815290600101906020018083116116d157829003601f168201915b50505050508152602001906001019061165a565b5f8054610100900460ff161561172057505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156118205760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f9290916117ac917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016135dc565b60408051601f19818403018152908290526117c69161360c565b5f604051808303815f865af19150503d805f81146117ff576040519150601f19603f3d011682016040523d82523d5f602084013e611804565b606091505b509150508080602001905181019061181c9190613627565b9150505b919050565b3330146118745760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610274565b61188b565b80611884601f6120f5565b0361187957505b5f80856001600160a01b03168585856040516118a8929190613483565b5f6040518083038185875af1925050503d805f81146118e2576040519150601f19603f3d011682016040523d82523d5f602084013e6118e7565b606091505b509150915061190f828260405180606001604052806028815260200161379560289139612172565b50505050505050565b5f848484846040516020016119309493929190613642565b60408051601f19818403018152919052805160209091012095945050505050565b6060600c805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610a81575050505050905090565b604051632631f2b160e11b81526001600160a01b0382811690841614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611a06575f80fd5b505afa158015611a18573d5f803e3d5ffd5b5050505082611a268361218b565b604051602001611a3792919061368c565b6040516020818303038152906040529250611a5a611a558285611ef3565b6121a1565b505050565b8015611a925782611a6f8361218b565b604051602001611a8092919061368c565b60405160208183030381529060405292505b611a5a611a9f8385611ef3565b6121ae565b5f611630838361162e60408051602081019091525f815290565b5f610ed6611aca612222565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f611af987878787612350565b91509150610bc78161240d565b5f858152601e602052604081206001611b1e88610c45565b6007811115611b2f57611b2f612e8d565b14611b885760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b6064820152608401610274565b5f83515f03611bdd57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda489888489604051611bd094939291906136d0565b60405180910390a2610c3a565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128988848989604051611c1e9594939291906136f7565b60405180910390a2979650505050505050565b611cb7565b8451811015611cb557306001600160a01b0316858281518110611c5b57611c5b61373c565b60200260200101516001600160a01b031603611ca557611ca5838281518110611c8657611c8661373c565b602002602001015180519060200120601f61255690919063ffffffff16565b611cae81613750565b9050611c36565b505b5050505050565b5f6040518060600160405280602781526020016137bd6027913990505f5b855181101561190f575f80878381518110611cf957611cf961373c565b60200260200101516001600160a01b0316878481518110611d1c57611d1c61373c565b6020026020010151878581518110611d3657611d3661373c565b6020026020010151604051611d4b919061360c565b5f6040518083038185875af1925050503d805f8114611d85576040519150601f19603f3d011682016040523d82523d5f602084013e611d8a565b606091505b5091509150611d9a828286612172565b50505080611da790613750565b9050611cdc565b5f611dcf85858585611dca60408051602081019091525f815290565b611b06565b95945050505050565b5f80611de686868686611918565b90505f611df282610c45565b90506002816007811115611e0857611e08612e8d565b14158015611e2857506006816007811115611e2557611e25612e8d565b14155b8015611e4657506007816007811115611e4357611e43612e8d565b14155b611e925760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73616c206e6f74206163746976650000006044820152606401610274565b5f828152601e602052604090819020600201805461ff001916610100179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90611ee19084815260200190565b60405180910390a15095945050505050565b80515f906034811015611f0a576001915050610ed6565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b14611f3d57600192505050610ed6565b5f80611f4a6028856134de565b90505b83811015611fc0575f80611f80888481518110611f6c57611f6c61373c565b01602001516001600160f81b031916612591565b9150915081611f985760019650505050505050610ed6565b8060ff166004856001600160a01b0316901b179350505080611fb990613750565b9050611f4d565b50856001600160a01b0316816001600160a01b031614935050505092915050565b5f6001600160401b038211156120485760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610274565b5090565b606060ff83146120665761205f83612621565b9050610ed6565b81805461207290613492565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90613492565b80156120e95780601f106120c0576101008083540402835291602001916120e9565b820191905f5260205f20905b8154815290600101906020018083116120cc57829003601f168201915b50505050509050610ed6565b5f61210f8254600f81810b600160801b909204900b131590565b1561212d57604051631ed9509560e11b815260040160405180910390fd5b508054600f0b5f818152600180840160205260408220805492905583546fffffffffffffffffffffffffffffffff191692016001600160801b03169190911790915590565b60608315612181575081611630565b611630838361265e565b6060610ed66001600160a01b0383166014612688565b6121ab81156121ae565b50565b806121ab577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516122129060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16121ab61281d565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561227a57507f000000000000000000000000000000000000000000000000000000000000000046145b156122a457507f000000000000000000000000000000000000000000000000000000000000000090565b61234b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b905090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561238557505f90506003612404565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156123d6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166123fe575f60019250925050612404565b91505f90505b94509492505050565b5f81600481111561242057612420612e8d565b036124285750565b600181600481111561243c5761243c612e8d565b036124895760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610274565b600281600481111561249d5761249d612e8d565b036124ea5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610274565b60038160048111156124fe576124fe612e8d565b036121ab5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610274565b8154600160801b90819004600f0b5f818152600180860160205260409091209390935583546001600160801b03908116939091011602179055565b5f8060f883901c602f811180156125ab5750603a8160ff16105b156125c057600194602f199091019350915050565b8060ff1660401080156125d6575060478160ff16105b156125eb576001946036199091019350915050565b8060ff166060108015612601575060678160ff16105b15612616576001946056199091019350915050565b505f93849350915050565b60605f61262d83612923565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b81511561266e5781518083602001fd5b8060405162461bcd60e51b81526004016102749190612b60565b60605f612696836002613768565b6126a1906002613532565b6001600160401b038111156126b8576126b86129c5565b6040519080825280601f01601f1916602001820160405280156126e2576020820181803683370190505b509050600360fc1b815f815181106126fc576126fc61373c565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061272a5761272a61373c565b60200101906001600160f81b03191690815f1a9053505f61274c846002613768565b612757906001613532565b90505b60018111156127ce576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061278b5761278b61373c565b1a60f81b8282815181106127a1576127a161373c565b60200101906001600160f81b03191690815f1a90535060049490941c936127c78161377f565b905061275a565b5083156116305760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610274565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156129135760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526128b692916020016135dc565b60408051601f19818403018152908290526128d09161360c565b5f604051808303815f865af19150503d805f8114612909576040519150601f19603f3d011682016040523d82523d5f602084013e61290e565b606091505b505050505b5f805461ff001916610100179055565b5f60ff8216601f811115610ed657604051632cd44ac360e21b815260040160405180910390fd5b5f6020828403121561295a575f80fd5b81356001600160e01b031981168114611630575f80fd5b803560ff81168114611820575f80fd5b5f8083601f840112612991575f80fd5b5081356001600160401b038111156129a7575f80fd5b6020830191508360208285010111156129be575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715612a0157612a016129c5565b604052919050565b5f82601f830112612a18575f80fd5b81356001600160401b03811115612a3157612a316129c5565b612a44601f8201601f19166020016129d9565b818152846020838601011115612a58575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f8060e0898b031215612a8b575f80fd5b88359750612a9b60208a01612971565b965060408901356001600160401b0380821115612ab6575f80fd5b612ac28c838d01612981565b909850965060608b0135915080821115612ada575f80fd5b50612ae78b828c01612a09565b945050612af660808a01612971565b925060a0890135915060c089013590509295985092959890939650565b5f5b83811015612b2d578181015183820152602001612b15565b50505f910152565b5f8151808452612b4c816020860160208601612b13565b601f01601f19169290920160200192915050565b602081525f6116306020830184612b35565b5f60208284031215612b82575f80fd5b5035919050565b80356001600160a01b0381168114611820575f80fd5b5f805f8060808587031215612bb2575f80fd5b612bbb85612b89565b9350612bc960208601612b89565b92506040850135915060608501356001600160401b03811115612bea575f80fd5b612bf687828801612a09565b91505092959194509250565b5f8151808452602080850194508084015f5b83811015612c395781516001600160a01b031687529582019590820190600101612c14565b509495945050505050565b602081525f6116306020830184612c02565b5f6001600160401b03821115612c6e57612c6e6129c5565b5060051b60200190565b5f82601f830112612c87575f80fd5b81356020612c9c612c9783612c56565b6129d9565b82815260059290921b84018101918181019086841115612cba575f80fd5b8286015b84811015612cdc57612ccf81612b89565b8352918301918301612cbe565b509695505050505050565b5f82601f830112612cf6575f80fd5b81356020612d06612c9783612c56565b82815260059290921b84018101918181019086841115612d24575f80fd5b8286015b84811015612cdc5780358352918301918301612d28565b5f82601f830112612d4e575f80fd5b81356020612d5e612c9783612c56565b82815260059290921b84018101918181019086841115612d7c575f80fd5b8286015b84811015612cdc5780356001600160401b03811115612d9e575f8081fd5b612dac8986838b0101612a09565b845250918301918301612d80565b5f805f8060808587031215612dcd575f80fd5b84356001600160401b0380821115612de3575f80fd5b612def88838901612c78565b95506020870135915080821115612e04575f80fd5b612e1088838901612ce7565b94506040870135915080821115612e25575f80fd5b50612e3287828801612d3f565b949793965093946060013593505050565b5f805f805f60a08688031215612e57575f80fd5b85359450612e6760208701612971565b9350612e7560408701612971565b94979396509394606081013594506080013592915050565b634e487b7160e01b5f52602160045260245ffd5b6020810160088310612ec157634e487b7160e01b5f52602160045260245ffd5b91905290565b5f8060408385031215612ed8575f80fd5b82359150612ee860208401612b89565b90509250929050565b5f8060408385031215612f02575f80fd5b82359150612ee860208401612971565b5f805f805f60808688031215612f26575f80fd5b85359450612f3660208701612971565b935060408601356001600160401b0380821115612f51575f80fd5b612f5d89838a01612981565b90955093506060880135915080821115612f75575f80fd5b50612f8288828901612a09565b9150509295509295909350565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b8481101561303157898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561301c5783516001600160e01b0319168252928b019260019290920191908b0190612ff2565b50978a01979550505091870191600101612fb5565b50919998505050505050505050565b5f805f8060608587031215613053575f80fd5b8435935061306360208601612971565b925060408501356001600160401b0381111561307d575f80fd5b61308987828801612981565b95989497509550505050565b5f805f80608085870312156130a8575f80fd5b84356001600160401b03808211156130be575f80fd5b6130ca88838901612c78565b955060208701359150808211156130df575f80fd5b6130eb88838901612ce7565b94506040870135915080821115613100575f80fd5b61310c88838901612d3f565b93506060870135915080821115613121575f80fd5b50612bf687828801612a09565b5f8151808452602080850194508084015f5b83811015612c3957815187529582019590820190600101613140565b60ff60f81b8816815260e060208201525f61317a60e0830189612b35565b828103604084015261318c8189612b35565b606084018890526001600160a01b038716608085015260a0840186905283810360c085015290506109ab818561312e565b5f81518084526020808501808196508360051b810191508286015f5b858110156132035782840389526131f1848351612b35565b988501989350908401906001016131d9565b5091979650505050505050565b602081525f61163060208301846131bd565b5f805f60608486031215613234575f80fd5b61323d84612b89565b92506020840135915060408401356001600160401b0381111561325e575f80fd5b61326a86828701612a09565b9150509250925092565b5f805f805f60a08688031215613288575f80fd5b61329186612b89565b945061329f60208701612b89565b935060408601356001600160401b03808211156132ba575f80fd5b6132c689838a01612ce7565b945060608801359150808211156132db575f80fd5b6132e789838a01612ce7565b93506080880135915080821115612f75575f80fd5b5f805f806060858703121561330f575f80fd5b61331885612b89565b93506020850135925060408501356001600160401b0381111561307d575f80fd5b5f805f6060848603121561334b575f80fd5b83356001600160401b03811115613360575f80fd5b61336c86828701612a09565b93505061337b60208501612b89565b915061338960408501612b89565b90509250925092565b80151581146121ab575f80fd5b5f805f606084860312156133b1575f80fd5b83356001600160401b038111156133c6575f80fd5b6133d286828701612a09565b9350506133e160208501612b89565b915060408401356133f181613392565b809150509250925092565b5f806040838503121561340d575f80fd5b61341683612b89565b946020939093013593505050565b5f805f805f60a08688031215613438575f80fd5b61344186612b89565b945061344f60208701612b89565b9350604086013592506060860135915060808601356001600160401b03811115613477575f80fd5b612f8288828901612a09565b818382375f9101908152919050565b600181811c908216806134a657607f821691505b6020821081036134c457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ed657610ed66134ca565b60208082526021908201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746040820152600d60fb1b606082015260800190565b80820180821115610ed657610ed66134ca565b8981526001600160a01b0389166020820152610120604082018190525f9061356f8382018b612c02565b90508281036060840152613583818a61312e565b9050828103608084015261359781896131bd565b905082810360a08401526135ab81886131bd565b90508560c08401528460e08401528281036101008401526135cc8185612b35565b9c9b505050505050505050505050565b6001600160e01b03198316815281515f906135fe816004850160208701612b13565b919091016004019392505050565b5f825161361d818460208701612b13565b9190910192915050565b5f60208284031215613637575f80fd5b815161163081613392565b608081525f6136546080830187612c02565b8281036020840152613666818761312e565b9050828103604084015261367a81866131bd565b91505082606083015295945050505050565b5f835161369d818460208801612b13565b692370726f706f7365723d60b01b90830190815283516136c481600a840160208801612b13565b01600a01949350505050565b84815260ff84166020820152826040820152608060608201525f6108b96080830184612b35565b85815260ff8516602082015283604082015260a060608201525f61371e60a0830185612b35565b82810360808401526137308185612b35565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201613761576137616134ca565b5060010190565b8082028115828204841417610ed657610ed66134ca565b5f8161378d5761378d6134ca565b505f19019056fe476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765476f7665726e6f723a2063616c6c20726576657274656420776974686f7574206d657373616765a264697066735822122004b326a7baa0fbb99752e1f0a63e94945f97b92d9db9e6bdd291f281b2345fb164736f6c63430008140033","sourceMap":"183:1997:304:-:0;;;1572:26:268;;;1594:4;-1:-1:-1;;1572:26:268;;;;;;;;3288:44:273;;;;;;;;;;;237:29:304;;;;;;;;;-1:-1:-1;3771:88:24;;;;;;;;;-1:-1:-1;3771:88:24;;;3818:9;5607:10;;;;;;;;;;;;-1:-1:-1;;;5607:10:24;;;;;5525:99;3818:9;3251:45:233;:4;3282:13;3251:30;:45::i;:::-;3243:53;;3317:51;:7;3351:16;3317:33;:51::i;:::-;3306:62;;3392:22;;;;;;;;;;3378:36;;3441:25;;;;;;3424:42;;3494:13;3477:30;;3542:23;4077:11;;4090:14;;4054:81;;;1929:95;4054:81;;;2994:25:310;3035:18;;;3028:34;;;;3078:18;;;3071:34;4106:13:233;3121:18:310;;;3114:34;4129:4:233;3164:19:310;;;3157:61;4018:7:233;;2966:19:310;;4054:81:233;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3542:23;3517:48;;-1:-1:-1;;3597:4:233;3575:27;;3839:5:24::1;:13;3847:5:::0;3839;:13:::1;:::i;:::-;;3771:88:::0;183:1997:304;;2895:341:228;2991:11;3040:2;3024:5;3018:19;:24;3014:216;;;3065:20;3079:5;3065:13;:20::i;:::-;3058:27;;;;3014:216;3142:5;3116:46;3157:5;3142;3116:46;:::i;:::-;-1:-1:-1;1371:66:228;;-1:-1:-1;3014:216:228;2895:341;;;;:::o;1689:286::-;1754:11;1777:17;1803:3;1777:30;;1835:2;1821:4;:11;:16;1817:72;;;1874:3;1860:18;;-1:-1:-1;;;1860:18:228;;;;;;;;:::i;:::-;;;;;;;;1817:72;1955:11;;1938:13;1955:4;1938:13;:::i;:::-;1930:36;;1689:286;-1:-1:-1;;;1689:286:228:o;14:127:310:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:380;225:1;221:12;;;;268;;;289:61;;343:4;335:6;331:17;321:27;;289:61;396:2;388:6;385:14;365:18;362:38;359:161;;442:10;437:3;433:20;430:1;423:31;477:4;474:1;467:15;505:4;502:1;495:15;359:161;;146:380;;;:::o;657:545::-;759:2;754:3;751:11;748:448;;;795:1;820:5;816:2;809:17;865:4;861:2;851:19;935:2;923:10;919:19;916:1;912:27;906:4;902:38;971:4;959:10;956:20;953:47;;;-1:-1:-1;994:4:310;953:47;1049:2;1044:3;1040:12;1037:1;1033:20;1027:4;1023:31;1013:41;;1104:82;1122:2;1115:5;1112:13;1104:82;;;1167:17;;;1148:1;1137:13;1104:82;;;1108:3;;;748:448;657:545;;;:::o;1378:1352::-;1498:10;;-1:-1:-1;;;;;1520:30:310;;1517:56;;;1553:18;;:::i;:::-;1582:97;1672:6;1632:38;1664:4;1658:11;1632:38;:::i;:::-;1626:4;1582:97;:::i;:::-;1734:4;;1798:2;1787:14;;1815:1;1810:663;;;;2517:1;2534:6;2531:89;;;-1:-1:-1;2586:19:310;;;2580:26;2531:89;-1:-1:-1;;1335:1:310;1331:11;;;1327:24;1323:29;1313:40;1359:1;1355:11;;;1310:57;2633:81;;1780:944;;1810:663;604:1;597:14;;;641:4;628:18;;-1:-1:-1;;1846:20:310;;;1964:236;1978:7;1975:1;1972:14;1964:236;;;2067:19;;;2061:26;2046:42;;2159:27;;;;2127:1;2115:14;;;;1994:19;;1964:236;;;1968:3;2228:6;2219:7;2216:19;2213:201;;;2289:19;;;2283:26;-1:-1:-1;;2372:1:310;2368:14;;;2384:3;2364:24;2360:37;2356:42;2341:58;2326:74;;2213:201;-1:-1:-1;;;;;2460:1:310;2444:14;;;2440:22;2427:36;;-1:-1:-1;1378:1352:310:o;3229:548::-;3341:4;3370:2;3399;3388:9;3381:21;3431:6;3425:13;3474:6;3469:2;3458:9;3454:18;3447:34;3499:1;3509:140;3523:6;3520:1;3517:13;3509:140;;;3618:14;;;3614:23;;3608:30;3584:17;;;3603:2;3580:26;3573:66;3538:10;;3509:140;;;3513:3;3698:1;3693:2;3684:6;3673:9;3669:22;3665:31;3658:42;3768:2;3761;3757:7;3752:2;3744:6;3740:15;3736:29;3725:9;3721:45;3717:54;3709:62;;;;3229:548;;;;:::o;3782:297::-;3900:12;;3947:4;3936:16;;;3930:23;;3900:12;3965:16;;3962:111;;;-1:-1:-1;;4039:4:310;4035:17;;;;4032:1;4028:25;4024:38;4013:50;;3782:297;-1:-1:-1;3782:297:310:o;:::-;183:1997:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061026d575f3560e01c80637b3c71d31161014a578063c01f9e37116100be578063e63c8f4111610078578063e63c8f4114610768578063e825381c14610787578063eb9019d4146107a6578063f23a6e61146107c5578063f8ce560a146107f0578063fa7626d41461080f575f80fd5b8063c01f9e37146106b8578063c28bc2fa146106ef578063c59057e414610702578063dd4e2ba5146104f7578063deaaa7cc14610721578063e20c9f7114610754575f80fd5b806391ddadf41161010f57806391ddadf41461062c5780639a802a6d14610646578063b5508aa914610665578063b58131b0146102b7578063ba414fa614610679578063bc197c811461068d575f80fd5b80637b3c71d3146105925780637d5e81e2146105b157806384b0196e146105d057806385226c81146105f7578063916a17c614610618575f80fd5b80633bccf4fd116101e1578063452115d6116101a6578063452115d6146104d85780634bf5d7e9146104f757806354fd4d501461050a57806356781388146105335780635f398a141461055257806366d9a9a014610571575f80fd5b80633bccf4fd146104445780633e4f49e6146104635780633e5e3c231461048f5780633f7286f4146104a357806343859632146104b7575f80fd5b8063150b7a0211610232578063150b7a02146103665780631ed7831c146103a95780632656227d146103ca5780632d63f693146103dd5780632fe3e261146104115780633932abb1146102b7575f80fd5b806301ffc9a71461028357806302a251a3146102b757806303420181146102d357806306fdde03146102f2578063143489d014610313575f80fd5b3661027f57005b60405180910390fd5b005b5f80fd5b34801561028e575f80fd5b506102a261029d36600461294a565b610827565b60405190151581526020015b60405180910390f35b3480156102c2575f80fd5b505f5b6040519081526020016102ae565b3480156102de575f80fd5b506102c56102ed366004612a74565b6108c3565b3480156102fd575f80fd5b506103066109b9565b6040516102ae9190612b60565b34801561031e575f80fd5b5061034e61032d366004612b72565b5f908152601e6020526040902054600160401b90046001600160a01b031690565b6040516001600160a01b0390911681526020016102ae565b348015610371575f80fd5b50610390610380366004612b9f565b630a85bd0160e11b949350505050565b6040516001600160e01b031990911681526020016102ae565b3480156103b4575f80fd5b506103bd610a49565b6040516102ae9190612c44565b6102c56103d8366004612dba565b610aa8565b3480156103e8575f80fd5b506102c56103f7366004612b72565b5f908152601e60205260409020546001600160401b031690565b34801561041c575f80fd5b506102c57fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8881565b34801561044f575f80fd5b506102c561045e366004612e43565b610bd1565b34801561046e575f80fd5b5061048261047d366004612b72565b610c45565b6040516102ae9190612ea1565b34801561049a575f80fd5b506103bd610cf3565b3480156104ae575f80fd5b506103bd610d51565b3480156104c2575f80fd5b506102a26104d1366004612ec7565b5f92915050565b3480156104e3575f80fd5b506102c56104f2366004612dba565b610daf565b348015610502575f80fd5b506060610306565b348015610515575f80fd5b506040805180820190915260018152603160f81b6020820152610306565b34801561053e575f80fd5b506102c561054d366004612ef1565b610eb3565b34801561055d575f80fd5b506102c561056c366004612f12565b610edc565b34801561057c575f80fd5b50610585610f24565b6040516102ae9190612f8f565b34801561059d575f80fd5b506102c56105ac366004613040565b61100e565b3480156105bc575f80fd5b506102c56105cb366004613095565b611054565b3480156105db575f80fd5b506105e46113fb565b6040516102ae979695949392919061315c565b348015610602575f80fd5b5061060b611482565b6040516102ae9190613210565b348015610623575f80fd5b5061058561154d565b348015610637575f80fd5b506040515f81526020016102ae565b348015610651575f80fd5b506102c5610660366004613222565b61162e565b348015610670575f80fd5b5061060b611637565b348015610684575f80fd5b506102a2611702565b348015610698575f80fd5b506103906106a7366004613274565b63bc197c8160e01b95945050505050565b3480156106c3575f80fd5b506102c56106d2366004612b72565b5f908152601e60205260409020600101546001600160401b031690565b61027d6106fd3660046132fc565b611825565b34801561070d575f80fd5b506102c561071c366004612dba565b611918565b34801561072c575f80fd5b506102c57f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f81565b34801561075f575f80fd5b506103bd611951565b348015610773575f80fd5b5061027d610782366004613339565b6119af565b348015610792575f80fd5b5061027d6107a136600461339f565b611a5f565b3480156107b1575f80fd5b506102c56107c03660046133fc565b611aa4565b3480156107d0575f80fd5b506103906107df366004613424565b63f23a6e6160e01b95945050505050565b3480156107fb575f80fd5b506102c561080a366004612b72565b505f90565b34801561081a575f80fd5b505f546102a29060ff1681565b5f63288ace0360e11b6318df743f60e31b63bf26d89760e01b6379dd796f60e01b6001600160e01b0319861682148061086c57506001600160e01b0319868116908216145b8061088357506001600160e01b0319868116908516145b8061089e57506001600160e01b03198616630271189760e51b145b806108b957506301ffc9a760e01b6001600160e01b03198716145b9695505050505050565b5f8061096661095e7fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888c8c8c8c6040516108fe929190613483565b60405180910390208b80519060200120604051602001610943959493929190948552602085019390935260ff9190911660408401526060830152608082015260a00190565b60405160208183030381529060405280519060200120611abe565b868686611aea565b90506109ab8a828b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508d9250611b06915050565b9a9950505050505050505050565b6060601d80546109c890613492565b80601f01602080910402602001604051908101604052809291908181526020018280546109f490613492565b8015610a3f5780601f10610a1657610100808354040283529160200191610a3f565b820191905f5260205f20905b815481529060010190602001808311610a2257829003601f168201915b5050505050905090565b6060600d805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311610a81575050505050905090565b5f80610ab686868686611918565b90505f610ac282610c45565b90506004816007811115610ad857610ad8612e8d565b1480610af557506005816007811115610af357610af3612e8d565b145b610b4b5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756044820152601b60fa1b6064820152608401610274565b5f828152601e602052604090819020600201805460ff19166001179055517f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90610b989084815260200190565b60405180910390a1610bad8288888888611c31565b610bba8288888888611cbe565b610bc78288888888611c31565b5095945050505050565b604080517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f602082015290810186905260ff851660608201525f908190610c1e9061095e90608001610943565b9050610c3a87828860405180602001604052805f815250611dae565b979650505050505050565b5f818152601e60205260408120600281015460ff1615610c685750600792915050565b6002810154610100900460ff1615610c835750600292915050565b5f838152601e60205260408120546001600160401b031690819003610cea5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606401610274565b5f949350505050565b6060600f805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610a81575050505050905090565b6060600e805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610a81575050505050905090565b5f80610dbd86868686611918565b90505f610dc982610c45565b6007811115610dda57610dda612e8d565b14610e275760405162461bcd60e51b815260206004820152601c60248201527f476f7665726e6f723a20746f6f206c61746520746f2063616e63656c000000006044820152606401610274565b5f818152601e6020526040902054600160401b90046001600160a01b0316336001600160a01b031614610ea75760405162461bcd60e51b815260206004820152602260248201527f476f7665726e6f723a206f6e6c792070726f706f7365722063616e2063616e63604482015261195b60f21b6064820152608401610274565b6108b986868686611dd8565b5f80339050610ed284828560405180602001604052805f815250611dae565b9150505b92915050565b5f80339050610c3a87828888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250611b06915050565b60606012805480602002602001604051908101604052809291908181526020015f905b82821015611005575f8481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015610fed57602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610faf5790505b50505050508152505081526020019060010190610f47565b50505050905090565b5f803390506108b986828787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250611dae92505050565b5f336110608184611ef3565b6110ac5760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73657220726573747269637465640000006044820152606401610274565b5f806110bd836107c06001846134de565b10156111255760405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b6064820152608401610274565b5f6111398888888880519060200120611918565b9050865188511461115c5760405162461bcd60e51b8152600401610274906134f1565b855188511461117d5760405162461bcd60e51b8152600401610274906134f1565b5f8851116111cd5760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606401610274565b5f818152601e60205260409020546001600160401b03161561123b5760405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b6064820152608401610274565b5f6112468184613532565b90505f6112538183613532565b90506040518060e0016040528061126984611fe1565b6001600160401b031681526001600160a01b03871660208201525f604082015260600161129583611fe1565b6001600160401b0390811682525f602080840182905260408085018390526060948501839052888352601e8252918290208551815492870151878501519186166001600160e01b031990941693909317600160401b6001600160a01b039094168402176001600160e01b0316600160e01b60e09290921c91909102178155938501516080860151908416921c0217600183015560a08301516002909201805460c09094015161ffff1990941692151561ff00191692909217610100931515939093029290921790558a517f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e091859188918e918e91811115611398576113986129c5565b6040519080825280602002602001820160405280156113cb57816020015b60608152602001906001900390816113b65790505b508d88888f6040516113e599989796959493929190613545565b60405180910390a1509098975050505050505050565b5f6060808280808361142e7f0000000000000000000000000000000000000000000000000000000000000000601b61204c565b6114597f0000000000000000000000000000000000000000000000000000000000000000601c61204c565b604080515f80825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60606011805480602002602001604051908101604052809291908181526020015f905b82821015611005578382905f5260205f200180546114c290613492565b80601f01602080910402602001604051908101604052809291908181526020018280546114ee90613492565b80156115395780601f1061151057610100808354040283529160200191611539565b820191905f5260205f20905b81548152906001019060200180831161151c57829003601f168201915b5050505050815260200190600101906114a5565b60606013805480602002602001604051908101604052809291908181526020015f905b82821015611005575f8481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561161657602002820191905f5260205f20905f905b82829054906101000a900460e01b6001600160e01b031916815260200190600401906020826003010492830192600103820291508084116115d85790505b50505050508152505081526020019060010190611570565b5f5b9392505050565b60606010805480602002602001604051908101604052809291908181526020015f905b82821015611005578382905f5260205f2001805461167790613492565b80601f01602080910402602001604051908101604052809291908181526020018280546116a390613492565b80156116ee5780601f106116c5576101008083540402835291602001916116ee565b820191905f5260205f20905b8154815290600101906020018083116116d157829003601f168201915b50505050508152602001906001019061165a565b5f8054610100900460ff161561172057505f54610100900460ff1690565b5f737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156118205760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b82840152825180830384018152606083019093525f9290916117ac917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc4916080016135dc565b60408051601f19818403018152908290526117c69161360c565b5f604051808303815f865af19150503d805f81146117ff576040519150601f19603f3d011682016040523d82523d5f602084013e611804565b606091505b509150508080602001905181019061181c9190613627565b9150505b919050565b3330146118745760405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606401610274565b61188b565b80611884601f6120f5565b0361187957505b5f80856001600160a01b03168585856040516118a8929190613483565b5f6040518083038185875af1925050503d805f81146118e2576040519150601f19603f3d011682016040523d82523d5f602084013e6118e7565b606091505b509150915061190f828260405180606001604052806028815260200161379560289139612172565b50505050505050565b5f848484846040516020016119309493929190613642565b60408051601f19818403018152919052805160209091012095945050505050565b6060600c805480602002602001604051908101604052809291908181526020018280548015610a3f57602002820191905f5260205f209081546001600160a01b03168152600190910190602001808311610a81575050505050905090565b604051632631f2b160e11b81526001600160a01b0382811690841614156004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e562906024015f6040518083038186803b158015611a06575f80fd5b505afa158015611a18573d5f803e3d5ffd5b5050505082611a268361218b565b604051602001611a3792919061368c565b6040516020818303038152906040529250611a5a611a558285611ef3565b6121a1565b505050565b8015611a925782611a6f8361218b565b604051602001611a8092919061368c565b60405160208183030381529060405292505b611a5a611a9f8385611ef3565b6121ae565b5f611630838361162e60408051602081019091525f815290565b5f610ed6611aca612222565b8360405161190160f01b8152600281019290925260228201526042902090565b5f805f611af987878787612350565b91509150610bc78161240d565b5f858152601e602052604081206001611b1e88610c45565b6007811115611b2f57611b2f612e8d565b14611b885760405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b6064820152608401610274565b5f83515f03611bdd57866001600160a01b03167fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda489888489604051611bd094939291906136d0565b60405180910390a2610c3a565b866001600160a01b03167fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb87128988848989604051611c1e9594939291906136f7565b60405180910390a2979650505050505050565b611cb7565b8451811015611cb557306001600160a01b0316858281518110611c5b57611c5b61373c565b60200260200101516001600160a01b031603611ca557611ca5838281518110611c8657611c8661373c565b602002602001015180519060200120601f61255690919063ffffffff16565b611cae81613750565b9050611c36565b505b5050505050565b5f6040518060600160405280602781526020016137bd6027913990505f5b855181101561190f575f80878381518110611cf957611cf961373c565b60200260200101516001600160a01b0316878481518110611d1c57611d1c61373c565b6020026020010151878581518110611d3657611d3661373c565b6020026020010151604051611d4b919061360c565b5f6040518083038185875af1925050503d805f8114611d85576040519150601f19603f3d011682016040523d82523d5f602084013e611d8a565b606091505b5091509150611d9a828286612172565b50505080611da790613750565b9050611cdc565b5f611dcf85858585611dca60408051602081019091525f815290565b611b06565b95945050505050565b5f80611de686868686611918565b90505f611df282610c45565b90506002816007811115611e0857611e08612e8d565b14158015611e2857506006816007811115611e2557611e25612e8d565b14155b8015611e4657506007816007811115611e4357611e43612e8d565b14155b611e925760405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a2070726f706f73616c206e6f74206163746976650000006044820152606401610274565b5f828152601e602052604090819020600201805461ff001916610100179055517f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c90611ee19084815260200190565b60405180910390a15095945050505050565b80515f906034811015611f0a576001915050610ed6565b82810160131901516001600160a01b031981166b046e0e4dee0dee6cae47a60f60a31b14611f3d57600192505050610ed6565b5f80611f4a6028856134de565b90505b83811015611fc0575f80611f80888481518110611f6c57611f6c61373c565b01602001516001600160f81b031916612591565b9150915081611f985760019650505050505050610ed6565b8060ff166004856001600160a01b0316901b179350505080611fb990613750565b9050611f4d565b50856001600160a01b0316816001600160a01b031614935050505092915050565b5f6001600160401b038211156120485760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610274565b5090565b606060ff83146120665761205f83612621565b9050610ed6565b81805461207290613492565b80601f016020809104026020016040519081016040528092919081815260200182805461209e90613492565b80156120e95780601f106120c0576101008083540402835291602001916120e9565b820191905f5260205f20905b8154815290600101906020018083116120cc57829003601f168201915b50505050509050610ed6565b5f61210f8254600f81810b600160801b909204900b131590565b1561212d57604051631ed9509560e11b815260040160405180910390fd5b508054600f0b5f818152600180840160205260408220805492905583546fffffffffffffffffffffffffffffffff191692016001600160801b03169190911790915590565b60608315612181575081611630565b611630838361265e565b6060610ed66001600160a01b0383166014612688565b6121ab81156121ae565b50565b806121ab577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516122129060208082526017908201527f4572726f723a20417373657274696f6e204661696c6564000000000000000000604082015260600190565b60405180910390a16121ab61281d565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561227a57507f000000000000000000000000000000000000000000000000000000000000000046145b156122a457507f000000000000000000000000000000000000000000000000000000000000000090565b61234b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b905090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561238557505f90506003612404565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156123d6573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b0381166123fe575f60019250925050612404565b91505f90505b94509492505050565b5f81600481111561242057612420612e8d565b036124285750565b600181600481111561243c5761243c612e8d565b036124895760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610274565b600281600481111561249d5761249d612e8d565b036124ea5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610274565b60038160048111156124fe576124fe612e8d565b036121ab5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610274565b8154600160801b90819004600f0b5f818152600180860160205260409091209390935583546001600160801b03908116939091011602179055565b5f8060f883901c602f811180156125ab5750603a8160ff16105b156125c057600194602f199091019350915050565b8060ff1660401080156125d6575060478160ff16105b156125eb576001946036199091019350915050565b8060ff166060108015612601575060678160ff16105b15612616576001946056199091019350915050565b505f93849350915050565b60605f61262d83612923565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b81511561266e5781518083602001fd5b8060405162461bcd60e51b81526004016102749190612b60565b60605f612696836002613768565b6126a1906002613532565b6001600160401b038111156126b8576126b86129c5565b6040519080825280601f01601f1916602001820160405280156126e2576020820181803683370190505b509050600360fc1b815f815181106126fc576126fc61373c565b60200101906001600160f81b03191690815f1a905350600f60fb1b8160018151811061272a5761272a61373c565b60200101906001600160f81b03191690815f1a9053505f61274c846002613768565b612757906001613532565b90505b60018111156127ce576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061278b5761278b61373c565b1a60f81b8282815181106127a1576127a161373c565b60200101906001600160f81b03191690815f1a90535060049490941c936127c78161377f565b905061275a565b5083156116305760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610274565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156129135760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190526519985a5b195960d21b92820192909252600160608201525f91907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f19818403018152908290526128b692916020016135dc565b60408051601f19818403018152908290526128d09161360c565b5f604051808303815f865af19150503d805f8114612909576040519150601f19603f3d011682016040523d82523d5f602084013e61290e565b606091505b505050505b5f805461ff001916610100179055565b5f60ff8216601f811115610ed657604051632cd44ac360e21b815260040160405180910390fd5b5f6020828403121561295a575f80fd5b81356001600160e01b031981168114611630575f80fd5b803560ff81168114611820575f80fd5b5f8083601f840112612991575f80fd5b5081356001600160401b038111156129a7575f80fd5b6020830191508360208285010111156129be575f80fd5b9250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715612a0157612a016129c5565b604052919050565b5f82601f830112612a18575f80fd5b81356001600160401b03811115612a3157612a316129c5565b612a44601f8201601f19166020016129d9565b818152846020838601011115612a58575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f805f805f8060e0898b031215612a8b575f80fd5b88359750612a9b60208a01612971565b965060408901356001600160401b0380821115612ab6575f80fd5b612ac28c838d01612981565b909850965060608b0135915080821115612ada575f80fd5b50612ae78b828c01612a09565b945050612af660808a01612971565b925060a0890135915060c089013590509295985092959890939650565b5f5b83811015612b2d578181015183820152602001612b15565b50505f910152565b5f8151808452612b4c816020860160208601612b13565b601f01601f19169290920160200192915050565b602081525f6116306020830184612b35565b5f60208284031215612b82575f80fd5b5035919050565b80356001600160a01b0381168114611820575f80fd5b5f805f8060808587031215612bb2575f80fd5b612bbb85612b89565b9350612bc960208601612b89565b92506040850135915060608501356001600160401b03811115612bea575f80fd5b612bf687828801612a09565b91505092959194509250565b5f8151808452602080850194508084015f5b83811015612c395781516001600160a01b031687529582019590820190600101612c14565b509495945050505050565b602081525f6116306020830184612c02565b5f6001600160401b03821115612c6e57612c6e6129c5565b5060051b60200190565b5f82601f830112612c87575f80fd5b81356020612c9c612c9783612c56565b6129d9565b82815260059290921b84018101918181019086841115612cba575f80fd5b8286015b84811015612cdc57612ccf81612b89565b8352918301918301612cbe565b509695505050505050565b5f82601f830112612cf6575f80fd5b81356020612d06612c9783612c56565b82815260059290921b84018101918181019086841115612d24575f80fd5b8286015b84811015612cdc5780358352918301918301612d28565b5f82601f830112612d4e575f80fd5b81356020612d5e612c9783612c56565b82815260059290921b84018101918181019086841115612d7c575f80fd5b8286015b84811015612cdc5780356001600160401b03811115612d9e575f8081fd5b612dac8986838b0101612a09565b845250918301918301612d80565b5f805f8060808587031215612dcd575f80fd5b84356001600160401b0380821115612de3575f80fd5b612def88838901612c78565b95506020870135915080821115612e04575f80fd5b612e1088838901612ce7565b94506040870135915080821115612e25575f80fd5b50612e3287828801612d3f565b949793965093946060013593505050565b5f805f805f60a08688031215612e57575f80fd5b85359450612e6760208701612971565b9350612e7560408701612971565b94979396509394606081013594506080013592915050565b634e487b7160e01b5f52602160045260245ffd5b6020810160088310612ec157634e487b7160e01b5f52602160045260245ffd5b91905290565b5f8060408385031215612ed8575f80fd5b82359150612ee860208401612b89565b90509250929050565b5f8060408385031215612f02575f80fd5b82359150612ee860208401612971565b5f805f805f60808688031215612f26575f80fd5b85359450612f3660208701612971565b935060408601356001600160401b0380821115612f51575f80fd5b612f5d89838a01612981565b90955093506060880135915080821115612f75575f80fd5b50612f8288828901612a09565b9150509295509295909350565b5f6020808301818452808551808352604092508286019150828160051b8701018488015f805b8481101561303157898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b8083101561301c5783516001600160e01b0319168252928b019260019290920191908b0190612ff2565b50978a01979550505091870191600101612fb5565b50919998505050505050505050565b5f805f8060608587031215613053575f80fd5b8435935061306360208601612971565b925060408501356001600160401b0381111561307d575f80fd5b61308987828801612981565b95989497509550505050565b5f805f80608085870312156130a8575f80fd5b84356001600160401b03808211156130be575f80fd5b6130ca88838901612c78565b955060208701359150808211156130df575f80fd5b6130eb88838901612ce7565b94506040870135915080821115613100575f80fd5b61310c88838901612d3f565b93506060870135915080821115613121575f80fd5b50612bf687828801612a09565b5f8151808452602080850194508084015f5b83811015612c3957815187529582019590820190600101613140565b60ff60f81b8816815260e060208201525f61317a60e0830189612b35565b828103604084015261318c8189612b35565b606084018890526001600160a01b038716608085015260a0840186905283810360c085015290506109ab818561312e565b5f81518084526020808501808196508360051b810191508286015f5b858110156132035782840389526131f1848351612b35565b988501989350908401906001016131d9565b5091979650505050505050565b602081525f61163060208301846131bd565b5f805f60608486031215613234575f80fd5b61323d84612b89565b92506020840135915060408401356001600160401b0381111561325e575f80fd5b61326a86828701612a09565b9150509250925092565b5f805f805f60a08688031215613288575f80fd5b61329186612b89565b945061329f60208701612b89565b935060408601356001600160401b03808211156132ba575f80fd5b6132c689838a01612ce7565b945060608801359150808211156132db575f80fd5b6132e789838a01612ce7565b93506080880135915080821115612f75575f80fd5b5f805f806060858703121561330f575f80fd5b61331885612b89565b93506020850135925060408501356001600160401b0381111561307d575f80fd5b5f805f6060848603121561334b575f80fd5b83356001600160401b03811115613360575f80fd5b61336c86828701612a09565b93505061337b60208501612b89565b915061338960408501612b89565b90509250925092565b80151581146121ab575f80fd5b5f805f606084860312156133b1575f80fd5b83356001600160401b038111156133c6575f80fd5b6133d286828701612a09565b9350506133e160208501612b89565b915060408401356133f181613392565b809150509250925092565b5f806040838503121561340d575f80fd5b61341683612b89565b946020939093013593505050565b5f805f805f60a08688031215613438575f80fd5b61344186612b89565b945061344f60208701612b89565b9350604086013592506060860135915060808601356001600160401b03811115613477575f80fd5b612f8288828901612a09565b818382375f9101908152919050565b600181811c908216806134a657607f821691505b6020821081036134c457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610ed657610ed66134ca565b60208082526021908201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746040820152600d60fb1b606082015260800190565b80820180821115610ed657610ed66134ca565b8981526001600160a01b0389166020820152610120604082018190525f9061356f8382018b612c02565b90508281036060840152613583818a61312e565b9050828103608084015261359781896131bd565b905082810360a08401526135ab81886131bd565b90508560c08401528460e08401528281036101008401526135cc8185612b35565b9c9b505050505050505050505050565b6001600160e01b03198316815281515f906135fe816004850160208701612b13565b919091016004019392505050565b5f825161361d818460208701612b13565b9190910192915050565b5f60208284031215613637575f80fd5b815161163081613392565b608081525f6136546080830187612c02565b8281036020840152613666818761312e565b9050828103604084015261367a81866131bd565b91505082606083015295945050505050565b5f835161369d818460208801612b13565b692370726f706f7365723d60b01b90830190815283516136c481600a840160208801612b13565b01600a01949350505050565b84815260ff84166020820152826040820152608060608201525f6108b96080830184612b35565b85815260ff8516602082015283604082015260a060608201525f61371e60a0830185612b35565b82810360808401526137308185612b35565b98975050505050505050565b634e487b7160e01b5f52603260045260245ffd5b5f60018201613761576137616134ca565b5060010190565b8082028115828204841417610ed657610ed66134ca565b5f8161378d5761378d6134ca565b505f19019056fe476f7665726e6f723a2072656c617920726576657274656420776974686f7574206d657373616765476f7665726e6f723a2063616c6c20726576657274656420776974686f7574206d657373616765a264697066735822122004b326a7baa0fbb99752e1f0a63e94945f97b92d9db9e6bdd291f281b2345fb164736f6c63430008140033","sourceMap":"183:1997:304:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4048:72:24;;;;;;;;;183:1997:304;;;;;4194:1118:24;;;;;;;;;;-1:-1:-1;4194:1118:24;;;;;:::i;:::-;;:::i;:::-;;;830:14:310;;823:22;805:41;;793:2;778:18;4194:1118:24;;;;;;;;1553:73:304;;;;;;;;;;-1:-1:-1;1615:7:304;1553:73;;;1003:25:310;;;991:2;976:18;1553:73:304;857:177:310;18399:784:24;;;;;;;;;;-1:-1:-1;18399:784:24;;;;;:::i;:::-;;:::i;5368:98::-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;8660:148::-;;;;;;;;;;-1:-1:-1;8660:148:24;;;;;:::i;:::-;8744:7;8770:22;;;:10;:22;;;;;:31;-1:-1:-1;;;8770:31:24;;-1:-1:-1;;;;;8770:31:24;;8660:148;;;;-1:-1:-1;;;;;4588:32:310;;;4570:51;;4558:2;4543:18;8660:148:24;4424:203:310;21891:162:24;;;;;;;;;;-1:-1:-1;21891:162:24;;;;;:::i;:::-;-1:-1:-1;;;21891:162:24;;;;;;;;;;-1:-1:-1;;;;;;5514:33:310;;;5496:52;;5484:2;5469:18;21891:162:24;5352:202:310;2161:134:276;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;12140:885:24:-;;;;;;:::i;:::-;;:::i;8211:149::-;;;;;;;;;;-1:-1:-1;8211:149:24;;;;;:::i;:::-;8295:7;8321:22;;;:10;:22;;;;;:32;-1:-1:-1;;;;;8321:32:24;;8211:149;1235:147;;;;;;;;;;;;1294:88;1235:147;;17888:427;;;;;;;;;;-1:-1:-1;17888:427:24;;;;;:::i;:::-;;:::i;6934:967::-;;;;;;;;;;-1:-1:-1;6934:967:24;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2930:133:276:-;;;;;;;;;;;;;:::i;2631:141::-;;;;;;;;;;;;;:::i;1712:82:304:-;;;;;;;;;;-1:-1:-1;1712:82:304;;;;;:::i;:::-;1786:4;1712:82;;;;;13083:559:24;;;;;;;;;;-1:-1:-1;13083:559:24;;;;;:::i;:::-;;:::i;1261:69:304:-;;;;;;;;;;-1:-1:-1;1313:13:304;1261:69;;5525:99:24;;;;;;;;;;-1:-1:-1;5607:10:24;;;;;;;;;;;;-1:-1:-1;;;5607:10:24;;;;5525:99;;16898:198;;;;;;;;;;-1:-1:-1;16898:198:24;;;;;:::i;:::-;;:::i;17511:312::-;;;;;;;;;;-1:-1:-1;17511:312:24;;;;;:::i;:::-;;:::i;2447:178:276:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17166:266:24:-;;;;;;;;;;-1:-1:-1;17166:266:24;;;;;:::i;:::-;;:::i;10356:1725::-;;;;;;;;;;-1:-1:-1;10356:1725:24;;;;;:::i;:::-;;:::i;5021:633:233:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;2301:140:276:-;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;2778:146::-;;;;;;;;;;;;;:::i;1145:57:304:-;;;;;;;;;;-1:-1:-1;1145:57:304;;1615:7;17604:46:310;;17592:2;17577:18;1145:57:304;17460:196:310;16615:223:24;;;;;;;;;;-1:-1:-1;16615:223:24;;;;;:::i;:::-;;:::i;1866:141:276:-;;;;;;;;;;;;;:::i;1819:584:268:-;;;;;;;;;;;;;:::i;22429:247:24:-;;;;;;;;;;-1:-1:-1;22429:247:24;;;;;:::i;:::-;-1:-1:-1;;;22429:247:24;;;;;;;;8428:147;;;;;;;;;;-1:-1:-1;8428:147:24;;;;;:::i;:::-;8512:7;8538:22;;;:10;:22;;;;;:30;;;-1:-1:-1;;;;;8538:30:24;;8428:147;21235:296;;;;;;:::i;:::-;;:::i;6569:308::-;;;;;;;;;;-1:-1:-1;6569:308:24;;;;;:::i;:::-;;:::i;1134:95::-;;;;;;;;;;;;1176:53;1134:95;;2013:142:276;;;;;;;;;;;;;:::i;615:398:304:-;;;;;;;;;;-1:-1:-1;615:398:304;;;;;:::i;:::-;;:::i;272:337::-;;;;;;;;;;-1:-1:-1;272:337:304;;;;;:::i;:::-;;:::i;16373:172:24:-;;;;;;;;;;-1:-1:-1;16373:172:24;;;;;:::i;:::-;;:::i;22129:219::-;;;;;;;;;;-1:-1:-1;22129:219:24;;;;;:::i;:::-;-1:-1:-1;;;22129:219:24;;;;;;;;1632:74:304;;;;;;;;;;-1:-1:-1;1632:74:304;;;;;:::i;:::-;-1:-1:-1;1695:7:304;;1632:74;1572:26:268;;;;;;;;;;-1:-1:-1;1572:26:268;;;;;;;;4194:1118:24;4296:4;-1:-1:-1;;;;;;;;;;;;;;;;;;5071:27:24;;;;;:70;;-1:-1:-1;;;;;;;5114:27:24;;;;;;;5071:70;:117;;;-1:-1:-1;;;;;;;5157:31:24;;;;;;;5071:117;:182;;;-1:-1:-1;;;;;;;5204:49:24;;-1:-1:-1;;;5204:49:24;5071:182;:234;;;-1:-1:-1;;;;;;;;;;937:40:240;;;5269:36:24;5052:253;4194:1118;-1:-1:-1;;;;;;4194:1118:24:o;18399:784::-;18647:7;18666:13;18682:423;18709:341;1294:88;18860:10;18896:7;18945:6;;18929:24;;;;;;;:::i;:::-;;;;;;;;18989:6;18979:17;;;;;;18774:244;;;;;;;;;;;22160:25:310;;;22216:2;22201:18;;22194:34;;;;22276:4;22264:17;;;;22259:2;22244:18;;22237:45;22313:2;22298:18;;22291:34;22356:3;22341:19;;22334:35;22147:3;22132:19;;21905:470;18774:244:24;;;;;;;;;;;;;18743:293;;;;;;18709:16;:341::i;:::-;19064:1;19079;19094;18682:13;:423::i;:::-;18666:439;;19123:53;19133:10;19145:5;19152:7;19161:6;;19123:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19169:6:24;;-1:-1:-1;19123:9:24;;-1:-1:-1;;19123:53:24:i;:::-;19116:60;18399:784;-1:-1:-1;;;;;;;;;;18399:784:24:o;5368:98::-;5422:13;5454:5;5447:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5368:98;:::o;2161:134:276:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:276;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;12140:885:24:-;12338:7;12357:18;12378:57;12391:7;12400:6;12408:9;12419:15;12378:12;:57::i;:::-;12357:78;;12446:26;12475:17;12481:10;12475:5;:17::i;:::-;12446:46;-1:-1:-1;12539:23:24;12523:12;:39;;;;;;;;:::i;:::-;;:79;;;-1:-1:-1;12582:20:24;12566:12;:36;;;;;;;;:::i;:::-;;12523:79;12502:159;;;;-1:-1:-1;;;12502:159:24;;22967:2:310;12502:159:24;;;22949:21:310;23006:2;22986:18;;;22979:30;23045:34;23025:18;;;23018:62;-1:-1:-1;;;23096:18:310;;;23089:31;23137:19;;12502:159:24;22765:397:310;12502:159:24;12671:22;;;;:10;:22;;;;;;;:31;;:38;;-1:-1:-1;;12671:38:24;12705:4;12671:38;;;12725:28;;;;;12682:10;1003:25:310;;991:2;976:18;;857:177;12725:28:24;;;;;;;;12764:71;12779:10;12791:7;12800:6;12808:9;12819:15;12764:14;:71::i;:::-;12845:65;12854:10;12866:7;12875:6;12883:9;12894:15;12845:8;:65::i;:::-;12920:70;12934:10;12946:7;12955:6;12963:9;12974:15;12920:13;:70::i;:::-;-1:-1:-1;13008:10:24;12140:885;-1:-1:-1;;;;;12140:885:24:o;17888:427::-;18145:48;;;1176:53;18145:48;;;23365:25:310;23406:18;;;23399:34;;;23481:4;23469:17;;23449:18;;;23442:45;18056:7:24;;;;18091:159;;18118:77;;23338:18:310;;18145:48:24;23167:326:310;18091:159:24;18075:175;;18267:41;18277:10;18289:5;18296:7;18267:41;;;;;;;;;;;;:9;:41::i;:::-;18260:48;17888:427;-1:-1:-1;;;;;;;17888:427:24:o;6934:967::-;7007:13;7064:22;;;:10;:22;;;;;7101:17;;;;;;7097:77;;;-1:-1:-1;7141:22:24;;6934:967;-1:-1:-1;;6934:967:24:o;7097:77::-;7188:17;;;;;;;;;7184:77;;;-1:-1:-1;7228:22:24;;6934:967;-1:-1:-1;;6934:967:24:o;7184:77::-;7271:16;8321:22;;;:10;:22;;;;;:32;-1:-1:-1;;;;;8321:32:24;;7333:13;;;7329:83;;7362:39;;-1:-1:-1;;;7362:39:24;;23700:2:310;7362:39:24;;;23682:21:310;23739:2;23719:18;;;23712:30;23778:31;23758:18;;;23751:59;23827:18;;7362:39:24;23498:353:310;7329:83:24;7522:21;;6934:967;-1:-1:-1;;;;6934:967:24: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;13083:559:24:-;13272:7;13291:18;13312:57;13325:7;13334:6;13342:9;13353:15;13312:12;:57::i;:::-;13291:78;-1:-1:-1;13408:21:24;13387:17;13393:10;13387:5;:17::i;:::-;:42;;;;;;;;:::i;:::-;;13379:83;;;;-1:-1:-1;;;13379:83:24;;24058:2:310;13379:83:24;;;24040:21:310;24097:2;24077:18;;;24070:30;24136;24116:18;;;24109:58;24184:18;;13379:83:24;23856:352:310;13379:83:24;13496:22;;;;:10;:22;;;;;:31;-1:-1:-1;;;13496:31:24;;-1:-1:-1;;;;;13496:31:24;734:10:224;-1:-1:-1;;;;;13480:47:24;;13472:94;;;;-1:-1:-1;;;13472:94:24;;24415:2:310;13472:94:24;;;24397:21:310;24454:2;24434:18;;;24427:30;24493:34;24473:18;;;24466:62;-1:-1:-1;;;24544:18:310;;;24537:32;24586:19;;13472:94:24;24213:398:310;13472:94:24;13583:52;13591:7;13600:6;13608:9;13619:15;13583:7;:52::i;16898:198::-;16984:7;;734:10:224;17003:28:24;;17048:41;17058:10;17070:5;17077:7;17048:41;;;;;;;;;;;;:9;:41::i;:::-;17041:48;;;16898:198;;;;;:::o;17511:312::-;17699:7;;734:10:224;17718:28:24;;17763:53;17773:10;17785:5;17792:7;17801:6;;17763:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17809:6:24;;-1:-1:-1;17763:9:24;;-1:-1:-1;;17763:53:24: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;17166:266:24:-;17316:7;;734:10:224;17335:28:24;;17380:45;17390:10;17402:5;17409:7;17418:6;;17380:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17380:9:24;;-1:-1:-1;;;17380:45:24:i;10356:1725::-;10548:7;734:10:224;10616:53:24;734:10:224;10657:11:24;10616:30;:53::i;:::-;10608:95;;;;-1:-1:-1;;;10608:95:24;;24818:2:310;10608:95:24;;;24800:21:310;24857:2;24837:18;;;24830:30;24896:31;24876:18;;;24869:59;24945:18;;10608:95:24;24616:353:310;10608:95:24;10714:24;;10779:40;10788:8;10798:20;10817:1;10714:24;10798:20;:::i;10779:40::-;:63;;10758:159;;;;-1:-1:-1;;;10758:159:24;;25441:2:310;10758:159:24;;;25423:21:310;25480:2;25460:18;;;25453:30;25519:34;25499:18;;;25492:62;-1:-1:-1;;;25570:18:310;;;25563:47;25627:19;;10758:159:24;25239:413:310;10758:159:24;10928:18;10949:71;10962:7;10971:6;10979:9;11006:11;10990:29;;;;;;10949:12;:71::i;:::-;10928:92;;11057:6;:13;11039:7;:14;:31;11031:77;;;;-1:-1:-1;;;11031:77:24;;;;;;;:::i;:::-;11144:9;:16;11126:7;:14;:34;11118:80;;;;-1:-1:-1;;;11118:80:24;;;;;;;:::i;:::-;11233:1;11216:7;:14;:18;11208:55;;;;-1:-1:-1;;;11208:55:24;;26261:2:310;11208:55:24;;;26243:21:310;26300:2;26280:18;;;26273:30;26339:26;26319:18;;;26312:54;26383:18;;11208:55:24;26059:348:310;11208:55:24;11281:22;;;;:10;:22;;;;;:32;-1:-1:-1;;;;;11281:32:24;:37;11273:83;;;;-1:-1:-1;;;11273:83:24;;26614:2:310;11273:83:24;;;26596:21:310;26653:2;26633:18;;;26626:30;26692:34;26672:18;;;26665:62;-1:-1:-1;;;26743:18:310;;;26736:31;26784:19;;11273:83:24;26412:397:310;11273:83:24;11367:16;11386:32;11367:16;11386;:32;:::i;:::-;11367:51;-1:-1:-1;11428:16:24;11447:25;11428:16;11367:51;11447:25;:::i;:::-;11428:44;;11508:276;;;;;;;;11578:27;11596:8;11578:17;:27::i;:::-;-1:-1:-1;;;;;11508:276:24;;;-1:-1:-1;;;;;11508:276:24;;;;;;-1:-1:-1;11508:276:24;;;;;;11628:27;11646:8;11628:17;:27::i;:::-;-1:-1:-1;;;;;11508:276:24;;;;;11772:1;11508:276;;;;;;;;;;;;;;;;;;;;;11483:22;;;:10;:22;;;;;;:301;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11483:301:24;;;;;;;-1:-1:-1;;;;;;;;11483:301:24;;;;;;-1:-1:-1;;;;;11483:301:24;-1:-1:-1;;;11483:301:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11483:301:24;;;;;;;;;;;;;;;;;;-1:-1:-1;;11483:301:24;;;;;;-1:-1:-1;;11483:301:24;;;;;;;;;;;;;;;;;;;11929:14;;11800:246;;11483:22;;11853:8;;11929:14;;11896:6;;11916:28;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11958:9;11981:8;12003;12025:11;11800:246;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;12064:10:24;;10356:1725;-1:-1:-1;;;;;;;;10356:1725:24:o;5021:633:233:-;5136:13;5163:18;;5136:13;;;5163:18;5427:41;:5;5454:13;5427:26;:41::i;:::-;5482:47;:8;5512:16;5482:29;:47::i;:::-;5621:16;;;5605:1;5621:16;;;;;;;;;-1:-1:-1;;;5376:271:233;;;-1:-1:-1;5376:271:233;;-1:-1:-1;5543:13:233;;-1:-1:-1;5578:4:233;;-1:-1:-1;5605:1:233;-1:-1:-1;5621:16:233;-1:-1:-1;5376:271:233;-1:-1:-1;5021:633:233:o;2301:140:276:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2778:146;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:276;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16615:223:24;16768:7;16615:223;;;;;;:::o;1866:141:276:-;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:268;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:268;;;;;;;;1819:584::o;1869:528::-;1941:17;2997:42;2985:55;3066:16;1980:374;;2196:43;;;1671:64;2196:43;;;28532:51:310;;;-1:-1:-1;;;28599:18:310;;;28592:34;2196:43:268;;;;;;;;;28505: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;21235:296:24:-;734:10:224;21805:4:24;3337:27;3329:64;;;;-1:-1:-1;;;3329:64:24;;29770:2:310;3329:64:24;;;29752:21:310;29809:2;29789:18;;;29782:30;29848:26;29828:18;;;29821:54;29892:18;;3329:64:24;29568:348:310;3329:64:24;3403:277;;3618:52;3655:11;3625:26;:15;:24;:26::i;:::-;:41;3618:52;;3437:243;3403:277;21353:12:::1;21367:23:::0;21394:6:::1;-1:-1:-1::0;;;;;21394:11:24::1;21413:5;21420:4;;21394:31;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21352:73;;;;21435:89;21460:7;21469:10;21435:89;;;;;;;;;;;;;;;;;:24;:89::i;:::-;;21342:189;;21235:296:::0;;;;:::o;6569:308::-;6769:7;6824;6833:6;6841:9;6852:15;6813:55;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;6813:55:24;;;;;;;;;6803:66;;6813:55;6803:66;;;;;6569:308;-1:-1:-1;;;;;6569:308:24:o;2013:142:276:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:276;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;615:398:304:-;780:43;;-1:-1:-1;;;780:43:304;;-1:-1:-1;;;;;790:32:304;;;;;;;;780:43;;;805:41:310;780:9:304;;;;778:18:310;;780:43:304;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;861:11;888:35;908:14;888:19;:35::i;:::-;847:77;;;;;;;;;:::i;:::-;;;;;;;;;;;;;833:91;;934:72;946:59;977:14;993:11;946:30;:59::i;:::-;934:11;:72::i;:::-;615:398;;;:::o;272:337::-;401:15;397:131;;;460:11;487:29;507:8;487:19;:29::i;:::-;446:71;;;;;;;;;:::i;:::-;;;;;;;;;;;;;432:85;;397:131;537:65;548:53;579:8;589:11;548:30;:53::i;:::-;537:10;:65::i;16373:172:24:-;16465:7;16491:47;16501:7;16510:9;16521:16;10184:9;;;;;;;;;-1:-1:-1;10184:9:24;;;10103:97;4768:165:233;4845:7;4871:55;4893:20;:18;:20::i;:::-;4915:10;8536:4:232;8530:11;-1:-1:-1;;;8554:23:232;;8606:4;8597:14;;8590:39;;;;8658:4;8649:14;;8642:34;8712:4;8697:20;;;8336:397;6598:232;6683:7;6703:17;6722:18;6744:25;6755:4;6761:1;6764;6767;6744:10;:25::i;:::-;6702:67;;;;6779:18;6791:5;6779:11;:18::i;20029:755:24:-;20215:7;20266:22;;;:10;:22;;;;;20327:20;20306:17;20312:10;20306:5;:17::i;:::-;:41;;;;;;;;:::i;:::-;;20298:89;;;;-1:-1:-1;;;20298:89:24;;31533:2:310;20298:89:24;;;31515:21:310;31572:2;31552:18;;;31545:30;31611:34;31591:18;;;31584:62;-1:-1:-1;;;31662:18:310;;;31655:33;31705:19;;20298:89:24;31331:399:310;20298:89:24;20398:14;20542:6;:13;20559:1;20542:18;20538:216;;20590:7;-1:-1:-1;;;;;20581:54:24;;20599:10;20611:7;20620:6;20628;20581:54;;;;;;;;;:::i;:::-;;;;;;;;20538:216;;;20690:7;-1:-1:-1;;;;;20671:72:24;;20699:10;20711:7;20720:6;20728;20736;20671:72;;;;;;;;;;:::i;:::-;;;;;;;;20771:6;20029:755;-1:-1:-1;;;;;;;20029:755:24:o;14378:499::-;14613:258;;14661:200;14685:7;:14;14681:1;:18;14661:200;;;14750:4;-1:-1:-1;;;;;14728:27:24;:7;14736:1;14728:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14728:27:24;;14724:123;;14779:49;14814:9;14824:1;14814:12;;;;;;;;:::i;:::-;;;;;;;14804:23;;;;;;14779:15;:24;;:49;;;;:::i;:::-;14701:3;;;:::i;:::-;;;14661:200;;;;14613:258;14378:499;;;;;:::o;13767:541::-;13990:26;:70;;;;;;;;;;;;;;;;;;;14075:9;14070:232;14094:7;:14;14090:1;:18;14070:232;;;14130:12;14144:23;14171:7;14179:1;14171:10;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;14171:15:24;14194:6;14201:1;14194:9;;;;;;;;:::i;:::-;;;;;;;14205;14215:1;14205:12;;;;;;;;:::i;:::-;;;;;;;14171:47;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14129:89;;;;14232:59;14257:7;14266:10;14278:12;14232:24;:59::i;:::-;;14115:187;;14110:3;;;;:::i;:::-;;;14070:232;;19492:255;19649:7;19675:65;19685:10;19697:7;19706;19715:6;19723:16;10184:9;;;;;;;;;-1:-1:-1;10184:9:24;;;10103:97;19723:16;19675:9;:65::i;:::-;19668:72;19492:255;-1:-1:-1;;;;;19492:255:24:o;15609:704::-;15792:7;15811:18;15832:57;15845:7;15854:6;15862:9;15873:15;15832:12;:57::i;:::-;15811:78;;15900:26;15929:17;15935:10;15929:5;:17::i;:::-;15900:46;-1:-1:-1;15994:22:24;15978:12;:38;;;;;;;;:::i;:::-;;;:95;;;;-1:-1:-1;16052:21:24;16036:12;:37;;;;;;;;:::i;:::-;;;15978:95;:153;;;;-1:-1:-1;16109:22:24;16093:12;:38;;;;;;;;:::i;:::-;;;15978:153;15957:229;;;;-1:-1:-1;;;15957:229:24;;33265:2:310;15957:229:24;;;33247:21:310;33304:2;33284:18;;;33277:30;33343:31;33323:18;;;33316:59;33392:18;;15957:229:24;33063:353:310;15957:229:24;16196:22;;;;:10;:22;;;;;;;:31;;:38;;-1:-1:-1;;16196:38:24;;;;;16250:28;;;;;16207:10;1003:25:310;;991:2;976:18;;857:177;16250:28:24;;;;;;;;-1:-1:-1;16296:10:24;15609:704;-1:-1:-1;;;;;15609:704:24:o;23803:1638::-;23971:25;;23941:4;;24083:2;24077:8;;24073:50;;;24108:4;24101:11;;;;;24073:50;24741:30;;;-1:-1:-1;;24741:30:24;24735:37;-1:-1:-1;;;;;;24872:33:24;;-1:-1:-1;;;24872:33:24;24868:75;;24928:4;24921:11;;;;;;24868:75;25020:17;;25068:8;25074:2;25068:3;:8;:::i;:::-;25056:20;;25051:336;25082:3;25078:1;:7;25051:336;;;25107:10;25119:11;25134:36;25154:11;25167:1;25148:21;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;;25148:21:24;25134:13;:36::i;:::-;25106:64;;;;25276:5;25271:56;;25308:4;25301:11;;;;;;;;;;25271:56;25371:5;25352:24;;25366:1;25353:9;-1:-1:-1;;;;;25353:14:24;;;25352:24;25340:36;;25092:295;;25087:3;;;;:::i;:::-;;;25051:336;;;;25425:8;-1:-1:-1;;;;;25404:30:24;:9;-1:-1:-1;;;;;25404:30:24;;25397:37;;;;;23803:1638;;;;:::o;13216:187:248:-;13272:6;-1:-1:-1;;;;;13298:25:248;;;13290:76;;;;-1:-1:-1;;;13290:76:248;;33623:2:310;13290:76:248;;;33605:21:310;33662:2;33642:18;;;33635:30;33701:34;33681:18;;;33674:62;-1:-1:-1;;;33752:18:310;;;33745:36;33798:19;;13290:76:248;33421:402:310;13290:76:248;-1:-1:-1;13390:5:248;13216:187::o;3367:268:228:-;3461:13;1371:66;3490:47;;3486:143;;3560:15;3569:5;3560:8;:15::i;:::-;3553:22;;;;3486:143;3613:5;3606:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3295:324:253;3359:13;3388:12;3394:5;5888:12;;;;;-1:-1:-1;;;5874:10:253;;;;;:26;;;5785:122;3388:12;3384:32;;;3409:7;;-1:-1:-1;;;3409:7:253;;;;;;;;;;;3384:32;-1:-1:-1;3446:12:253;;;;3426:17;3476:23;;;3446:12;3476:11;;;:23;;;;;;;3509:30;;;3573:29;;-1:-1:-1;;3573:29:253;3588:14;;-1:-1:-1;;;;;3573:29:253;;;;;;;;3476:23;3295:324::o;8520:295:220:-;8666:12;8694:7;8690:119;;;-1:-1:-1;8724:10:220;8717:17;;8690:119;8765:33;8773:10;8785:12;8765:7;:33::i;2407:149:230:-;2465:13;2497:52;-1:-1:-1;;;;;2509:22:230;;343:2;2497:11;:52::i;587:83:272:-;646:17;658:4;657:5;646:10;:17::i;:::-;587:83;:::o;3262:157:268:-;3322:9;3317:96;;3352:30;;;;;34030:2:310;34012:21;;;34069:2;34049:18;;;34042:30;34108:25;34103:2;34088:18;;34081:53;34166:2;34151:18;;33828:347;3352:30:268;;;;;;;;3396:6;:4;:6::i;3695:262:233:-;3748:7;3779:4;-1:-1:-1;;;;;3788:11:233;3771:28;;:63;;;;;3820:14;3803:13;:31;3771:63;3767:184;;;-1:-1:-1;3857:22:233;;3695:262::o;3767:184::-;3917:23;4054:81;;;1929:95;4054:81;;;36983:25:310;4077:11:233;37024:18:310;;;37017:34;;;;4090:14:233;37067:18:310;;;37060:34;4106:13:233;37110:18:310;;;37103:34;4129:4:233;37153:19:310;;;37146:61;4018:7:233;;36955:19:310;;4054:81:233;;;;;;;;;;;;4044:92;;;;;;4037:99;;3963:180;;3917:23;3910:30;;3695:262;:::o;5009:1456:232:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:232;;-1:-1:-1;6123:30:232;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;34407:25:310;;;34480:4;34468:17;;34448:18;;;34441:45;;;;34502:18;;;34495:34;;;34545:18;;;34538:34;;;6276:24:232;;34379:19:310;;6276:24:232;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:232;;-1:-1:-1;;6276:24:232;;;-1:-1:-1;;;;;;;6314:20:232;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:232;;-1:-1:-1;5009:1456:232;;;;;;;;:::o;570:511::-;647:20;638:5;:29;;;;;;;;:::i;:::-;;634:441;;570:511;:::o;634:441::-;743:29;734:5;:38;;;;;;;;:::i;:::-;;730:345;;788:34;;-1:-1:-1;;;788:34:232;;34785:2:310;788:34:232;;;34767:21:310;34824:2;34804:18;;;34797:30;34863:26;34843:18;;;34836:54;34907:18;;788:34:232;34583:348:310;730:345:232;852:35;843:5;:44;;;;;;;;:::i;:::-;;839:236;;903:41;;-1:-1:-1;;;903:41:232;;35138:2:310;903:41:232;;;35120:21:310;35177:2;35157:18;;;35150:30;35216:33;35196:18;;;35189:61;35267:18;;903:41:232;34936:355:310;839:236:232;974:30;965:5;:39;;;;;;;;:::i;:::-;;961:114;;1020:44;;-1:-1:-1;;;1020:44:232;;35498:2:310;1020:44:232;;;35480:21:310;35537:2;35517:18;;;35510:30;35576:34;35556:18;;;35549:62;-1:-1:-1;;;35627:18:310;;;35620:32;35669:19;;1020:44:232;35296:398:310;2096:226:253;2195:10;;-1:-1:-1;;;2195:10:253;;;;;;2176:16;2215:22;;;:11;;;;:22;;;;;;:30;;;;2279:26;;-1:-1:-1;;;;;2279:26:253;;;2292:13;;;;2279:26;;;;;2096:226::o;25678:593:24:-;25736:4;;25769:11;;;;25842:2;:6;-1:-1:-1;25842:16:24;;;;;25856:2;25852:1;:6;;;25842:16;25838:417;;;25886:4;;-1:-1:-1;;25892:6:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;25838:417::-;25965:1;25960:6;;:2;:6;:16;;;;;25974:2;25970:1;:6;;;25960:16;25956:299;;;26004:4;;-1:-1:-1;;26010:6:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;25956:299::-;26083:1;26078:6;;:2;:6;:17;;;;;26092:3;26088:1;:7;;;26078:17;26074:181;;;26123:4;;-1:-1:-1;;26129:6:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;26074:181::-;-1:-1:-1;26231:5:24;;;;-1:-1:-1;25678:593:24;-1:-1:-1;;25678:593:24:o;2059:405:228:-;2118:13;2143:11;2157:16;2168:4;2157:10;:16::i;:::-;2281:14;;;2292:2;2281:14;;;;;;;;;2143:30;;-1:-1:-1;2261:17:228;;2281:14;;;;;;;;;-1:-1:-1;;;2371:16:228;;;-1:-1:-1;2416:4:228;2407:14;;2400:28;;;;-1:-1:-1;2371:16:228;2059:405::o;8821:540:220:-;8980:17;;:21;8976:379;;9208:10;9202:17;9264:15;9251:10;9247:2;9243:19;9236:44;8976:379;9331:12;9324:20;;-1:-1:-1;;;9324:20:220;;;;;;;;:::i;1818:437:230:-;1893:13;1918:19;1950:10;1954:6;1950:1;:10;:::i;:::-;:14;;1963:1;1950:14;:::i;:::-;-1:-1:-1;;;;;1940:25:230;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1940:25:230;;1918:47;;-1:-1:-1;;;1975:6:230;1982:1;1975:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;1975:15:230;;;;;;;;;-1:-1:-1;;;2000:6:230;2007:1;2000:9;;;;;;;;:::i;:::-;;;;:15;-1:-1:-1;;;;;2000:15:230;;;;;;;;-1:-1:-1;2030:9:230;2042:10;2046:6;2042:1;:10;:::i;:::-;:14;;2055:1;2042:14;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;-1:-1:-1;;;2105:5:230;2113:3;2105:11;2096:21;;;;;;;:::i;:::-;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;:33;-1:-1:-1;;;;;2084:33:230;;;;;;;;-1:-1:-1;2141:1:230;2131:11;;;;;2065:3;;;:::i;:::-;;;2025:128;;;-1:-1:-1;2170:10:230;;2162:55;;;;-1:-1:-1;;;2162:55:230;;36215:2:310;2162:55:230;;;36197:21:310;;;36234:18;;;36227:30;36293:34;36273:18;;;36266:62;36345:18;;2162:55:230;36013:356:310;2409:432:268;2997:42;2985:55;3066:16;2452:359;;2652:67;;;1671:64;2652:67;;;36576:51:310;;;-1:-1:-1;;;36643:18:310;;;36636:34;;;;2712:4:268;36686:18:310;;;36679:34;2489:11:268;;1671:64;2586:43;;36549: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;2536:245:228:-;2597:7;2669:4;2633:40;;2696:2;2687:11;;2683:69;;;2721:20;;-1:-1:-1;;;2721:20:228;;;;;;;;;;;374:286:310;432:6;485:2;473:9;464:7;460:23;456:32;453:52;;;501:1;498;491:12;453:52;527:23;;-1:-1:-1;;;;;;579:32:310;;569:43;;559:71;;626:1;623;616:12;1039:156;1105:20;;1165:4;1154:16;;1144:27;;1134:55;;1185:1;1182;1175:12;1200:348;1252:8;1262:6;1316:3;1309:4;1301:6;1297:17;1293:27;1283:55;;1334:1;1331;1324:12;1283:55;-1:-1:-1;1357:20:310;;-1:-1:-1;;;;;1389:30:310;;1386:50;;;1432:1;1429;1422:12;1386:50;1469:4;1461:6;1457:17;1445:29;;1521:3;1514:4;1505:6;1497;1493:19;1489:30;1486:39;1483:59;;;1538:1;1535;1528:12;1483:59;1200:348;;;;;:::o;1553:127::-;1614:10;1609:3;1605:20;1602:1;1595:31;1645:4;1642:1;1635:15;1669:4;1666:1;1659:15;1685:275;1756:2;1750:9;1821:2;1802:13;;-1:-1:-1;;1798:27:310;1786:40;;-1:-1:-1;;;;;1841:34:310;;1877:22;;;1838:62;1835:88;;;1903:18;;:::i;:::-;1939:2;1932:22;1685:275;;-1:-1:-1;1685:275:310:o;1965:530::-;2007:5;2060:3;2053:4;2045:6;2041:17;2037:27;2027:55;;2078:1;2075;2068:12;2027:55;2114:6;2101:20;-1:-1:-1;;;;;2136:2:310;2133:26;2130:52;;;2162:18;;:::i;:::-;2206:55;2249:2;2230:13;;-1:-1:-1;;2226:27:310;2255:4;2222:38;2206:55;:::i;:::-;2286:2;2277:7;2270:19;2332:3;2325:4;2320:2;2312:6;2308:15;2304:26;2301:35;2298:55;;;2349:1;2346;2339:12;2298:55;2414:2;2407:4;2399:6;2395:17;2388:4;2379:7;2375:18;2362:55;2462:1;2437:16;;;2455:4;2433:27;2426:38;;;;2441:7;1965:530;-1:-1:-1;;;1965:530:310:o;2500:978::-;2630:6;2638;2646;2654;2662;2670;2678;2686;2739:3;2727:9;2718:7;2714:23;2710:33;2707:53;;;2756:1;2753;2746:12;2707:53;2792:9;2779:23;2769:33;;2821:36;2853:2;2842:9;2838:18;2821:36;:::i;:::-;2811:46;;2908:2;2897:9;2893:18;2880:32;-1:-1:-1;;;;;2972:2:310;2964:6;2961:14;2958:34;;;2988:1;2985;2978:12;2958:34;3027:59;3078:7;3069:6;3058:9;3054:22;3027:59;:::i;:::-;3105:8;;-1:-1:-1;3001:85:310;-1:-1:-1;3193:2:310;3178:18;;3165:32;;-1:-1:-1;3209:16:310;;;3206:36;;;3238:1;3235;3228:12;3206:36;;3261:51;3304:7;3293:8;3282:9;3278:24;3261:51;:::i;:::-;3251:61;;;3331:37;3363:3;3352:9;3348:19;3331:37;:::i;:::-;3321:47;;3415:3;3404:9;3400:19;3387:33;3377:43;;3467:3;3456:9;3452:19;3439:33;3429:43;;2500:978;;;;;;;;;;;:::o;3483:250::-;3568:1;3578:113;3592:6;3589:1;3586:13;3578:113;;;3668:11;;;3662:18;3649:11;;;3642:39;3614:2;3607:10;3578:113;;;-1:-1:-1;;3725:1:310;3707:16;;3700:27;3483:250::o;3738:271::-;3780:3;3818:5;3812:12;3845:6;3840:3;3833:19;3861:76;3930:6;3923:4;3918:3;3914:14;3907:4;3900:5;3896:16;3861:76;:::i;:::-;3991:2;3970:15;-1:-1:-1;;3966:29:310;3957:39;;;;3998:4;3953:50;;3738:271;-1:-1:-1;;3738:271:310:o;4014:220::-;4163:2;4152:9;4145:21;4126:4;4183:45;4224:2;4213:9;4209:18;4201:6;4183:45;:::i;4239:180::-;4298:6;4351:2;4339:9;4330:7;4326:23;4322:32;4319:52;;;4367:1;4364;4357:12;4319:52;-1:-1:-1;4390:23:310;;4239:180;-1:-1:-1;4239:180:310:o;4632:173::-;4700:20;;-1:-1:-1;;;;;4749:31:310;;4739:42;;4729:70;;4795:1;4792;4785:12;4810:537;4905:6;4913;4921;4929;4982:3;4970:9;4961:7;4957:23;4953:33;4950:53;;;4999:1;4996;4989:12;4950:53;5022:29;5041:9;5022:29;:::i;:::-;5012:39;;5070:38;5104:2;5093:9;5089:18;5070:38;:::i;:::-;5060:48;;5155:2;5144:9;5140:18;5127:32;5117:42;;5210:2;5199:9;5195:18;5182:32;-1:-1:-1;;;;;5229:6:310;5226:30;5223:50;;;5269:1;5266;5259:12;5223:50;5292:49;5333:7;5324:6;5313:9;5309:22;5292:49;:::i;:::-;5282:59;;;4810:537;;;;;;;:::o;5559:461::-;5612:3;5650:5;5644:12;5677:6;5672:3;5665:19;5703:4;5732:2;5727:3;5723:12;5716:19;;5769:2;5762:5;5758:14;5790:1;5800:195;5814:6;5811:1;5808:13;5800:195;;;5879:13;;-1:-1:-1;;;;;5875:39:310;5863:52;;5935:12;;;;5970:15;;;;5911:1;5829:9;5800:195;;;-1:-1:-1;6011:3:310;;5559:461;-1:-1:-1;;;;;5559:461:310:o;6025:261::-;6204:2;6193:9;6186:21;6167:4;6224:56;6276:2;6265:9;6261:18;6253:6;6224:56;:::i;6291:183::-;6351:4;-1:-1:-1;;;;;6376:6:310;6373:30;6370:56;;;6406:18;;:::i;:::-;-1:-1:-1;6451:1:310;6447:14;6463:4;6443:25;;6291:183::o;6479:668::-;6533:5;6586:3;6579:4;6571:6;6567:17;6563:27;6553:55;;6604:1;6601;6594:12;6553:55;6640:6;6627:20;6666:4;6690:60;6706:43;6746:2;6706:43;:::i;:::-;6690:60;:::i;:::-;6784:15;;;6870:1;6866:10;;;;6854:23;;6850:32;;;6815:12;;;;6894:15;;;6891:35;;;6922:1;6919;6912:12;6891:35;6958:2;6950:6;6946:15;6970:148;6986:6;6981:3;6978:15;6970:148;;;7052:23;7071:3;7052:23;:::i;:::-;7040:36;;7096:12;;;;7003;;6970:148;;;-1:-1:-1;7136:5:310;6479:668;-1:-1:-1;;;;;;6479:668:310:o;7152:662::-;7206:5;7259:3;7252:4;7244:6;7240:17;7236:27;7226:55;;7277:1;7274;7267:12;7226:55;7313:6;7300:20;7339:4;7363:60;7379:43;7419:2;7379:43;:::i;7363:60::-;7457:15;;;7543:1;7539:10;;;;7527:23;;7523:32;;;7488:12;;;;7567:15;;;7564:35;;;7595:1;7592;7585:12;7564:35;7631:2;7623:6;7619:15;7643:142;7659:6;7654:3;7651:15;7643:142;;;7725:17;;7713:30;;7763:12;;;;7676;;7643:142;;7819:886;7871:5;7924:3;7917:4;7909:6;7905:17;7901:27;7891:55;;7942:1;7939;7932:12;7891:55;7978:6;7965:20;8004:4;8028:60;8044:43;8084:2;8044:43;:::i;8028:60::-;8122:15;;;8208:1;8204:10;;;;8192:23;;8188:32;;;8153:12;;;;8232:15;;;8229:35;;;8260:1;8257;8250:12;8229:35;8296:2;8288:6;8284:15;8308:368;8324:6;8319:3;8316:15;8308:368;;;8410:3;8397:17;-1:-1:-1;;;;;8433:11:310;8430:35;8427:125;;;8506:1;8535:2;8531;8524:14;8427:125;8577:56;8629:3;8624:2;8610:11;8602:6;8598:24;8594:33;8577:56;:::i;:::-;8565:69;;-1:-1:-1;8654:12:310;;;;8341;;8308:368;;8710:897;8880:6;8888;8896;8904;8957:3;8945:9;8936:7;8932:23;8928:33;8925:53;;;8974:1;8971;8964:12;8925:53;9014:9;9001:23;-1:-1:-1;;;;;9084:2:310;9076:6;9073:14;9070:34;;;9100:1;9097;9090:12;9070:34;9123:61;9176:7;9167:6;9156:9;9152:22;9123:61;:::i;:::-;9113:71;;9237:2;9226:9;9222:18;9209:32;9193:48;;9266:2;9256:8;9253:16;9250:36;;;9282:1;9279;9272:12;9250:36;9305:63;9360:7;9349:8;9338:9;9334:24;9305:63;:::i;:::-;9295:73;;9421:2;9410:9;9406:18;9393:32;9377:48;;9450:2;9440:8;9437:16;9434:36;;;9466:1;9463;9456:12;9434:36;;9489:61;9542:7;9531:8;9520:9;9516:24;9489:61;:::i;:::-;8710:897;;;;-1:-1:-1;9479:71:310;;9597:2;9582:18;9569:32;;-1:-1:-1;;;8710:897:310:o;9794:458::-;9885:6;9893;9901;9909;9917;9970:3;9958:9;9949:7;9945:23;9941:33;9938:53;;;9987:1;9984;9977:12;9938:53;10023:9;10010:23;10000:33;;10052:36;10084:2;10073:9;10069:18;10052:36;:::i;:::-;10042:46;;10107:36;10139:2;10128:9;10124:18;10107:36;:::i;:::-;9794:458;;;;-1:-1:-1;10097:46:310;;10190:2;10175:18;;10162:32;;-1:-1:-1;10241:3:310;10226:19;10213:33;;9794:458;-1:-1:-1;;9794:458:310:o;10257:127::-;10318:10;10313:3;10309:20;10306:1;10299:31;10349:4;10346:1;10339:15;10373:4;10370:1;10363:15;10389:346;10539:2;10524:18;;10572:1;10561:13;;10551:144;;10617:10;10612:3;10608:20;10605:1;10598:31;10652:4;10649:1;10642:15;10680:4;10677:1;10670:15;10551:144;10704:25;;;10389:346;:::o;10740:254::-;10808:6;10816;10869:2;10857:9;10848:7;10844:23;10840:32;10837:52;;;10885:1;10882;10875:12;10837:52;10921:9;10908:23;10898:33;;10950:38;10984:2;10973:9;10969:18;10950:38;:::i;:::-;10940:48;;10740:254;;;;;:::o;10999:250::-;11065:6;11073;11126:2;11114:9;11105:7;11101:23;11097:32;11094:52;;;11142:1;11139;11132:12;11094:52;11178:9;11165:23;11155:33;;11207:36;11239:2;11228:9;11224:18;11207:36;:::i;11254:769::-;11359:6;11367;11375;11383;11391;11444:3;11432:9;11423:7;11419:23;11415:33;11412:53;;;11461:1;11458;11451:12;11412:53;11497:9;11484:23;11474:33;;11526:36;11558:2;11547:9;11543:18;11526:36;:::i;:::-;11516:46;;11613:2;11602:9;11598:18;11585:32;-1:-1:-1;;;;;11677:2:310;11669:6;11666:14;11663:34;;;11693:1;11690;11683:12;11663:34;11732:59;11783:7;11774:6;11763:9;11759:22;11732:59;:::i;:::-;11810:8;;-1:-1:-1;11706:85:310;-1:-1:-1;11898:2:310;11883:18;;11870:32;;-1:-1:-1;11914:16:310;;;11911:36;;;11943:1;11940;11933:12;11911:36;;11966:51;12009:7;11998:8;11987:9;11983:24;11966:51;:::i;:::-;11956:61;;;11254:769;;;;;;;;:::o;12028:1569::-;12232:4;12261:2;12301;12290:9;12286:18;12331:2;12320:9;12313:21;12354:6;12389;12383:13;12420:6;12412;12405:22;12446:2;12436:12;;12479:2;12468:9;12464:18;12457:25;;12541:2;12531:6;12528:1;12524:14;12513:9;12509:30;12505:39;12579:2;12571:6;12567:15;12600:1;12621;12631:937;12647:6;12642:3;12639:15;12631:937;;;12716:22;;;-1:-1:-1;;12712:36:310;12700:49;;12772:13;;12859:9;;-1:-1:-1;;;;;12855:35:310;12840:51;;12930:11;;12924:18;12962:15;;;12955:27;;;13043:19;;12812:15;;;13075:24;;;13165:21;;;;13210:1;;13133:2;13121:15;;;13224:236;13240:8;13235:3;13232:17;13224:236;;;13321:15;;-1:-1:-1;;;;;;13317:42:310;13303:57;;13429:17;;;;13268:1;13259:11;;;;;13386:14;;;;13224:236;;;-1:-1:-1;13546:12:310;;;;13483:5;-1:-1:-1;;;13511:15:310;;;;12673:1;12664:11;12631:937;;;-1:-1:-1;13585:6:310;;12028:1569;-1:-1:-1;;;;;;;;;12028:1569:310:o;13602:549::-;13689:6;13697;13705;13713;13766:2;13754:9;13745:7;13741:23;13737:32;13734:52;;;13782:1;13779;13772:12;13734:52;13818:9;13805:23;13795:33;;13847:36;13879:2;13868:9;13864:18;13847:36;:::i;:::-;13837:46;;13934:2;13923:9;13919:18;13906:32;-1:-1:-1;;;;;13953:6:310;13950:30;13947:50;;;13993:1;13990;13983:12;13947:50;14032:59;14083:7;14074:6;14063:9;14059:22;14032:59;:::i;:::-;13602:549;;;;-1:-1:-1;14110:8:310;-1:-1:-1;;;;13602:549:310:o;14156:1028::-;14336:6;14344;14352;14360;14413:3;14401:9;14392:7;14388:23;14384:33;14381:53;;;14430:1;14427;14420:12;14381:53;14470:9;14457:23;-1:-1:-1;;;;;14540:2:310;14532:6;14529:14;14526:34;;;14556:1;14553;14546:12;14526:34;14579:61;14632:7;14623:6;14612:9;14608:22;14579:61;:::i;:::-;14569:71;;14693:2;14682:9;14678:18;14665:32;14649:48;;14722:2;14712:8;14709:16;14706:36;;;14738:1;14735;14728:12;14706:36;14761:63;14816:7;14805:8;14794:9;14790:24;14761:63;:::i;:::-;14751:73;;14877:2;14866:9;14862:18;14849:32;14833:48;;14906:2;14896:8;14893:16;14890:36;;;14922:1;14919;14912:12;14890:36;14945:61;14998:7;14987:8;14976:9;14972:24;14945:61;:::i;:::-;14935:71;;15059:2;15048:9;15044:18;15031:32;15015:48;;15088:2;15078:8;15075:16;15072:36;;;15104:1;15101;15094:12;15072:36;;15127:51;15170:7;15159:8;15148:9;15144:24;15127:51;:::i;15189:435::-;15242:3;15280:5;15274:12;15307:6;15302:3;15295:19;15333:4;15362:2;15357:3;15353:12;15346:19;;15399:2;15392:5;15388:14;15420:1;15430:169;15444:6;15441:1;15438:13;15430:169;;;15505:13;;15493:26;;15539:12;;;;15574:15;;;;15466:1;15459:9;15430:169;;15629:920;16035:3;16030;16026:13;16018:6;16014:26;16003:9;15996:45;16077:3;16072:2;16061:9;16057:18;16050:31;15977:4;16104:46;16145:3;16134:9;16130:19;16122:6;16104:46;:::i;:::-;16198:9;16190:6;16186:22;16181:2;16170:9;16166:18;16159:50;16232:33;16258:6;16250;16232:33;:::i;:::-;16296:2;16281:18;;16274:34;;;-1:-1:-1;;;;;16345:32:310;;16339:3;16324:19;;16317:61;16365:3;16394:19;;16387:35;;;16459:22;;;16453:3;16438:19;;16431:51;16218:47;-1:-1:-1;16499:44:310;16218:47;16528:6;16499:44;:::i;16554:616::-;16606:3;16644:5;16638:12;16671:6;16666:3;16659:19;16697:4;16738:2;16733:3;16729:12;16763:11;16790;16783:18;;16840:6;16837:1;16833:14;16826:5;16822:26;16810:38;;16882:2;16875:5;16871:14;16903:1;16913:231;16927:6;16924:1;16921:13;16913:231;;;16998:5;16992:4;16988:16;16983:3;16976:29;17026:38;17059:4;17050:6;17044:13;17026:38;:::i;:::-;17122:12;;;;17018:46;-1:-1:-1;17087:15:310;;;;16949:1;16942:9;16913:231;;;-1:-1:-1;17160:4:310;;16554:616;-1:-1:-1;;;;;;;16554:616:310:o;17175:280::-;17374:2;17363:9;17356:21;17337:4;17394:55;17445:2;17434:9;17430:18;17422:6;17394:55;:::i;17661:462::-;17747:6;17755;17763;17816:2;17804:9;17795:7;17791:23;17787:32;17784:52;;;17832:1;17829;17822:12;17784:52;17855:29;17874:9;17855:29;:::i;:::-;17845:39;;17931:2;17920:9;17916:18;17903:32;17893:42;;17986:2;17975:9;17971:18;17958:32;-1:-1:-1;;;;;18005:6:310;18002:30;17999:50;;;18045:1;18042;18035:12;17999:50;18068:49;18109:7;18100:6;18089:9;18085:22;18068:49;:::i;:::-;18058:59;;;17661:462;;;;;:::o;18128:943::-;18282:6;18290;18298;18306;18314;18367:3;18355:9;18346:7;18342:23;18338:33;18335:53;;;18384:1;18381;18374:12;18335:53;18407:29;18426:9;18407:29;:::i;:::-;18397:39;;18455:38;18489:2;18478:9;18474:18;18455:38;:::i;:::-;18445:48;;18544:2;18533:9;18529:18;18516:32;-1:-1:-1;;;;;18608:2:310;18600:6;18597:14;18594:34;;;18624:1;18621;18614:12;18594:34;18647:61;18700:7;18691:6;18680:9;18676:22;18647:61;:::i;:::-;18637:71;;18761:2;18750:9;18746:18;18733:32;18717:48;;18790:2;18780:8;18777:16;18774:36;;;18806:1;18803;18796:12;18774:36;18829:63;18884:7;18873:8;18862:9;18858:24;18829:63;:::i;:::-;18819:73;;18945:3;18934:9;18930:19;18917:33;18901:49;;18975:2;18965:8;18962:16;18959:36;;;18991:1;18988;18981:12;19076:552;19164:6;19172;19180;19188;19241:2;19229:9;19220:7;19216:23;19212:32;19209:52;;;19257:1;19254;19247:12;19209:52;19280:29;19299:9;19280:29;:::i;:::-;19270:39;;19356:2;19345:9;19341:18;19328:32;19318:42;;19411:2;19400:9;19396:18;19383:32;-1:-1:-1;;;;;19430:6:310;19427:30;19424:50;;;19470:1;19467;19460:12;19633:469;19720:6;19728;19736;19789:2;19777:9;19768:7;19764:23;19760:32;19757:52;;;19805:1;19802;19795:12;19757:52;19845:9;19832:23;-1:-1:-1;;;;;19870:6:310;19867:30;19864:50;;;19910:1;19907;19900:12;19864:50;19933:49;19974:7;19965:6;19954:9;19950:22;19933:49;:::i;:::-;19923:59;;;20001:38;20035:2;20024:9;20020:18;20001:38;:::i;:::-;19991:48;;20058:38;20092:2;20081:9;20077:18;20058:38;:::i;:::-;20048:48;;19633:469;;;;;:::o;20107:118::-;20193:5;20186:13;20179:21;20172:5;20169:32;20159:60;;20215:1;20212;20205:12;20230:524;20314:6;20322;20330;20383:2;20371:9;20362:7;20358:23;20354:32;20351:52;;;20399:1;20396;20389:12;20351:52;20439:9;20426:23;-1:-1:-1;;;;;20464:6:310;20461:30;20458:50;;;20504:1;20501;20494:12;20458:50;20527:49;20568:7;20559:6;20548:9;20544:22;20527:49;:::i;:::-;20517:59;;;20595:38;20629:2;20618:9;20614:18;20595:38;:::i;:::-;20585:48;;20683:2;20672:9;20668:18;20655:32;20696:28;20718:5;20696:28;:::i;:::-;20743:5;20733:15;;;20230:524;;;;;:::o;20759:254::-;20827:6;20835;20888:2;20876:9;20867:7;20863:23;20859:32;20856:52;;;20904:1;20901;20894:12;20856:52;20927:29;20946:9;20927:29;:::i;:::-;20917:39;21003:2;20988:18;;;;20975:32;;-1:-1:-1;;;20759:254:310:o;21018:606::-;21122:6;21130;21138;21146;21154;21207:3;21195:9;21186:7;21182:23;21178:33;21175:53;;;21224:1;21221;21214:12;21175:53;21247:29;21266:9;21247:29;:::i;:::-;21237:39;;21295:38;21329:2;21318:9;21314:18;21295:38;:::i;:::-;21285:48;;21380:2;21369:9;21365:18;21352:32;21342:42;;21431:2;21420:9;21416:18;21403:32;21393:42;;21486:3;21475:9;21471:19;21458:33;-1:-1:-1;;;;;21506:6:310;21503:30;21500:50;;;21546:1;21543;21536:12;21500:50;21569:49;21610:7;21601:6;21590:9;21586:22;21569:49;:::i;21629:271::-;21812:6;21804;21799:3;21786:33;21768:3;21838:16;;21863:13;;;21838:16;21629:271;-1:-1:-1;21629:271:310:o;22380:380::-;22459:1;22455:12;;;;22502;;;22523:61;;22577:4;22569:6;22565:17;22555:27;;22523:61;22630:2;22622:6;22619:14;22599:18;22596:38;22593:161;;22676:10;22671:3;22667:20;22664:1;22657:31;22711:4;22708:1;22701:15;22739:4;22736:1;22729:15;22593:161;;22380:380;;;:::o;24974:127::-;25035:10;25030:3;25026:20;25023:1;25016:31;25066:4;25063:1;25056:15;25090:4;25087:1;25080:15;25106:128;25173:9;;;25194:11;;;25191:37;;;25208:18;;:::i;25657:397::-;25859:2;25841:21;;;25898:2;25878:18;;;25871:30;25937:34;25932:2;25917:18;;25910:62;-1:-1:-1;;;26003:2:310;25988:18;;25981:31;26044:3;26029:19;;25657:397::o;26814:125::-;26879:9;;;26900:10;;;26897:36;;;26913:18;;:::i;26944:1409::-;27559:25;;;-1:-1:-1;;;;;27620:32:310;;27615:2;27600:18;;27593:60;27547:3;27684:2;27669:18;;27662:30;;;27518:4;;27715:56;27752:18;;;27744:6;27715:56;:::i;:::-;27701:70;;27819:9;27811:6;27807:22;27802:2;27791:9;27787:18;27780:50;27853:44;27890:6;27882;27853:44;:::i;:::-;27839:58;;27946:9;27938:6;27934:22;27928:3;27917:9;27913:19;27906:51;27980:43;28016:6;28008;27980:43;:::i;:::-;27966:57;;28072:9;28064:6;28060:22;28054:3;28043:9;28039:19;28032:51;28106:43;28142:6;28134;28106:43;:::i;:::-;28092:57;;28186:6;28180:3;28169:9;28165:19;28158:35;28230:6;28224:3;28213:9;28209:19;28202:35;28286:9;28278:6;28274:22;28268:3;28257:9;28253:19;28246:51;28314:33;28340:6;28332;28314:33;:::i;:::-;28306:41;26944:1409;-1:-1:-1;;;;;;;;;;;;26944:1409:310:o;28637:384::-;-1:-1:-1;;;;;;28822:33:310;;28810:46;;28879:13;;28792:3;;28901:74;28879:13;28964:1;28955:11;;28948:4;28936:17;;28901:74;:::i;:::-;28995:16;;;;29013:1;28991:24;;28637:384;-1:-1:-1;;;28637:384:310:o;29026:287::-;29155:3;29193:6;29187:13;29209:66;29268:6;29263:3;29256:4;29248:6;29244:17;29209:66;:::i;:::-;29291:16;;;;;29026:287;-1:-1:-1;;29026:287:310:o;29318:245::-;29385:6;29438:2;29426:9;29417:7;29413:23;29409:32;29406:52;;;29454:1;29451;29444:12;29406:52;29486:9;29480:16;29505:28;29527:5;29505:28;:::i;29921:759::-;30302:3;30291:9;30284:22;30265:4;30329:57;30381:3;30370:9;30366:19;30358:6;30329:57;:::i;:::-;30434:9;30426:6;30422:22;30417:2;30406:9;30402:18;30395:50;30468:44;30505:6;30497;30468:44;:::i;:::-;30454:58;;30560:9;30552:6;30548:22;30543:2;30532:9;30528:18;30521:50;30588:43;30624:6;30616;30588:43;:::i;:::-;30580:51;;;30667:6;30662:2;30651:9;30647:18;30640:34;29921:759;;;;;;;:::o;30685:641::-;30955:3;30993:6;30987:13;31009:66;31068:6;31063:3;31056:4;31048:6;31044:17;31009:66;:::i;:::-;-1:-1:-1;;;31097:16:310;;;31122:27;;;31174:13;;31196:79;31174:13;31261:2;31250:14;;31243:4;31231:17;;31196:79;:::i;:::-;31295:20;31317:2;31291:29;;30685:641;-1:-1:-1;;;;30685:641:310:o;31735:442::-;31964:6;31953:9;31946:25;32019:4;32011:6;32007:17;32002:2;31991:9;31987:18;31980:45;32061:6;32056:2;32045:9;32041:18;32034:34;32104:3;32099:2;32088:9;32084:18;32077:31;31927:4;32125:46;32166:3;32155:9;32151:19;32143:6;32125:46;:::i;32182:604::-;32457:6;32446:9;32439:25;32512:4;32504:6;32500:17;32495:2;32484:9;32480:18;32473:45;32554:6;32549:2;32538:9;32534:18;32527:34;32597:3;32592:2;32581:9;32577:18;32570:31;32420:4;32624:46;32665:3;32654:9;32650:19;32642:6;32624:46;:::i;:::-;32719:9;32711:6;32707:22;32701:3;32690:9;32686:19;32679:51;32747:33;32773:6;32765;32747:33;:::i;:::-;32739:41;32182:604;-1:-1:-1;;;;;;;;32182:604:310:o;32791:127::-;32852:10;32847:3;32843:20;32840:1;32833:31;32883:4;32880:1;32873:15;32907:4;32904:1;32897:15;32923:135;32962:3;32983:17;;;32980:43;;33003:18;;:::i;:::-;-1:-1:-1;33050:1:310;33039:13;;32923:135::o;35699:168::-;35772:9;;;35803;;35820:15;;;35814:22;;35800:37;35790:71;;35841:18;;:::i;35872:136::-;35911:3;35939:5;35929:39;;35948:18;;:::i;:::-;-1:-1:-1;;;35984:18:310;;35872:136::o","linkReferences":{},"immutableReferences":{"34893":[{"start":8834,"length":32}],"34895":[{"start":8792,"length":32}],"34897":[{"start":8750,"length":32}],"34899":[{"start":8915,"length":32}],"34901":[{"start":8955,"length":32}],"34904":[{"start":5128,"length":32}],"34907":[{"start":5171,"length":32}]}},"methodIdentifiers":{"BALLOT_TYPEHASH()":"deaaa7cc","CLOCK_MODE()":"4bf5d7e9","COUNTING_MODE()":"dd4e2ba5","EXTENDED_BALLOT_TYPEHASH()":"2fe3e261","IS_TEST()":"fa7626d4","cancel(address[],uint256[],bytes[],bytes32)":"452115d6","castVote(uint256,uint8)":"56781388","castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":"3bccf4fd","castVoteWithReason(uint256,uint8,string)":"7b3c71d3","castVoteWithReasonAndParams(uint256,uint8,string,bytes)":"5f398a14","castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":"03420181","clock()":"91ddadf4","eip712Domain()":"84b0196e","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","execute(address[],uint256[],bytes[],bytes32)":"2656227d","failed()":"ba414fa6","getVotes(address,uint256)":"eb9019d4","getVotesWithParams(address,uint256,bytes)":"9a802a6d","hasVoted(uint256,address)":"43859632","hashProposal(address[],uint256[],bytes[],bytes32)":"c59057e4","name()":"06fdde03","onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":"bc197c81","onERC1155Received(address,address,uint256,uint256,bytes)":"f23a6e61","onERC721Received(address,address,uint256,bytes)":"150b7a02","proposalDeadline(uint256)":"c01f9e37","proposalProposer(uint256)":"143489d0","proposalSnapshot(uint256)":"2d63f693","proposalThreshold()":"b58131b0","propose(address[],uint256[],bytes[],string)":"7d5e81e2","quorum(uint256)":"f8ce560a","relay(address,uint256,bytes)":"c28bc2fa","state(uint256)":"3e4f49e6","supportsInterface(bytes4)":"01ffc9a7","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testInvalidDescriptionForProposer(string,address,address)":"e63c8f41","testValidDescriptionForProposer(string,address,bool)":"e825381c","version()":"54fd4d50","votingDelay()":"3932abb1","votingPeriod()":"02a251a3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Empty\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"string[]\",\"name\":\"signatures\",\"type\":\"string[]\"},{\"indexed\":false,\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voteEnd\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ProposalCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"VoteCast\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"VoteCastWithParams\",\"type\":\"event\"},{\"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\":\"BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"COUNTING_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXTENDED_BALLOT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"cancel\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"}],\"name\":\"castVote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"castVoteWithReason\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"castVoteWithReasonAndParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"support\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"castVoteWithReasonAndParamsBySig\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"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\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"params\",\"type\":\"bytes\"}],\"name\":\"getVotesWithParams\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"hasVoted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes32\",\"name\":\"descriptionHash\",\"type\":\"bytes32\"}],\"name\":\"hashProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalDeadline\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"proposalSnapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proposalThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"targets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes[]\",\"name\":\"calldatas\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"propose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"quorum\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"relay\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"state\",\"outputs\":[{\"internalType\":\"enum IGovernor.ProposalState\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"commitProposer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"actualProposer\",\"type\":\"address\"}],\"name\":\"testInvalidDescriptionForProposer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"includeProposer\",\"type\":\"bool\"}],\"name\":\"testValidDescriptionForProposer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"votingPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"Empty()\":[{\"details\":\"An operation (e.g. {front}) couldn't be completed due to the queue being empty.\"}]},\"events\":{\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"ProposalCanceled(uint256)\":{\"details\":\"Emitted when a proposal is canceled.\"},\"ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],uint256,uint256,string)\":{\"details\":\"Emitted when a proposal is created.\"},\"ProposalExecuted(uint256)\":{\"details\":\"Emitted when a proposal is executed.\"},\"VoteCast(address,uint256,uint8,uint256,string)\":{\"details\":\"Emitted when a vote is cast without params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used.\"},\"VoteCastWithParams(address,uint256,uint8,uint256,string,bytes)\":{\"details\":\"Emitted when a vote is cast with params. Note: `support` values should be seen as buckets. Their interpretation depends on the voting module used. `params` are additional encoded parameters. Their interpepretation also depends on the voting module used.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"See EIP-6372.\"},\"COUNTING_MODE()\":{\"details\":\"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class.\"},\"cancel(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-cancel}.\"},\"castVote(uint256,uint8)\":{\"details\":\"See {IGovernor-castVote}.\"},\"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteBySig}.\"},\"castVoteWithReason(uint256,uint8,string)\":{\"details\":\"See {IGovernor-castVoteWithReason}.\"},\"castVoteWithReasonAndParams(uint256,uint8,string,bytes)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParams}.\"},\"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)\":{\"details\":\"See {IGovernor-castVoteWithReasonAndParamsBySig}.\"},\"clock()\":{\"details\":\"See {IERC6372}\"},\"eip712Domain()\":{\"details\":\"See {EIP-5267}. _Available since v4.9._\"},\"execute(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-execute}.\"},\"getVotes(address,uint256)\":{\"details\":\"See {IGovernor-getVotes}.\"},\"getVotesWithParams(address,uint256,bytes)\":{\"details\":\"See {IGovernor-getVotesWithParams}.\"},\"hashProposal(address[],uint256[],bytes[],bytes32)\":{\"details\":\"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts.\"},\"name()\":{\"details\":\"See {IGovernor-name}.\"},\"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155BatchReceived}.\"},\"onERC1155Received(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155Receiver-onERC1155Received}.\"},\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"See {IERC721Receiver-onERC721Received}.\"},\"proposalDeadline(uint256)\":{\"details\":\"See {IGovernor-proposalDeadline}.\"},\"proposalProposer(uint256)\":{\"details\":\"Returns the account that created a given proposal.\"},\"proposalSnapshot(uint256)\":{\"details\":\"See {IGovernor-proposalSnapshot}.\"},\"proposalThreshold()\":{\"details\":\"Part of the Governor Bravo's interface: _\\\"The number of votes required in order for a voter to become a proposer\\\"_.\"},\"propose(address[],uint256[],bytes[],string)\":{\"details\":\"See {IGovernor-propose}. This function has opt-in frontrunning protection, described in {_isValidDescriptionForProposer}.\"},\"relay(address,uint256,bytes)\":{\"details\":\"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant.\"},\"state(uint256)\":{\"details\":\"See {IGovernor-state}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"version()\":{\"details\":\"See {IGovernor-version}.\"},\"votingDelay()\":{\"details\":\"Delay, between the proposal is created and the vote starts. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. This can be increased to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts.\"},\"votingPeriod()\":{\"details\":\"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"CLOCK_MODE()\":{\"notice\":\"module:core\"},\"COUNTING_MODE()\":{\"notice\":\"module:voting\"},\"clock()\":{\"notice\":\"module:core\"},\"votingDelay()\":{\"notice\":\"module:user-config\"},\"votingPeriod()\":{\"notice\":\"module:user-config\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/test/governance/Governor.t.sol\":\"GovernorInternalTest\"},\"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/governance/Governor.sol\":{\"keccak256\":\"0x471e9425ad9a182c6abdc02bc408ca788b935c31c3bfa3e80b7cb556448ecb8f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60fba870e97eb84b145fff2df01da8dad8e26e2d540c4f7ae22615e8d4511be4\",\"dweb:/ipfs/QmbJegvJ16YAyiVP3J8oFun4zsoPfjj1KEJ6ZtWgJYffyw\"]},\"lib/openzeppelin-contracts/contracts/governance/IGovernor.sol\":{\"keccak256\":\"0x2bca164e61152f22bd4be7f444d40a46f7b13aa3b7b7fd6b45aa2d869e72f6d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ed8cf61b5ec618f839ca35fd2d614aa83f252930dcc1c9fdf6259d6e381644d\",\"dweb:/ipfs/QmSjHjCsr9aSudtFJWZ1Pj76FVzUEEpwmFBGnxoRftVN7g\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb\",\"dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc\",\"dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6\",\"dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E\"]},\"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516\",\"dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da\",\"dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a\",\"dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278\",\"dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol\":{\"keccak256\":\"0xb5fbb623dec53bb9b6c1b738b4ab6540a04ac5dc2ac94d95fa3ebfd22898559c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a6e7f26c0c688a987c19c8b0997c7e47c33f7717b6293a487afe8429d95b8e7\",\"dweb:/ipfs/QmVrmXcQ7KLM5fw4PWeJ8j4nnmfHkjpFPariMMh5UvsEVD\"]},\"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/test/governance/Governor.t.sol\":{\"keccak256\":\"0x36ffc5312fbb38f380a467b0ca1d64eabd58b617317fa6601732fbaf422442c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a3e6ef99bc4686e157c7245feadeedf1bd5fb9bde5a88d726094ccb91602de0\",\"dweb:/ipfs/QmQRUJXZtepuRm8DB85xfBFqs2Pa679ZEfLfHgidYUP5Vo\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.20+commit.a1b79de6"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"Empty"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalCanceled","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"address","name":"proposer","type":"address","indexed":false},{"internalType":"address[]","name":"targets","type":"address[]","indexed":false},{"internalType":"uint256[]","name":"values","type":"uint256[]","indexed":false},{"internalType":"string[]","name":"signatures","type":"string[]","indexed":false},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]","indexed":false},{"internalType":"uint256","name":"voteStart","type":"uint256","indexed":false},{"internalType":"uint256","name":"voteEnd","type":"uint256","indexed":false},{"internalType":"string","name":"description","type":"string","indexed":false}],"type":"event","name":"ProposalCreated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false}],"type":"event","name":"ProposalExecuted","anonymous":false},{"inputs":[{"internalType":"address","name":"voter","type":"address","indexed":true},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint8","name":"support","type":"uint8","indexed":false},{"internalType":"uint256","name":"weight","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false}],"type":"event","name":"VoteCast","anonymous":false},{"inputs":[{"internalType":"address","name":"voter","type":"address","indexed":true},{"internalType":"uint256","name":"proposalId","type":"uint256","indexed":false},{"internalType":"uint8","name":"support","type":"uint8","indexed":false},{"internalType":"uint256","name":"weight","type":"uint256","indexed":false},{"internalType":"string","name":"reason","type":"string","indexed":false},{"internalType":"bytes","name":"params","type":"bytes","indexed":false}],"type":"event","name":"VoteCastWithParams","anonymous":false},{"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":"BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"COUNTING_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EXTENDED_BALLOT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"cancel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"castVote","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"castVoteBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReason","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReasonAndParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"},{"internalType":"uint8","name":"support","type":"uint8"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"params","type":"bytes"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"castVoteWithReasonAndParamsBySig","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"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":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"payable","type":"function","name":"execute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"bytes","name":"params","type":"bytes"}],"stateMutability":"view","type":"function","name":"getVotesWithParams","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"stateMutability":"pure","type":"function","name":"hasVoted","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"bytes32","name":"descriptionHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"hashProposal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"proposalSnapshot","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proposalThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address[]","name":"targets","type":"address[]"},{"internalType":"uint256[]","name":"values","type":"uint256[]"},{"internalType":"bytes[]","name":"calldatas","type":"bytes[]"},{"internalType":"string","name":"description","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"propose","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function","name":"quorum","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"relay"},{"inputs":[{"internalType":"uint256","name":"proposalId","type":"uint256"}],"stateMutability":"view","type":"function","name":"state","outputs":[{"internalType":"enum IGovernor.ProposalState","name":"","type":"uint8"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","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":"string","name":"description","type":"string"},{"internalType":"address","name":"commitProposer","type":"address"},{"internalType":"address","name":"actualProposer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"testInvalidDescriptionForProposer"},{"inputs":[{"internalType":"string","name":"description","type":"string"},{"internalType":"address","name":"proposer","type":"address"},{"internalType":"bool","name":"includeProposer","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"testValidDescriptionForProposer"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"votingDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"votingPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"See EIP-6372."},"COUNTING_MODE()":{"details":"A description of the possible `support` values for {castVote} and the way these votes are counted, meant to be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. There are 2 standard keys: `support` and `quorum`. - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - `quorum=bravo` means that only For votes are counted towards quorum. - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. If a counting module makes use of encoded `params`, it should include this under a `params` key with a unique name that describes the behavior. For example: - `params=fractional` might refer to a scheme where votes are divided fractionally between for/against/abstain. - `params=erc721` might refer to a scheme where specific NFTs are delegated to vote. NOTE: The string can be decoded by the standard https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] JavaScript class."},"cancel(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-cancel}."},"castVote(uint256,uint8)":{"details":"See {IGovernor-castVote}."},"castVoteBySig(uint256,uint8,uint8,bytes32,bytes32)":{"details":"See {IGovernor-castVoteBySig}."},"castVoteWithReason(uint256,uint8,string)":{"details":"See {IGovernor-castVoteWithReason}."},"castVoteWithReasonAndParams(uint256,uint8,string,bytes)":{"details":"See {IGovernor-castVoteWithReasonAndParams}."},"castVoteWithReasonAndParamsBySig(uint256,uint8,string,bytes,uint8,bytes32,bytes32)":{"details":"See {IGovernor-castVoteWithReasonAndParamsBySig}."},"clock()":{"details":"See {IERC6372}"},"eip712Domain()":{"details":"See {EIP-5267}. _Available since v4.9._"},"execute(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-execute}."},"getVotes(address,uint256)":{"details":"See {IGovernor-getVotes}."},"getVotesWithParams(address,uint256,bytes)":{"details":"See {IGovernor-getVotesWithParams}."},"hashProposal(address[],uint256[],bytes[],bytes32)":{"details":"See {IGovernor-hashProposal}. The proposal id is produced by hashing the ABI encoded `targets` array, the `values` array, the `calldatas` array and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in advance, before the proposal is submitted. Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the same proposal (with same operation and same description) will have the same id if submitted on multiple governors across multiple networks. This also means that in order to execute the same operation twice (on the same governor) the proposer will have to change the description in order to avoid proposal id conflicts."},"name()":{"details":"See {IGovernor-name}."},"onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)":{"details":"See {IERC1155Receiver-onERC1155BatchReceived}."},"onERC1155Received(address,address,uint256,uint256,bytes)":{"details":"See {IERC1155Receiver-onERC1155Received}."},"onERC721Received(address,address,uint256,bytes)":{"details":"See {IERC721Receiver-onERC721Received}."},"proposalDeadline(uint256)":{"details":"See {IGovernor-proposalDeadline}."},"proposalProposer(uint256)":{"details":"Returns the account that created a given proposal."},"proposalSnapshot(uint256)":{"details":"See {IGovernor-proposalSnapshot}."},"proposalThreshold()":{"details":"Part of the Governor Bravo's interface: _\"The number of votes required in order for a voter to become a proposer\"_."},"propose(address[],uint256[],bytes[],string)":{"details":"See {IGovernor-propose}. This function has opt-in frontrunning protection, described in {_isValidDescriptionForProposer}."},"relay(address,uint256,bytes)":{"details":"Relays a transaction or function call to an arbitrary target. In cases where the governance executor is some contract other than the governor itself, like when using a timelock, this function can be invoked in a governance proposal to recover tokens or Ether that was sent to the governor contract by mistake. Note that if the executor is simply the governor itself, use of `relay` is redundant."},"state(uint256)":{"details":"See {IGovernor-state}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"version()":{"details":"See {IGovernor-version}."},"votingDelay()":{"details":"Delay, between the proposal is created and the vote starts. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. This can be increased to leave time for users to buy voting power, or delegate it, before the voting of a proposal starts."},"votingPeriod()":{"details":"Delay between the vote start and vote end. The unit this duration is expressed in depends on the clock (see EIP-6372) this contract uses. NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting duration compared to the voting delay."}},"version":1},"userdoc":{"kind":"user","methods":{"CLOCK_MODE()":{"notice":"module:core"},"COUNTING_MODE()":{"notice":"module:voting"},"clock()":{"notice":"module:core"},"votingDelay()":{"notice":"module:user-config"},"votingPeriod()":{"notice":"module:user-config"}},"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/test/governance/Governor.t.sol":"GovernorInternalTest"},"evmVersion":"shanghai","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/governance/Governor.sol":{"keccak256":"0x471e9425ad9a182c6abdc02bc408ca788b935c31c3bfa3e80b7cb556448ecb8f","urls":["bzz-raw://60fba870e97eb84b145fff2df01da8dad8e26e2d540c4f7ae22615e8d4511be4","dweb:/ipfs/QmbJegvJ16YAyiVP3J8oFun4zsoPfjj1KEJ6ZtWgJYffyw"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/IGovernor.sol":{"keccak256":"0x2bca164e61152f22bd4be7f444d40a46f7b13aa3b7b7fd6b45aa2d869e72f6d7","urls":["bzz-raw://5ed8cf61b5ec618f839ca35fd2d614aa83f252930dcc1c9fdf6259d6e381644d","dweb:/ipfs/QmSjHjCsr9aSudtFJWZ1Pj76FVzUEEpwmFBGnxoRftVN7g"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xd04b0f06e0666f29cf7cccc82894de541e19bb30a765b107b1e40bb7fe5f7d7a","urls":["bzz-raw://7b652499d098e88d8d878374616bb58434301061cae2253298b3f374044e0ddb","dweb:/ipfs/QmbhAzctqo5jrSKU6idHdVyqfmzCcDbNUPvmx4GiXxfA6q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0xac6c2efc64baccbde4904ae18ed45139c9aa8cff96d6888344d1e4d2eb8b659f","urls":["bzz-raw://6e416a280c610b6b7a5f158e4a41aacfaec01ef14d5d1de13b46be9e090265fc","dweb:/ipfs/QmYZP2KrdyccBbhLZT42auhvBTMkwiwUS3V6HWb42rbwbG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xcaea9aeda3816ba872358c828f4f01455c22ae48ced49c4c7d72bd74176c09b9","urls":["bzz-raw://16ff22d8df5aee94510ee43d361b6147caef164941a684cedcb75be44f351fe6","dweb:/ipfs/QmaCCwMdHVdPApuEJHLZapSJyA7mp5dAugpma3VUzWGd8E"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"keccak256":"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b","urls":["bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec","dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC721/IERC721Receiver.sol":{"keccak256":"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da","urls":["bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708","dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa","urls":["bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931","dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0xc0e310c163edf15db45d4ff938113ab357f94fa86e61ea8e790853c4d2e13256","urls":["bzz-raw://04db5bc05dcb05ba1f6ca2dfbead17adc8a2e2f911aa80b05e7a36d9eaf96516","dweb:/ipfs/QmVkfHZbXVBUPsTopueCn3qGJX8aEjahFF3Fn4NcygLNm5"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xf09e68aa0dc6722a25bc46490e8d48ed864466d17313b8a0b254c36b54e49899","urls":["bzz-raw://e26daf81e2252dc1fe1ce0e4b55c2eb7c6d1ee84ae6558d1a9554432ea1d32da","dweb:/ipfs/Qmb1UANWiWq5pCKbmHSu772hd4nt374dVaghGmwSVNuk8Q"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x8432884527a7ad91e6eed1cfc5a0811ae2073e5bca107bd0ca442e9236b03dbd","urls":["bzz-raw://e3aa0eadab7aafcf91a95684765f778f64386f0368de88522ce873c21385278a","dweb:/ipfs/QmPfaVAqWgH1QsT3dHVuL6jwMZbVKdoP8w1PvpiPT2FPWd"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b","urls":["bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d","dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1","urls":["bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f","dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x52a8cfb0f5239d11b457dcdd1b326992ef672714ca8da71a157255bddd13f3ad","urls":["bzz-raw://495145362c7ff1c9ca88c58bbbbcb412e3c2004406647412394486552ff6c278","dweb:/ipfs/QmNNCeng6d5eRPDn6tkWSQhjE39XWfQEfjA63rRwHmr1iH"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/DoubleEndedQueue.sol":{"keccak256":"0xb5fbb623dec53bb9b6c1b738b4ab6540a04ac5dc2ac94d95fa3ebfd22898559c","urls":["bzz-raw://4a6e7f26c0c688a987c19c8b0997c7e47c33f7717b6293a487afe8429d95b8e7","dweb:/ipfs/QmVrmXcQ7KLM5fw4PWeJ8j4nnmfHkjpFPariMMh5UvsEVD"],"license":"MIT"},"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/test/governance/Governor.t.sol":{"keccak256":"0x36ffc5312fbb38f380a467b0ca1d64eabd58b617317fa6601732fbaf422442c8","urls":["bzz-raw://5a3e6ef99bc4686e157c7245feadeedf1bd5fb9bde5a88d726094ccb91602de0","dweb:/ipfs/QmQRUJXZtepuRm8DB85xfBFqs2Pa679ZEfLfHgidYUP5Vo"],"license":"MIT"}},"version":1},"id":304}
|