@aztec-foundation/l1-artifacts 6.0.0-rc.1 → 6.0.0-rc.4
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/dest/AttesterExitExtLibAbi.d.ts +12 -48
- package/dest/AttesterExitExtLibAbi.d.ts.map +1 -1
- package/dest/AttesterExitExtLibAbi.js +16 -64
- package/dest/AttesterExitExtLibAbi.js.map +1 -1
- package/dest/AttesterExitExtLibBytecode.d.ts +1 -1
- package/dest/AttesterExitExtLibBytecode.js +1 -1
- package/dest/CoinIssuerAbi.d.ts +12 -48
- package/dest/CoinIssuerAbi.d.ts.map +1 -1
- package/dest/CoinIssuerAbi.js +16 -64
- package/dest/CoinIssuerAbi.js.map +1 -1
- package/dest/DateGatedRelayerAbi.d.ts +12 -48
- package/dest/DateGatedRelayerAbi.d.ts.map +1 -1
- package/dest/DateGatedRelayerAbi.js +16 -64
- package/dest/DateGatedRelayerAbi.js.map +1 -1
- package/dest/EmpireBaseAbi.d.ts +12 -48
- package/dest/EmpireBaseAbi.d.ts.map +1 -1
- package/dest/EmpireBaseAbi.js +16 -64
- package/dest/EmpireBaseAbi.js.map +1 -1
- package/dest/EpochProofExtLibAbi.d.ts +12 -48
- package/dest/EpochProofExtLibAbi.d.ts.map +1 -1
- package/dest/EpochProofExtLibAbi.js +16 -64
- package/dest/EpochProofExtLibAbi.js.map +1 -1
- package/dest/EpochProofExtLibBytecode.d.ts +1 -1
- package/dest/EpochProofExtLibBytecode.d.ts.map +1 -1
- package/dest/EpochProofExtLibBytecode.js +1 -1
- package/dest/EpochProofExtLibBytecode.js.map +1 -1
- package/dest/ErrorsAbi.d.ts +12 -48
- package/dest/ErrorsAbi.d.ts.map +1 -1
- package/dest/ErrorsAbi.js +16 -64
- package/dest/ErrorsAbi.js.map +1 -1
- package/dest/EscapeHatchAbi.d.ts +12 -48
- package/dest/EscapeHatchAbi.d.ts.map +1 -1
- package/dest/EscapeHatchAbi.js +16 -64
- package/dest/EscapeHatchAbi.js.map +1 -1
- package/dest/EscapeHatchBytecode.d.ts +1 -1
- package/dest/EscapeHatchBytecode.js +1 -1
- package/dest/EscapeHatchStorage.d.ts +2 -2
- package/dest/EscapeHatchStorage.js +2 -2
- package/dest/FeeAssetHandlerAbi.d.ts +12 -48
- package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
- package/dest/FeeAssetHandlerAbi.js +16 -64
- package/dest/FeeAssetHandlerAbi.js.map +1 -1
- package/dest/FeeJuicePortalAbi.d.ts +12 -48
- package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
- package/dest/FeeJuicePortalAbi.js +16 -64
- package/dest/FeeJuicePortalAbi.js.map +1 -1
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/GSEAbi.d.ts +12 -48
- package/dest/GSEAbi.d.ts.map +1 -1
- package/dest/GSEAbi.js +16 -64
- package/dest/GSEAbi.js.map +1 -1
- package/dest/GovernanceAbi.d.ts +12 -48
- package/dest/GovernanceAbi.d.ts.map +1 -1
- package/dest/GovernanceAbi.js +16 -64
- package/dest/GovernanceAbi.js.map +1 -1
- package/dest/GovernanceProposerAbi.d.ts +12 -48
- package/dest/GovernanceProposerAbi.d.ts.map +1 -1
- package/dest/GovernanceProposerAbi.js +16 -64
- package/dest/GovernanceProposerAbi.js.map +1 -1
- package/dest/HonkVerifierAbi.d.ts +12 -48
- package/dest/HonkVerifierAbi.d.ts.map +1 -1
- package/dest/HonkVerifierAbi.js +16 -64
- package/dest/HonkVerifierAbi.js.map +1 -1
- package/dest/IERC20Abi.d.ts +12 -48
- package/dest/IERC20Abi.d.ts.map +1 -1
- package/dest/IERC20Abi.js +16 -64
- package/dest/IERC20Abi.js.map +1 -1
- package/dest/ISequencerRewardCalculatorAbi.d.ts +2607 -0
- package/dest/ISequencerRewardCalculatorAbi.d.ts.map +1 -0
- package/dest/ISequencerRewardCalculatorAbi.js +3473 -0
- package/dest/ISequencerRewardCalculatorAbi.js.map +1 -0
- package/dest/ISequencerRewardCalculatorBytecode.d.ts +9 -0
- package/dest/ISequencerRewardCalculatorBytecode.d.ts.map +1 -0
- package/dest/ISequencerRewardCalculatorBytecode.js +9 -0
- package/dest/ISequencerRewardCalculatorBytecode.js.map +1 -0
- package/dest/IVerifierAbi.d.ts +12 -48
- package/dest/IVerifierAbi.d.ts.map +1 -1
- package/dest/IVerifierAbi.js +16 -64
- package/dest/IVerifierAbi.js.map +1 -1
- package/dest/InboxAbi.d.ts +12 -48
- package/dest/InboxAbi.d.ts.map +1 -1
- package/dest/InboxAbi.js +16 -64
- package/dest/InboxAbi.js.map +1 -1
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MockVerifierAbi.d.ts +12 -48
- package/dest/MockVerifierAbi.d.ts.map +1 -1
- package/dest/MockVerifierAbi.js +16 -64
- package/dest/MockVerifierAbi.js.map +1 -1
- package/dest/MockZKPassportVerifierAbi.d.ts +12 -48
- package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
- package/dest/MockZKPassportVerifierAbi.js +16 -64
- package/dest/MockZKPassportVerifierAbi.js.map +1 -1
- package/dest/MultiAdderAbi.d.ts +12 -48
- package/dest/MultiAdderAbi.d.ts.map +1 -1
- package/dest/MultiAdderAbi.js +16 -64
- package/dest/MultiAdderAbi.js.map +1 -1
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.d.ts +12 -48
- package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.js +16 -64
- package/dest/NewGovernanceProposerPayloadAbi.js.map +1 -1
- package/dest/OutboxAbi.d.ts +12 -48
- package/dest/OutboxAbi.d.ts.map +1 -1
- package/dest/OutboxAbi.js +16 -64
- package/dest/OutboxAbi.js.map +1 -1
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +12 -48
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.js +16 -64
- package/dest/RegisterNewRollupVersionPayloadAbi.js.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RegistryAbi.d.ts +12 -48
- package/dest/RegistryAbi.d.ts.map +1 -1
- package/dest/RegistryAbi.js +16 -64
- package/dest/RegistryAbi.js.map +1 -1
- package/dest/RewardDistributorAbi.d.ts +12 -48
- package/dest/RewardDistributorAbi.d.ts.map +1 -1
- package/dest/RewardDistributorAbi.js +16 -64
- package/dest/RewardDistributorAbi.js.map +1 -1
- package/dest/RewardExtLibAbi.d.ts +59 -48
- package/dest/RewardExtLibAbi.d.ts.map +1 -1
- package/dest/RewardExtLibAbi.js +77 -64
- package/dest/RewardExtLibAbi.js.map +1 -1
- package/dest/RewardExtLibBytecode.d.ts +1 -1
- package/dest/RewardExtLibBytecode.d.ts.map +1 -1
- package/dest/RewardExtLibBytecode.js +1 -1
- package/dest/RewardExtLibBytecode.js.map +1 -1
- package/dest/RollupAbi.d.ts +72 -79
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +93 -104
- package/dest/RollupAbi.js.map +1 -1
- package/dest/RollupBytecode.d.ts +91 -82
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +94 -82
- package/dest/RollupBytecode.js.map +1 -1
- package/dest/RollupOperationsExtLibAbi.d.ts +12 -48
- package/dest/RollupOperationsExtLibAbi.d.ts.map +1 -1
- package/dest/RollupOperationsExtLibAbi.js +16 -64
- package/dest/RollupOperationsExtLibAbi.js.map +1 -1
- package/dest/RollupOperationsExtLibBytecode.d.ts +1 -1
- package/dest/RollupOperationsExtLibBytecode.d.ts.map +1 -1
- package/dest/RollupOperationsExtLibBytecode.js +1 -1
- package/dest/RollupOperationsExtLibBytecode.js.map +1 -1
- package/dest/RollupStorage.d.ts +2 -2
- package/dest/RollupStorage.js +2 -2
- package/dest/SlasherAbi.d.ts +12 -48
- package/dest/SlasherAbi.d.ts.map +1 -1
- package/dest/SlasherAbi.js +16 -64
- package/dest/SlasherAbi.js.map +1 -1
- package/dest/SlasherDeploymentExtLibAbi.d.ts +12 -48
- package/dest/SlasherDeploymentExtLibAbi.d.ts.map +1 -1
- package/dest/SlasherDeploymentExtLibAbi.js +16 -64
- package/dest/SlasherDeploymentExtLibAbi.js.map +1 -1
- package/dest/SlasherDeploymentExtLibBytecode.d.ts +1 -1
- package/dest/SlasherDeploymentExtLibBytecode.d.ts.map +1 -1
- package/dest/SlasherDeploymentExtLibBytecode.js +1 -1
- package/dest/SlasherDeploymentExtLibBytecode.js.map +1 -1
- package/dest/SlashingProposerAbi.d.ts +12 -48
- package/dest/SlashingProposerAbi.d.ts.map +1 -1
- package/dest/SlashingProposerAbi.js +16 -64
- package/dest/SlashingProposerAbi.js.map +1 -1
- package/dest/SlashingProposerBytecode.d.ts +1 -1
- package/dest/SlashingProposerBytecode.js +1 -1
- package/dest/StakingAssetHandlerAbi.d.ts +12 -48
- package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
- package/dest/StakingAssetHandlerAbi.js +16 -64
- package/dest/StakingAssetHandlerAbi.js.map +1 -1
- package/dest/TestERC20Abi.d.ts +12 -48
- package/dest/TestERC20Abi.d.ts.map +1 -1
- package/dest/TestERC20Abi.js +16 -64
- package/dest/TestERC20Abi.js.map +1 -1
- package/dest/TokenPortalAbi.d.ts +12 -48
- package/dest/TokenPortalAbi.d.ts.map +1 -1
- package/dest/TokenPortalAbi.js +16 -64
- package/dest/TokenPortalAbi.js.map +1 -1
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalAbi.d.ts +12 -48
- package/dest/UniswapPortalAbi.d.ts.map +1 -1
- package/dest/UniswapPortalAbi.js +16 -64
- package/dest/UniswapPortalAbi.js.map +1 -1
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorOperationsExtLibAbi.d.ts +12 -48
- package/dest/ValidatorOperationsExtLibAbi.d.ts.map +1 -1
- package/dest/ValidatorOperationsExtLibAbi.js +16 -64
- package/dest/ValidatorOperationsExtLibAbi.js.map +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.d.ts +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.d.ts.map +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.js +1 -1
- package/dest/ValidatorOperationsExtLibBytecode.js.map +1 -1
- package/dest/ValidatorSelectionLibAbi.d.ts +12 -48
- package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibAbi.js +16 -64
- package/dest/ValidatorSelectionLibAbi.js.map +1 -1
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/dest/checksum.d.ts +1 -1
- package/dest/checksum.js +1 -1
- package/dest/index.d.ts +2 -0
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -0
- package/dest/index.js.map +1 -1
- package/l1-contracts/cache/solidity-files-cache.json +1 -1
- package/l1-contracts/foundry.toml +1 -1
- package/l1-contracts/out/AddressSnapshotLib.sol/AddressSnapshotLib.json +1 -1
- package/l1-contracts/out/AttestationLib.sol/AttestationLib.json +1 -1
- package/l1-contracts/out/AttesterExitExtLib.sol/AttesterExitExtLib.json +1 -1
- package/l1-contracts/out/BN254Lib.sol/BN254Lib.json +1 -1
- package/l1-contracts/out/Ballot.sol/BallotLib.json +1 -1
- package/l1-contracts/out/BlobLib.sol/BlobLib.json +1 -1
- package/l1-contracts/out/Bn254LibWrapper.sol/Bn254LibWrapper.json +1 -1
- package/l1-contracts/out/CheckpointLog.sol/CompressedTempCheckpointLogLib.json +1 -1
- package/l1-contracts/out/CheckpointedUintLib.sol/CheckpointedUintLib.json +1 -1
- package/l1-contracts/out/CoinIssuer.sol/CoinIssuer.json +1 -1
- package/l1-contracts/out/CompressedTimeMath.sol/CompressedTimeMath.json +1 -1
- package/l1-contracts/out/Configuration.sol/CompressedConfigurationLib.json +1 -1
- package/l1-contracts/out/ConfigurationLib.sol/ConfigurationLib.json +1 -1
- package/l1-contracts/out/ConstantsGen.sol/Constants.json +1 -1
- package/l1-contracts/out/CoordinationSignatureLib.sol/CoordinationSignatureLib.json +1 -1
- package/l1-contracts/out/DataStructures.sol/DataStructures.json +1 -1
- package/l1-contracts/out/DateGatedRelayer.sol/DateGatedRelayer.json +1 -1
- package/l1-contracts/out/DeployAztecL1Contracts.s.sol/DeployAztecL1Contracts.json +1 -1
- package/l1-contracts/out/DeployRollupForUpgrade.s.sol/DeployRollupForUpgrade.json +1 -1
- package/l1-contracts/out/DeployRollupLib.sol/DeployRollupLib.json +1 -1
- package/l1-contracts/out/DeploymentConfiguration.sol/DeploymentConfiguration.json +1 -1
- package/l1-contracts/out/DeploymentConfiguration.sol/IDeploymentConfiguration.json +1 -1
- package/l1-contracts/out/DepositDelegationLib.sol/DepositDelegationLib.json +1 -1
- package/l1-contracts/out/EmpireBase.sol/EmpireBase.json +1 -1
- package/l1-contracts/out/EpochProofExtLib.sol/EpochProofExtLib.json +1 -1
- package/l1-contracts/out/EpochProofLib.sol/EpochProofLib.json +1 -1
- package/l1-contracts/out/Errors.sol/Errors.json +1 -1
- package/l1-contracts/out/EscapeHatch.sol/EscapeHatch.json +1 -1
- package/l1-contracts/out/FeeAssetHandler.sol/FeeAssetHandler.json +1 -1
- package/l1-contracts/out/FeeAssetHandler.sol/IFeeAssetHandler.json +1 -1
- package/l1-contracts/out/FeeConfig.sol/FeeConfigLib.json +1 -1
- package/l1-contracts/out/FeeConfig.sol/PriceLib.json +1 -1
- package/l1-contracts/out/FeeJuicePortal.sol/FeeJuicePortal.json +1 -1
- package/l1-contracts/out/FeeLib.sol/FeeLib.json +1 -1
- package/l1-contracts/out/FeeStructs.sol/FeeHeaderLib.json +1 -1
- package/l1-contracts/out/FeeStructs.sol/FeeStructsLib.json +1 -1
- package/l1-contracts/out/FieldLib.sol/FieldLib.json +1 -1
- package/l1-contracts/out/FlushRewarder.sol/FlushRewarder.json +1 -1
- package/l1-contracts/out/GSE.sol/GSE.json +1 -1
- package/l1-contracts/out/GSE.sol/GSECore.json +1 -1
- package/l1-contracts/out/GSE.sol/IGSE.json +1 -1
- package/l1-contracts/out/GSE.sol/IGSECore.json +1 -1
- package/l1-contracts/out/GSEPayload.sol/GSEPayload.json +1 -1
- package/l1-contracts/out/Governance.sol/Governance.json +1 -1
- package/l1-contracts/out/GovernanceProposer.sol/GovernanceProposer.json +1 -1
- package/l1-contracts/out/Hash.sol/Hash.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/HonkVerifier.json +1 -1
- package/l1-contracts/out/IBn254LibWrapper.sol/IBn254LibWrapper.json +1 -1
- package/l1-contracts/out/ICoinIssuer.sol/ICoinIssuer.json +1 -1
- package/l1-contracts/out/IDateGatedRelayer.sol/IDateGatedRelayer.json +1 -1
- package/l1-contracts/out/IEmpire.sol/IEmperor.json +1 -1
- package/l1-contracts/out/IEmpire.sol/IEmpire.json +1 -1
- package/l1-contracts/out/IFeeJuicePortal.sol/IFeeJuicePortal.json +1 -1
- package/l1-contracts/out/IFlushRewarder.sol/IFlushRewarder.json +1 -1
- package/l1-contracts/out/IGovernance.sol/IGovernance.json +1 -1
- package/l1-contracts/out/IGovernanceProposer.sol/IGovernanceProposer.json +1 -1
- package/l1-contracts/out/IInbox.sol/IInbox.json +1 -1
- package/l1-contracts/out/IInstance.sol/IInstance.json +1 -1
- package/l1-contracts/out/IMintableERC20.sol/IMintableERC20.json +1 -1
- package/l1-contracts/out/IOutbox.sol/IOutbox.json +1 -1
- package/l1-contracts/out/IPayload.sol/IPayload.json +1 -1
- package/l1-contracts/out/IProposerPayload.sol/IProposerPayload.json +1 -1
- package/l1-contracts/out/IRegistry.sol/IHaveVersion.json +1 -1
- package/l1-contracts/out/IRegistry.sol/IRegistry.json +1 -1
- package/l1-contracts/out/IRewardDistributor.sol/IRewardDistributor.json +1 -1
- package/l1-contracts/out/IRollup.sol/IRollup.json +1 -1
- package/l1-contracts/out/IRollup.sol/IRollupCore.json +1 -1
- package/l1-contracts/out/IRootRegistry.sol/IRootRegistry.json +1 -1
- package/l1-contracts/out/ISequencerRewardCalculator.sol/ISequencerRewardCalculator.json +1 -0
- package/l1-contracts/out/ISlasher.sol/ISlasher.json +1 -1
- package/l1-contracts/out/IStaking.sol/IStaking.json +1 -1
- package/l1-contracts/out/IStaking.sol/IStakingCore.json +1 -1
- package/l1-contracts/out/IValidatorSelection.sol/IValidatorSelection.json +1 -1
- package/l1-contracts/out/IValidatorSelection.sol/IValidatorSelectionCore.json +1 -1
- package/l1-contracts/out/IVerifier.sol/IVerifier.json +1 -1
- package/l1-contracts/out/Inbox.sol/Inbox.json +1 -1
- package/l1-contracts/out/InputsExtractor.sol/InputsExtractor.json +1 -1
- package/l1-contracts/out/InvalidateLib.sol/InvalidateLib.json +1 -1
- package/l1-contracts/out/MerkleLib.sol/MerkleLib.json +1 -1
- package/l1-contracts/out/MockERC20.sol/MockERC20.json +1 -1
- package/l1-contracts/out/MockERC721.sol/MockERC721.json +1 -1
- package/l1-contracts/out/MockFeeJuicePortal.sol/MockFeeJuicePortal.json +1 -1
- package/l1-contracts/out/MockVerifier.sol/MockVerifier.json +1 -1
- package/l1-contracts/out/MockZKPassportVerifier.sol/IZKPassportVerifier.json +1 -1
- package/l1-contracts/out/MockZKPassportVerifier.sol/MockZKPassportVerifier.json +1 -1
- package/l1-contracts/out/MultiAdder.sol/IMultiAdder.json +1 -1
- package/l1-contracts/out/MultiAdder.sol/MultiAdder.json +1 -1
- package/l1-contracts/out/Outbox.sol/Outbox.json +1 -1
- package/l1-contracts/out/OuterCount8.sol/HonkVerifier.json +1 -1
- package/l1-contracts/out/Proposal.sol/CompressedProposalLib.json +1 -1
- package/l1-contracts/out/ProposalLib.sol/ProposalLib.json +1 -1
- package/l1-contracts/out/ProposeLib.sol/ProposeLib.json +1 -1
- package/l1-contracts/out/ProposedHeaderLib.sol/ProposedHeaderLib.json +1 -1
- package/l1-contracts/out/RegisterNewRollupVersionPayload.sol/RegisterNewRollupVersionPayload.json +1 -1
- package/l1-contracts/out/Registry.sol/Registry.json +1 -1
- package/l1-contracts/out/RewardBooster.sol/IBooster.json +1 -1
- package/l1-contracts/out/RewardBooster.sol/IBoosterCore.json +1 -1
- package/l1-contracts/out/RewardBooster.sol/RewardBooster.json +1 -1
- package/l1-contracts/out/RewardDistributor.sol/RewardDistributor.json +1 -1
- package/l1-contracts/out/RewardExtLib.sol/RewardExtLib.json +1 -1
- package/l1-contracts/out/RewardLib.sol/BpsLib.json +1 -1
- package/l1-contracts/out/RewardLib.sol/RewardLib.json +1 -1
- package/l1-contracts/out/Rollup.sol/Rollup.json +1 -1
- package/l1-contracts/out/RollupConfiguration.sol/IRollupConfiguration.json +1 -1
- package/l1-contracts/out/RollupConfiguration.sol/RollupConfiguration.json +1 -1
- package/l1-contracts/out/RollupCore.sol/RollupCore.json +1 -1
- package/l1-contracts/out/RollupOperationsExtLib.sol/RollupOperationsExtLib.json +1 -1
- package/l1-contracts/out/STFLib.sol/STFLib.json +1 -1
- package/l1-contracts/out/SampleLib.sol/SampleLib.json +1 -1
- package/l1-contracts/out/SequencerRewardCalculatorLib.sol/SequencerRewardCalculatorLib.json +1 -0
- package/l1-contracts/out/SignatureLib.sol/SignatureLib.json +1 -1
- package/l1-contracts/out/SlashPayload.sol/SlashPayload.json +1 -1
- package/l1-contracts/out/SlashPayloadCloneable.sol/SlashPayloadCloneable.json +1 -1
- package/l1-contracts/out/SlashPayloadLib.sol/SlashPayloadLib.json +1 -1
- package/l1-contracts/out/SlashRoundLib.sol/CompressedSlashRoundMath.json +1 -1
- package/l1-contracts/out/Slasher.sol/Slasher.json +1 -1
- package/l1-contracts/out/SlasherDeploymentExtLib.sol/SlasherDeploymentExtLib.json +1 -1
- package/l1-contracts/out/SlashingProposer.sol/SlashingProposer.json +1 -1
- package/l1-contracts/out/StakingAssetHandler.sol/IStakingAssetHandler.json +1 -1
- package/l1-contracts/out/StakingAssetHandler.sol/StakingAssetHandler.json +1 -1
- package/l1-contracts/out/StakingLib.sol/StakingLib.json +1 -1
- package/l1-contracts/out/StakingQueue.sol/StakingQueueLib.json +1 -1
- package/l1-contracts/out/StakingQueueConfig.sol/StakingQueueConfigLib.json +1 -1
- package/l1-contracts/out/StdError.sol/stdError.json +1 -1
- package/l1-contracts/out/TestERC20.sol/TestERC20.json +1 -1
- package/l1-contracts/out/TestPayloads.sol/CallAssetPayload.json +1 -1
- package/l1-contracts/out/TestPayloads.sol/CallRevertingPayload.json +1 -1
- package/l1-contracts/out/TestPayloads.sol/EmptyPayload.json +1 -1
- package/l1-contracts/out/TestPayloads.sol/FakeRollup.json +1 -1
- package/l1-contracts/out/TestPayloads.sol/RevertingCall.json +1 -1
- package/l1-contracts/out/TestPayloads.sol/UpgradePayload.json +1 -1
- package/l1-contracts/out/TimeLib.sol/TimeLib.json +1 -1
- package/l1-contracts/out/Tips.sol/ChainTipsLib.json +1 -1
- package/l1-contracts/out/ValidatorOperationsExtLib.sol/ValidatorOperationsExtLib.json +1 -1
- package/l1-contracts/out/ValidatorSelectionLib.sol/ValidatorSelectionLib.json +1 -1
- package/l1-contracts/out/ZKPassportHelper.sol/ZKPassportHelper.json +1 -1
- package/l1-contracts/out/ZKPassportRootVerifier.sol/ZKPassportRootVerifier.json +1 -1
- package/l1-contracts/out/ZKPassportSubVerifier.sol/ZKPassportSubVerifier.json +1 -1
- package/l1-contracts/out/build-info/4cb7b5442b848dcc.json +1 -0
- package/l1-contracts/out/generated/HonkVerifier.sol/HonkVerifier.json +1 -1
- package/l1-contracts/out/libraries/Errors.sol/Errors.json +1 -1
- package/l1-contracts/out/rollup/BlobLib.sol/BlobLib.json +1 -1
- package/l1-contracts/out/src/ZKPassportHelper.sol/ZKPassportHelper.json +1 -1
- package/l1-contracts/out/src/ZKPassportRootVerifier.sol/ZKPassportRootVerifier.json +1 -1
- package/l1-contracts/out/src/ZKPassportSubVerifier.sol/ZKPassportSubVerifier.json +1 -1
- package/l1-contracts/script/deploy/RollupConfiguration.sol +5 -19
- package/l1-contracts/scripts/network-defaults.json +1 -2
- package/l1-contracts/src/core/Rollup.sol +18 -12
- package/l1-contracts/src/core/RollupCore.sol +14 -27
- package/l1-contracts/src/core/interfaces/IRollup.sol +7 -11
- package/l1-contracts/src/core/interfaces/ISequencerRewardCalculator.sol +39 -0
- package/l1-contracts/src/core/interfaces/IValidatorSelection.sol +0 -2
- package/l1-contracts/src/core/libraries/Errors.sol +3 -6
- package/l1-contracts/src/core/libraries/rollup/BlobLib.sol +16 -6
- package/l1-contracts/src/core/libraries/rollup/EpochProofExtLib.sol +2 -7
- package/l1-contracts/src/core/libraries/rollup/EpochProofLib.sol +4 -12
- package/l1-contracts/src/core/libraries/rollup/RewardExtLib.sol +30 -12
- package/l1-contracts/src/core/libraries/rollup/RewardLib.sol +187 -250
- package/l1-contracts/src/core/libraries/rollup/SequencerRewardCalculatorLib.sol +110 -0
- package/l1-contracts/src/core/libraries/rollup/ValidatorSelectionLib.sol +2 -4
- package/package.json +1 -1
- package/l1-contracts/out/RewardLib.sol/IATP.json +0 -1
- package/l1-contracts/out/RewardLib.sol/IATPStaker.json +0 -1
- package/l1-contracts/out/build-info/f88e638ee47a1ead.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[{"name":"_rollup","type":"address","internalType":"address"},{"name":"_bondToken","type":"address","internalType":"address"},{"name":"_bondSize","type":"uint96","internalType":"uint96"},{"name":"_withdrawalTax","type":"uint96","internalType":"uint96"},{"name":"_failedHatchPunishment","type":"uint96","internalType":"uint96"},{"name":"_frequency","type":"uint256","internalType":"uint256"},{"name":"_activeDuration","type":"uint256","internalType":"uint256"},{"name":"_lagInHatches","type":"uint256","internalType":"uint256"},{"name":"_proposingExitDelay","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getActiveDuration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBondSize","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getBondToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndex","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndexForHatch","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCountForHatch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateInfo","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CandidateInfo","components":[{"name":"status","type":"uint8","internalType":"enum Status"},{"name":"amount","type":"uint96","internalType":"uint96"},{"name":"exitableAt","type":"uint32","internalType":"uint32"},{"name":"lastCheckpointNumber","type":"uint32","internalType":"uint32"},{"name":"lastSubmittedArchive","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getCurrentHatch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getDesignatedProposer","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getFailedHatchPunishment","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getFirstEpoch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"Epoch"}],"stateMutability":"view"},{"type":"function","name":"getFrequency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHatch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getLagInHatches","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposingExitDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRollup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSeedTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getSetTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getWithdrawalTax","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"initiateExit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCandidate","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchOpen","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"isOpen","type":"bool","internalType":"bool"},{"name":"proposer","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isHatchPrepared","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchValidated","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"joinCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"leaveCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"selectCandidates","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateSubmittedArchive","inputs":[{"name":"_proposer","type":"address","internalType":"address"},{"name":"_checkpointNumber","type":"uint128","internalType":"uint128"},{"name":"_archive","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateProofSubmission","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ArchiveUpdated","inputs":[{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"checkpointNumber","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"archive","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CandidateExitInitiated","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"exitableAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateExited","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateJoined","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CandidateSelected","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"candidate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProofValidated","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"punishment","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero","inputs":[]},{"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds","inputs":[{"name":"index","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"EscapeHatch__AlreadyInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__AlreadyValidated","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__HatchTooEarly","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__InvalidConfiguration","inputs":[]},{"type":"error","name":"EscapeHatch__InvalidStatus","inputs":[{"name":"expected","type":"uint8","internalType":"enum Status"},{"name":"actual","type":"uint8","internalType":"enum Status"}]},{"type":"error","name":"EscapeHatch__NoDesignatedProposer","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__NotExitableYet","inputs":[{"name":"exitableAt","type":"uint256","internalType":"uint256"},{"name":"currentTime","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EscapeHatch__NotInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__OnlyRollup","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"rollup","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__SetUnstable","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6101a0604052348015610010575f5ffd5b5060405161296638038061296683398101604081905261002f9161024f565b60018210156100515760405163734638c160e11b815260040160405180910390fd5b5f896001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b291906102d8565b90506100bf8160016102ef565b8410156100df5760405163734638c160e11b815260040160405180910390fd5b600285116101005760405163734638c160e11b815260040160405180910390fd5b8385116101205760405163734638c160e11b815260040160405180910390fd5b5f886001600160601b0316116101495760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316866001600160601b0316111561017c5760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316876001600160601b031611156101af5760405163734638c160e11b815260040160405180910390fd5b62278d008211156101d35760405163734638c160e11b815260040160405180910390fd5b506001600160a01b039889166080529690971660c0526001600160601b0394851660e05292841661010052921661012052610140919091526101605260a09190915261018052610314565b80516001600160a01b0381168114610234575f5ffd5b919050565b80516001600160601b0381168114610234575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c031215610268575f5ffd5b6102718a61021e565b985061027f60208b0161021e565b975061028d60408b01610239565b965061029b60608b01610239565b95506102a960808b01610239565b60a08b015160c08c015160e08d0151610100909d01519b9e9a9d50989b979a9199909897965090945092505050565b5f602082840312156102e8575f5ffd5b5051919050565b8082018082111561030e57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c05160e05161010051610120516101405161016051610180516125146104525f395f81816102c00152610db601525f81816104c3015281816108bf01528181610d0601526115bb01525f81816101b1015281816108960152818161196a0152611a5d01525f8181610209015261183801525f818161045c01528181610f810152610fb501525f818161032701526113aa01525f81816103b70152818161102101526113f801525f81816104130152818161050f015281816105650152818161073e0152818161078801528181610ace0152818161114a01526112e401525f81816103ed015281816105e8015281816108120152818161092101528181610a2e01528181610bcd01528181610d2c01528181610dd7015281816112390152818161160f015281816116f701526117b101526125145ff3fe608060405234801561000f575f5ffd5b50600436106101ab575f3560e01c80637a27d3a3116100eb578063c504312a1161008f578063c504312a14610452578063d0e4f5741461045a578063d51b9e9314610480578063d6f1c60114610493578063d7c4ccf51461049b578063eeacfa8c146104ae578063ef9e36e5146104c1578063ff549fe1146104e7575f5ffd5b80637a27d3a3146103ad57806383d6f7f1146103b55780638a35146c146103db57806390f72273146103e3578063a4d2342a146103eb578063ad7c132114610411578063ae40f1bf14610437578063ba4f6a781461043f575f5ffd5b80633349b59f116101525780633349b59f146102ec57806333fac65e146102ff578063359346d51461031257806337722a7f146103255780633a30aefe1461034b57806346c326181461037d5780636fb9935c14610392578063735b69b61461039a575f5ffd5b80630a42f86f146101af578063147d97bd146101e4578063181803d914610207578063182cad591461024157806319db12d21461026957806328bde1e11461029e5780632a2629f6146102be57806330a56347146102e4575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b6101f76101f236600461225a565b6104fa565b60405190151581526020016101db565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b0390911681526020016101db565b61025461024f36600461225a565b61050b565b60405163ffffffff90911681526020016101db565b61029161027736600461225a565b5f908152600660205260409020546001600160a01b031690565b6040516101db9190612271565b6102b16102ac36600461229c565b61065f565b6040516101db91906122eb565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d161071e565b6102916102fa36600461225a565b61072e565b61025461030d36600461225a565b61073a565b610291610320366004612340565b61084a565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b61035e61035936600461225a565b61088e565b6040805192151583526001600160a01b039091166020830152016101db565b61039061038b366004612360565b61091e565b005b610390610a22565b6101d16103a836600461225a565b610ece565b6101d1600181565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b610390610ed8565b610390611090565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d1611233565b6101f761044d36600461225a565b6112bc565b6101d1600281565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b6101f761048e36600461229c565b6112c8565b6103906112d4565b6101d16104a936600461225a565b611459565b6103906104bc36600461225a565b6114a3565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d16104f536600461225a565b61192c565b5f6105058183611936565b92915050565b5f817f000000000000000000000000000000000000000000000000000000000000000081101561055a5760405163379682bf60e21b815260040161055191815260200190565b60405180910390fd5b505f61058e610589847f0000000000000000000000000000000000000000000000000000000000000000611959565b611964565b90508260028210156105b65760405163379682bf60e21b815260040161055191815260200190565b505f6105c3826002611959565b604051639724931760e01b815260048101829052909150610657906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561062e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065291906123a9565b61198f565b949350505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106c3576106c36122b7565b60038111156106d4576106d46122b7565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61072960026119c3565b905090565b5f6105056002836119d6565b5f817f00000000000000000000000000000000000000000000000000000000000000008110156107805760405163379682bf60e21b815260040161055191815260200190565b505f6107ac837f0000000000000000000000000000000000000000000000000000000000000000611959565b90505f6107b882611964565b90508360018210156107e05760405163379682bf60e21b815260040161055191815260200190565b505f6107ed826001611959565b604051639724931760e01b815260048101829052909150610841906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639724931790602401610613565b95945050505050565b5f5f6108558361050b565b9050824263ffffffff8316106108815760405163a6f5b7d760e01b815260040161055191815260200190565b50610657600285836119e5565b5f80806108bb7f0000000000000000000000000000000000000000000000000000000000000000856123d4565b90507f000000000000000000000000000000000000000000000000000000000000000081106108ef57505f93849350915050565b5f6108f985611a57565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b038116821461097c57604051632c0d7ee360e21b81526001600160a01b03928316600482015291166024820152604401610551565b50506001600160a01b0383165f9081526005602052604090206109a76001600160801b03841661198f565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a22947486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac91906123e7565b6001600160a01b031614610abc57565b5f610ac5611233565b90505f610af2827f0000000000000000000000000000000000000000000000000000000000000000611a82565b9050610afe5f82611936565b15610b07575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610b2e8261050b565b9050814263ffffffff831610610b5a5760405163a6f5b7d760e01b815260040161055191815260200190565b505f610b67600283611a8d565b9050805f03610b765750505050565b5f610b8561024f856001611a82565b90508063ffffffff164210610b9b575050505050565b5f610ba58561073a565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610c12573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3691906123a9565b90505f848783604051602001610c56929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610c7891906123d4565b90505f610c87600283896119e5565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610cd757610cd76122b7565b14610ce957610ce7600283611aa8565b505b805460ff191660021781555f610daf610d2a610d048c611964565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daa91906123a9565b611a82565b9050610e6c7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610e2391815260200190565b602060405180830381865afa158015610e3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6291906123a9565b6106529190612416565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61050582611964565b335f8181526005602052604090206003815460ff166003811115610efe57610efe6122b7565b825460039260ff9091169114610f295760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff164281811015610f6a57604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610fe257610fdb6001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612444565b9050610fe5565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015611048576110486001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611b09565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db8260405161108391815260200190565b60405180910390a2505050565b611098610a22565b336110a4600282611b6d565b81906110c4576040516361adc4e760e01b81526004016105519190612271565b506001600160a01b0381165f9081526005602052604090206001815460ff1660038111156110f4576110f46122b7565b825460019260ff909116911461111f5760405163ce807b6f60e01b8152600401610551929190612429565b5061112d9050600283611aa8565b50805460ff191660031781555f611170611145611233565b610daa7f00000000000000000000000000000000000000000000000000000000000000006001612416565b90505f61117c8261050b565b90508063ffffffff164210156111ba576111954261198f565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556111e9565b6111c861024f836001611a82565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610a14565b5f6107297f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611293573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b791906123a9565b611a57565b5f610505600183611936565b5f610505600283611b6d565b61130861024f6112e2611233565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b5033611315600282611b6d565b158190611336576040516332e5ace360e01b81526004016105519190612271565b506001600160a01b0381165f90815260056020526040812090815460ff166003811115611365576113656122b7565b82545f9260ff909116911461138f5760405163ce807b6f60e01b8152600401610551929190612429565b5061139d9050600283611b8e565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611422906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611cc8565b6040516001600160a01b038316907ff9482192183f47a91819f74bcb71c855dfdfb0a2e86b0de1027dcc6186ab7d58905f90a25050565b5f5f6114648361050b565b9050824263ffffffff8316106114905760405163a6f5b7d760e01b815260040161055191815260200190565b5061149c600282611a8d565b9392505050565b6114ae600182611936565b1581906114d1576040516381db3b0b60e01b815260040161055191815260200190565b505f818152600660205260409020546001600160a01b0316818161150b5760405163ed2c70ef60e01b815260040161055191815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561153b5761153b6122b7565b825460029260ff90911691146115665760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff1642818110156115a757604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b50505f6115b384611964565b905060015f5b7f0000000000000000000000000000000000000000000000000000000000000000811015611698575f6115ec8483611a82565b6040516315d3bc7b60e01b81526004810182905290915030906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906315d3bc7b90602401602060405180830381865afa158015611654573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061167891906123e7565b6001600160a01b03161461168f575f925050611698565b506001016115b9565b5060015f821580156116b657508454600160881b900463ffffffff16155b61189e578454600160881b900463ffffffff165f036116d3575f91505b8180156117775750845f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611751573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177591906123a9565b105b15611780575f91505b818015611825575060018501548554604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa1580156117fe573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182291906123a9565b14155b1561182e575f91505b8161189e575083547f00000000000000000000000000000000000000000000000000000000000000006001600160601b03818116928791600191611879918591610100900416612457565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b845460ff63ffffffff60881b01191660031785555f6001808701829055600889901c825260208190526040909120805460ff8a169290921b9091179055604080518315158152602081018390526001600160a01b0388169189917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a350505050505050565b5f61050582611a57565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f61149c8284612444565b5f6105057f000000000000000000000000000000000000000000000000000000000000000083612476565b5f63ffffffff8211156119bf576040516306dfcc6560e41b81526020600482015260248101839052604401610551565b5090565b5f610505826119d14261198f565b611a8d565b5f61149c83836119e54261198f565b5f5f6119f18584611a8d565b90508381808210611a1e57604051636bc4db8d60e11b815260048101929092526024820152604401610551565b50505f8481526001860160205260408120611a399085611d07565b9050611a4d816001600160e01b0316611d5c565b9695505050505050565b5f6105057f00000000000000000000000000000000000000000000000000000000000000008361248d565b5f61149c8284612416565b5f611a988383611d07565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611afa575f915050610505565b61065784826020015185611d8f565b6040516001600160a01b03838116602483015260448201839052611b6891859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611fba565b505050565b6001600160a01b03165f908152600291909101602052604090205460ff1690565b5f6001600160a01b038216611bb55760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff1615611bde57505f610505565b5f611be88461201d565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611c584261198f565b9050611c9081611c70866001600160a01b0316612054565b6001600160e01b0385165f90815260018901602052604090209190612087565b50611cbb905081611cb3611ca58560016124a0565b6001600160e01b0316612054565b879190612087565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611d019186918216906323b872dd90608401611b36565b50505050565b81545f9081611d18858583856120a1565b90508015611d5257611d3c85611d2f600184612444565b5f91825260209091200190565b54600160201b90046001600160e01b0316610841565b5f95945050505050565b5f6001600160a01b038211156119bf576040516306dfcc6560e41b815260a0600482015260248101839052604401610551565b5f80611d9a8561201d565b9050806001600160e01b0316846001600160e01b031610611de157604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610551565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611e506001836124bf565b90505f611e5c4261198f565b9050856001600160e01b0316826001600160e01b031614611f67576001600160e01b0382165f9081526001880160205260408120611eab90611e9d9061201d565b6001600160e01b0316611d5c565b90506040518060400160405280600115158152602001611ed3896001600160e01b0316612054565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611f63908390611f4390612054565b6001600160e01b038a165f90815260018c01602052604090209190612087565b5050505b6001600160e01b0382165f9081526001880160205260408120611f8b918390612087565b5050611fab81611fa3846001600160e01b0316612054565b899190612087565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611fd9576040513d5f823e3d81fd5b50505f513d91508115611ff0578060011415611ffd565b6001600160a01b0384163b155b15611d015783604051635274afe760e01b81526004016105519190612271565b80545f90801561204c5761203683611d2f600184612444565b54600160201b90046001600160e01b031661149c565b5f9392505050565b5f6001600160e01b038211156119bf576040516306dfcc6560e41b815260e0600482015260248101839052604401610551565b5f806120948585856120fc565b915091505b935093915050565b5f5b818310156120f4575f6120b68484612240565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120e0578092506120ee565b6120eb816001612416565b93505b506120a3565b509392505050565b82545f90819080156121e8575f61211887611d2f600185612444565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561215957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361218c57825463ffffffff16600160201b6001600160e01b038916021783556121da565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b945085935061209992505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081612099565b5f61224e600284841861248d565b61149c90848416612416565b5f6020828403121561226a575f5ffd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114612299575f5ffd5b50565b5f602082840312156122ac575f5ffd5b813561149c81612285565b634e487b7160e01b5f52602160045260245ffd5b600481106122e757634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506122fd8284516122cb565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f60408385031215612351575f5ffd5b50508035926020909101359150565b5f5f5f60608486031215612372575f5ffd5b833561237d81612285565b925060208401356001600160801b0381168114612398575f5ffd5b929592945050506040919091013590565b5f602082840312156123b9575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826123e2576123e26123c0565b500690565b5f602082840312156123f7575f5ffd5b815161149c81612285565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561050557610505612402565b6040810161243782856122cb565b61149c60208301846122cb565b8181038181111561050557610505612402565b6001600160601b03828116828216039081111561050557610505612402565b808202811582820484141761050557610505612402565b5f8261249b5761249b6123c0565b500490565b6001600160e01b03818116838216019081111561050557610505612402565b6001600160e01b0382811682821603908111156105055761050561240256fea2646970667358221220d0cf23b580edf1aa7cdb69c924e0e77551eda0a62ea5a681e4d156c1fb6a722d64736f6c634300081e0033","sourceMap":"1551:25558:72:-:0;;;3371:2251;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3928:1;3911:13;:18;;3903:71;;;;-1:-1:-1;;;3903:71:72;;;;;;;;;;;;4120:29;4162:7;-1:-1:-1;;;;;4152:43:72;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4120:77;-1:-1:-1;4230:25:72;4120:77;4254:1;4230:25;:::i;:::-;4211:15;:44;;4203:97;;;;-1:-1:-1;;;4203:97:72;;;;;;;;;;;;1965:1;4546:10;:39;4538:92;;;;-1:-1:-1;;;4538:92:72;;;;;;;;;;;;4658:15;4645:10;:28;4637:81;;;;-1:-1:-1;;;4637:81:72;;;;;;;;;;;;4810:1;4798:9;-1:-1:-1;;;;;4798:13:72;;4790:66;;;;-1:-1:-1;;;4790:66:72;;;;;;;;;;;;4968:9;-1:-1:-1;;;;;4942:35:72;:22;-1:-1:-1;;;;;4942:35:72;;;4934:88;;;;-1:-1:-1;;;4934:88:72;;;;;;;;;;;;5133:9;-1:-1:-1;;;;;5115:27:72;:14;-1:-1:-1;;;;;5115:27:72;;;5107:80;;;;-1:-1:-1;;;5107:80:72;;;;;;;;;;;;5225:7;5202:19;:30;;5194:83;;;;-1:-1:-1;;;5194:83:72;;;;;;;;;;;;-1:-1:-1;;;;;;5284:27:72;;;;;5317:31;;;;;;-1:-1:-1;;;;;5354:21:72;;;;;5381:31;;;;;5418:48;;;;5472:22;;;;;5500:33;;5539:30;;;;;5575:42;;1551:25558;;14:177:182;93:13;;-1:-1:-1;;;;;135:31:182;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:175::-;274:13;;-1:-1:-1;;;;;316:30:182;;306:41;;296:69;;361:1;358;351:12;376:994;515:6;523;531;539;547;555;563;571;579;632:3;620:9;611:7;607:23;603:33;600:53;;;649:1;646;639:12;600:53;672:40;702:9;672:40;:::i;:::-;662:50;;731:49;776:2;765:9;761:18;731:49;:::i;:::-;721:59;;799:48;843:2;832:9;828:18;799:48;:::i;:::-;789:58;;866:48;910:2;899:9;895:18;866:48;:::i;:::-;856:58;;933:49;977:3;966:9;962:19;933:49;:::i;:::-;1044:3;1029:19;;1023:26;1139:3;1124:19;;1118:26;1236:3;1221:19;;1215:26;1333:3;1318:19;;;1312:26;376:994;;;;-1:-1:-1;376:994:182;;;;923:59;;1023:26;;1118;1215;-1:-1:-1;1312:26:182;;-1:-1:-1;376:994:182;-1:-1:-1;;;376:994:182:o;1375:230::-;1445:6;1498:2;1486:9;1477:7;1473:23;1469:32;1466:52;;;1514:1;1511;1504:12;1466:52;-1:-1:-1;1559:16:182;;1375:230;-1:-1:-1;1375:230:182:o;1610:222::-;1675:9;;;1696:10;;;1693:133;;;1748:10;1743:3;1739:20;1736:1;1729:31;1783:4;1780:1;1773:15;1811:4;1808:1;1801:15;1693:133;1610:222;;;;:::o;:::-;1551:25558:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106101ab575f3560e01c80637a27d3a3116100eb578063c504312a1161008f578063c504312a14610452578063d0e4f5741461045a578063d51b9e9314610480578063d6f1c60114610493578063d7c4ccf51461049b578063eeacfa8c146104ae578063ef9e36e5146104c1578063ff549fe1146104e7575f5ffd5b80637a27d3a3146103ad57806383d6f7f1146103b55780638a35146c146103db57806390f72273146103e3578063a4d2342a146103eb578063ad7c132114610411578063ae40f1bf14610437578063ba4f6a781461043f575f5ffd5b80633349b59f116101525780633349b59f146102ec57806333fac65e146102ff578063359346d51461031257806337722a7f146103255780633a30aefe1461034b57806346c326181461037d5780636fb9935c14610392578063735b69b61461039a575f5ffd5b80630a42f86f146101af578063147d97bd146101e4578063181803d914610207578063182cad591461024157806319db12d21461026957806328bde1e11461029e5780632a2629f6146102be57806330a56347146102e4575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b6101f76101f236600461225a565b6104fa565b60405190151581526020016101db565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b0390911681526020016101db565b61025461024f36600461225a565b61050b565b60405163ffffffff90911681526020016101db565b61029161027736600461225a565b5f908152600660205260409020546001600160a01b031690565b6040516101db9190612271565b6102b16102ac36600461229c565b61065f565b6040516101db91906122eb565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d161071e565b6102916102fa36600461225a565b61072e565b61025461030d36600461225a565b61073a565b610291610320366004612340565b61084a565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b61035e61035936600461225a565b61088e565b6040805192151583526001600160a01b039091166020830152016101db565b61039061038b366004612360565b61091e565b005b610390610a22565b6101d16103a836600461225a565b610ece565b6101d1600181565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b610390610ed8565b610390611090565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d1611233565b6101f761044d36600461225a565b6112bc565b6101d1600281565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b6101f761048e36600461229c565b6112c8565b6103906112d4565b6101d16104a936600461225a565b611459565b6103906104bc36600461225a565b6114a3565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d16104f536600461225a565b61192c565b5f6105058183611936565b92915050565b5f817f000000000000000000000000000000000000000000000000000000000000000081101561055a5760405163379682bf60e21b815260040161055191815260200190565b60405180910390fd5b505f61058e610589847f0000000000000000000000000000000000000000000000000000000000000000611959565b611964565b90508260028210156105b65760405163379682bf60e21b815260040161055191815260200190565b505f6105c3826002611959565b604051639724931760e01b815260048101829052909150610657906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561062e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065291906123a9565b61198f565b949350505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106c3576106c36122b7565b60038111156106d4576106d46122b7565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61072960026119c3565b905090565b5f6105056002836119d6565b5f817f00000000000000000000000000000000000000000000000000000000000000008110156107805760405163379682bf60e21b815260040161055191815260200190565b505f6107ac837f0000000000000000000000000000000000000000000000000000000000000000611959565b90505f6107b882611964565b90508360018210156107e05760405163379682bf60e21b815260040161055191815260200190565b505f6107ed826001611959565b604051639724931760e01b815260048101829052909150610841906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639724931790602401610613565b95945050505050565b5f5f6108558361050b565b9050824263ffffffff8316106108815760405163a6f5b7d760e01b815260040161055191815260200190565b50610657600285836119e5565b5f80806108bb7f0000000000000000000000000000000000000000000000000000000000000000856123d4565b90507f000000000000000000000000000000000000000000000000000000000000000081106108ef57505f93849350915050565b5f6108f985611a57565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b038116821461097c57604051632c0d7ee360e21b81526001600160a01b03928316600482015291166024820152604401610551565b50506001600160a01b0383165f9081526005602052604090206109a76001600160801b03841661198f565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a22947486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac91906123e7565b6001600160a01b031614610abc57565b5f610ac5611233565b90505f610af2827f0000000000000000000000000000000000000000000000000000000000000000611a82565b9050610afe5f82611936565b15610b07575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610b2e8261050b565b9050814263ffffffff831610610b5a5760405163a6f5b7d760e01b815260040161055191815260200190565b505f610b67600283611a8d565b9050805f03610b765750505050565b5f610b8561024f856001611a82565b90508063ffffffff164210610b9b575050505050565b5f610ba58561073a565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610c12573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3691906123a9565b90505f848783604051602001610c56929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610c7891906123d4565b90505f610c87600283896119e5565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610cd757610cd76122b7565b14610ce957610ce7600283611aa8565b505b805460ff191660021781555f610daf610d2a610d048c611964565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daa91906123a9565b611a82565b9050610e6c7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610e2391815260200190565b602060405180830381865afa158015610e3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6291906123a9565b6106529190612416565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61050582611964565b335f8181526005602052604090206003815460ff166003811115610efe57610efe6122b7565b825460039260ff9091169114610f295760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff164281811015610f6a57604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610fe257610fdb6001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612444565b9050610fe5565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015611048576110486001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611b09565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db8260405161108391815260200190565b60405180910390a2505050565b611098610a22565b336110a4600282611b6d565b81906110c4576040516361adc4e760e01b81526004016105519190612271565b506001600160a01b0381165f9081526005602052604090206001815460ff1660038111156110f4576110f46122b7565b825460019260ff909116911461111f5760405163ce807b6f60e01b8152600401610551929190612429565b5061112d9050600283611aa8565b50805460ff191660031781555f611170611145611233565b610daa7f00000000000000000000000000000000000000000000000000000000000000006001612416565b90505f61117c8261050b565b90508063ffffffff164210156111ba576111954261198f565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556111e9565b6111c861024f836001611a82565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610a14565b5f6107297f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611293573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b791906123a9565b611a57565b5f610505600183611936565b5f610505600283611b6d565b61130861024f6112e2611233565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b5033611315600282611b6d565b158190611336576040516332e5ace360e01b81526004016105519190612271565b506001600160a01b0381165f90815260056020526040812090815460ff166003811115611365576113656122b7565b82545f9260ff909116911461138f5760405163ce807b6f60e01b8152600401610551929190612429565b5061139d9050600283611b8e565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611422906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611cc8565b6040516001600160a01b038316907ff9482192183f47a91819f74bcb71c855dfdfb0a2e86b0de1027dcc6186ab7d58905f90a25050565b5f5f6114648361050b565b9050824263ffffffff8316106114905760405163a6f5b7d760e01b815260040161055191815260200190565b5061149c600282611a8d565b9392505050565b6114ae600182611936565b1581906114d1576040516381db3b0b60e01b815260040161055191815260200190565b505f818152600660205260409020546001600160a01b0316818161150b5760405163ed2c70ef60e01b815260040161055191815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561153b5761153b6122b7565b825460029260ff90911691146115665760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff1642818110156115a757604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b50505f6115b384611964565b905060015f5b7f0000000000000000000000000000000000000000000000000000000000000000811015611698575f6115ec8483611a82565b6040516315d3bc7b60e01b81526004810182905290915030906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906315d3bc7b90602401602060405180830381865afa158015611654573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061167891906123e7565b6001600160a01b03161461168f575f925050611698565b506001016115b9565b5060015f821580156116b657508454600160881b900463ffffffff16155b61189e578454600160881b900463ffffffff165f036116d3575f91505b8180156117775750845f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611751573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177591906123a9565b105b15611780575f91505b818015611825575060018501548554604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa1580156117fe573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182291906123a9565b14155b1561182e575f91505b8161189e575083547f00000000000000000000000000000000000000000000000000000000000000006001600160601b03818116928791600191611879918591610100900416612457565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b845460ff63ffffffff60881b01191660031785555f6001808701829055600889901c825260208190526040909120805460ff8a169290921b9091179055604080518315158152602081018390526001600160a01b0388169189917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a350505050505050565b5f61050582611a57565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f61149c8284612444565b5f6105057f000000000000000000000000000000000000000000000000000000000000000083612476565b5f63ffffffff8211156119bf576040516306dfcc6560e41b81526020600482015260248101839052604401610551565b5090565b5f610505826119d14261198f565b611a8d565b5f61149c83836119e54261198f565b5f5f6119f18584611a8d565b90508381808210611a1e57604051636bc4db8d60e11b815260048101929092526024820152604401610551565b50505f8481526001860160205260408120611a399085611d07565b9050611a4d816001600160e01b0316611d5c565b9695505050505050565b5f6105057f00000000000000000000000000000000000000000000000000000000000000008361248d565b5f61149c8284612416565b5f611a988383611d07565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611afa575f915050610505565b61065784826020015185611d8f565b6040516001600160a01b03838116602483015260448201839052611b6891859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611fba565b505050565b6001600160a01b03165f908152600291909101602052604090205460ff1690565b5f6001600160a01b038216611bb55760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff1615611bde57505f610505565b5f611be88461201d565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611c584261198f565b9050611c9081611c70866001600160a01b0316612054565b6001600160e01b0385165f90815260018901602052604090209190612087565b50611cbb905081611cb3611ca58560016124a0565b6001600160e01b0316612054565b879190612087565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611d019186918216906323b872dd90608401611b36565b50505050565b81545f9081611d18858583856120a1565b90508015611d5257611d3c85611d2f600184612444565b5f91825260209091200190565b54600160201b90046001600160e01b0316610841565b5f95945050505050565b5f6001600160a01b038211156119bf576040516306dfcc6560e41b815260a0600482015260248101839052604401610551565b5f80611d9a8561201d565b9050806001600160e01b0316846001600160e01b031610611de157604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610551565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611e506001836124bf565b90505f611e5c4261198f565b9050856001600160e01b0316826001600160e01b031614611f67576001600160e01b0382165f9081526001880160205260408120611eab90611e9d9061201d565b6001600160e01b0316611d5c565b90506040518060400160405280600115158152602001611ed3896001600160e01b0316612054565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611f63908390611f4390612054565b6001600160e01b038a165f90815260018c01602052604090209190612087565b5050505b6001600160e01b0382165f9081526001880160205260408120611f8b918390612087565b5050611fab81611fa3846001600160e01b0316612054565b899190612087565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611fd9576040513d5f823e3d81fd5b50505f513d91508115611ff0578060011415611ffd565b6001600160a01b0384163b155b15611d015783604051635274afe760e01b81526004016105519190612271565b80545f90801561204c5761203683611d2f600184612444565b54600160201b90046001600160e01b031661149c565b5f9392505050565b5f6001600160e01b038211156119bf576040516306dfcc6560e41b815260e0600482015260248101839052604401610551565b5f806120948585856120fc565b915091505b935093915050565b5f5b818310156120f4575f6120b68484612240565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120e0578092506120ee565b6120eb816001612416565b93505b506120a3565b509392505050565b82545f90819080156121e8575f61211887611d2f600185612444565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561215957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361218c57825463ffffffff16600160201b6001600160e01b038916021783556121da565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b945085935061209992505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081612099565b5f61224e600284841861248d565b61149c90848416612416565b5f6020828403121561226a575f5ffd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114612299575f5ffd5b50565b5f602082840312156122ac575f5ffd5b813561149c81612285565b634e487b7160e01b5f52602160045260245ffd5b600481106122e757634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506122fd8284516122cb565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f60408385031215612351575f5ffd5b50508035926020909101359150565b5f5f5f60608486031215612372575f5ffd5b833561237d81612285565b925060208401356001600160801b0381168114612398575f5ffd5b929592945050506040919091013590565b5f602082840312156123b9575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826123e2576123e26123c0565b500690565b5f602082840312156123f7575f5ffd5b815161149c81612285565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561050557610505612402565b6040810161243782856122cb565b61149c60208301846122cb565b8181038181111561050557610505612402565b6001600160601b03828116828216039081111561050557610505612402565b808202811582820484141761050557610505612402565b5f8261249b5761249b6123c0565b500490565b6001600160e01b03818116838216019081111561050557610505612402565b6001600160e01b0382811682821603908111156105055761050561240256fea2646970667358221220d0cf23b580edf1aa7cdb69c924e0e77551eda0a62ea5a681e4d156c1fb6a722d64736f6c634300081e0033","sourceMap":"1551:25558:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:106;20534:9;20442:106;;;160:25:182;;;148:2;133:18;20442:106:72;;;;;;;;16134:151;;;;;;:::i;:::-;;:::i;:::-;;;619:14:182;;612:22;594:41;;582:2;567:18;16134:151:72;454:187:182;20168:131:72;20271:23;20168:131;;;-1:-1:-1;;;;;808:39:182;;;790:58;;778:2;763:18;20168:131:72;646:208:182;25292:541:72;;;;;;:::i;:::-;;:::i;:::-;;;1033:10:182;1021:23;;;1003:42;;991:2;976:18;25292:541:72;859:192:182;15830:145:72;;;;;;:::i;:::-;15921:7;15943:27;;;:19;:27;;;;;;-1:-1:-1;;;;;15943:27:72;;15830:145;;;;;;;;:::i;16758:159::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;21250:126::-;21351:20;21250:126;;17051:128;;;:::i;17933:146::-;;;;;;:::i;:::-;;:::i;26219:575::-;;;;;;:::i;:::-;;:::i;18385:353::-;;;;;;:::i;:::-;;:::i;19670:104::-;19760:9;19670:104;;14712:390;;;;;;:::i;:::-;;:::i;:::-;;;;3673:14:182;;3666:22;3648:41;;-1:-1:-1;;;;;3725:32:182;;;3720:2;3705:18;;3698:60;3621:18;14712:390:72;3480:284:182;10589:484:72;;;;;;:::i;:::-;;:::i;:::-;;21715:2934;;;:::i;15519:130::-;;;;;;:::i;:::-;;:::i;2061:52::-;;2112:1;2061:52;;19409:116;19509:10;19409:116;;9480:709;;;:::i;7733:1416::-;;;:::i;19185:109::-;19282:6;19185:109;;20967:114;21062:14;20967:114;;24770:131;;;:::i;16446:153::-;;;;;;:::i;:::-;;:::i;1912:54::-;;1965:1;1912:54;;19903:114;19998:14;19903:114;;18929:149;;;;;;:::i;:::-;;:::i;6061:754::-;;;:::i;17425:296::-;;;;;;:::i;:::-;;:::i;11734:2670::-;;;;;;:::i;:::-;;:::i;20700:117::-;20797:15;20700:117;;15251:120;;;;;;:::i;:::-;;:::i;16134:151::-;16219:4;16238:42;16219:4;16272:6;16238:20;:42::i;:::-;16231:49;16134:151;-1:-1:-1;;16134:151:72:o;25292:541::-;25375:6;25410;25421:14;25397:38;;;25389:90;;;;-1:-1:-1;;;25389:90:72;;;;;;160:25:182;;148:2;133:18;;14:177;25389:90:72;;;;;;;;;;25486:16;25505:51;25520:35;:6;25540:14;25520:35;:::i;:::-;25505:14;:51::i;:::-;25486:70;-1:-1:-1;25660:6:72;1965:1;25570:54;;;25562:106;;;;-1:-1:-1;;;25562:106:72;;;;;;160:25:182;;148:2;133:18;;14:177;25562:106:72;;25675:17;25695:51;:10;1965:1;25695:51;:::i;:::-;25776:40;;-1:-1:-1;;;25776:40:72;;;;;160:25:182;;;25675:71:72;;-1:-1:-1;25759:69:72;;-1:-1:-1;;;;;25776:6:72;:27;;;;133:18:182;;25776:40:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25759:67;:69::i;:::-;25752:76;25292:541;-1:-1:-1;;;;25292:541:72:o;16758:159::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16885:27:72;;;;;;:15;:27;;;;;;;16878:34;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;16878:34:72;;;;;;;;;-1:-1:-1;;;16878:34:72;;;;;;;;-1:-1:-1;;;16878:34:72;;;;;;;;;;;;;;;;;;;16758:159;-1:-1:-1;;16758:159:72:o;17051:128::-;17126:7;17148:26;:17;:24;:26::i;:::-;17141:33;;17051:128;:::o;17933:146::-;18024:7;18046:28;:17;18067:6;18046:20;:28::i;26219:575::-;26303:6;26338;26349:14;26325:38;;;26317:90;;;;-1:-1:-1;;;26317:90:72;;;;;;160:25:182;;148:2;133:18;;14:177;26317:90:72;;26414:19;26436:35;:6;26456:14;26436:35;:::i;:::-;26414:57;;26477:16;26496:29;26511:13;26496:14;:29::i;:::-;26477:48;-1:-1:-1;26627:6:72;2112:1;26539:52;;;26531:104;;;;-1:-1:-1;;;26531:104:72;;;;;;160:25:182;;148:2;133:18;;14:177;26531:104:72;;26642:15;26660:49;:10;2112:1;26660:49;:::i;:::-;26739:38;;-1:-1:-1;;;26739:38:72;;;;;160:25:182;;;26642:67:72;;-1:-1:-1;26722:67:72;;-1:-1:-1;;;;;26739:6:72;:27;;;;133:18:182;;26739:38:72;14:177:182;26722:67:72;26715:74;26219:575;-1:-1:-1;;;;;26219:575:72:o;18385:353::-;18514:7;18531:15;18549:23;18565:6;18549:15;:23::i;:::-;18531:41;-1:-1:-1;18646:6:72;18597:15;18586:26;;;;18578:76;;;;-1:-1:-1;;;18578:76:72;;;;;;160:25:182;;148:2;133:18;;14:177;18578:76:72;-1:-1:-1;18667:66:72;:17;18716:6;18724:8;18667:48;:66::i;14712:390::-;14793:11;;;14853:32;14876:9;14866:6;14853:32;:::i;:::-;14830:55;;14911:15;14895:12;:31;14891:78;;-1:-1:-1;14944:5:72;;;;-1:-1:-1;14712:390:72;-1:-1:-1;;14712:390:72:o;14891:78::-;14975:11;14989:17;14999:6;14989:9;:17::i;:::-;15023:26;;;;:19;:26;;;;;;-1:-1:-1;;;;;15023:26:72;15064:22;;;;15023:26;;-1:-1:-1;14712:390:72;-1:-1:-1;;;;14712:390:72:o;10589:484::-;10745:10;10767:6;-1:-1:-1;;;;;10745:29:72;;;;10737:99;;;;-1:-1:-1;;;10737:99:72;;-1:-1:-1;;;;;5398:32:182;;;10737:99:72;;;5380:51:182;5467:32;;5447:18;;;5440:60;5353:18;;10737:99:72;5206:300:182;10737:99:72;-1:-1:-1;;;;;;;10872:26:72;;10843;10872;;;:15;:26;;;;;10932:28;-1:-1:-1;;;;;10932:26:72;;;:28::i;:::-;10904:56;;;;;;;-1:-1:-1;;;10904:56:72;-1:-1:-1;;;;10904:56:72;;;;;;-1:-1:-1;10966:25:72;;:36;;;11014:54;;;-1:-1:-1;;;;;5703:32:182;;5685:51;;5767:2;5752:18;;5745:34;;;-1:-1:-1;;;;;11014:54:72;;;;;5658:18:182;11014:54:72;;;;;;;;10731:342;10589:484;;;:::o;21715:2934::-;22184:4;-1:-1:-1;;;;;22140:49:72;22148:6;-1:-1:-1;;;;;22148:21:72;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22140:49:72;;22136:76;;21715:2934::o;22136:76::-;22218:18;22239:17;:15;:17::i;:::-;22218:38;;22262:17;22282:41;:12;22308:14;22282:41;:::i;:::-;22262:61;-1:-1:-1;22334:47:72;:16;22262:61;22334:20;:47::i;:::-;22330:74;;;22391:7;;21715:2934::o;22330:74::-;1677:1:64;1668:10;;;22410:16:72;1732:20:64;;;;;;;;;;:28;;1703:1;1717:4;1709:12;;1703:19;1732:28;;;22572::72;1668:10:64;22572:15:72;:28::i;:::-;22554:46;-1:-1:-1;22738:11:72;22689:15;22678:26;;;;22670:81;;;;-1:-1:-1;;;22670:81:72;;;;;;160:25:182;;148:2;133:18;;14:177;22670:81:72;-1:-1:-1;22758:15:72;22776:45;:17;22812:8;22776:35;:45::i;:::-;22758:63;;22831:7;22842:1;22831:12;22827:39;;22853:7;;;;21715:2934::o;22827:39::-;23250:19;23272:44;23288:27;:11;23313:1;23288:27;:::i;23272:44::-;23250:66;;23345:12;23326:31;;:15;:31;23322:58;;23367:7;;;;;21715:2934::o;23322:58::-;23434:13;23450:29;23467:11;23450:16;:29::i;:::-;23500:46;;-1:-1:-1;;;23500:46:72;;23523:22;;;23500:46;;;160:25:182;23434:45:72;;-1:-1:-1;23485:12:72;;-1:-1:-1;;;;;23500:6:72;:22;;;;133:18:182;;23500:46:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23485:61;;23552:13;23620:7;23597:11;23610:4;23586:29;;;;;;;;6718:25:182;;;6774:2;6759:18;;6752:34;6706:2;6691:18;;6517:275;23586:29:72;;;;;;;;;;;;;23576:40;;;;;;23568:49;;:59;;;;:::i;:::-;23552:75;-1:-1:-1;23633:16:72;23652:65;:17;23552:75;23708:8;23652:48;:65::i;:::-;23724:32;;;;:19;:32;;;;;;;;:43;;-1:-1:-1;;;;;;23724:43:72;-1:-1:-1;;;;;23724:43:72;;;;;;;;23803:25;;:15;:25;;;;;23724:43;;-1:-1:-1;24143:14:72;24128:11;;;;:29;;;;;;;;:::i;:::-;;24124:84;;24167:34;:17;24192:8;24167:24;:34::i;:::-;;24124:84;24214:30;;-1:-1:-1;;24214:30:72;24228:16;24214:30;;;-1:-1:-1;24367:105:72;:57;:27;24382:11;24367:14;:27::i;:::-;24408:15;24367:57;:::i;:::-;24438:6;-1:-1:-1;;;;;24438:31:72;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24367:105;:::i;:::-;24341:131;;24496:96;24560:20;24514:6;-1:-1:-1;;;;;24514:27:72;;24542:13;24514:42;;;;;;;;;;;;;160:25:182;;148:2;133:18;;14:177;24514:42:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24497:83;;;;:::i;24496:96::-;24478:114;;;;;;;-1:-1:-1;;;24478:114:72;-1:-1:-1;;;;24478:114:72;;;;;;24604:40;;-1:-1:-1;;;;;24604:40:72;;;24622:11;;24604:40;;24478:15;;24604:40;21777:2872;;;;;;;;;;;21715:2934::o;15519:130::-;15602:5;15622:22;15637:6;15622:14;:22::i;9480:709::-;9571:10;9551:17;9616:26;;;:15;:26;;;;;9672:14;9657:11;;;;:29;;;;;;;;:::i;:::-;9738:11;;9722:14;;9738:11;;;;;9657:29;9649:102;;;;-1:-1:-1;;;9649:102:72;;;;;;;;;:::i;:::-;-1:-1:-1;;9785:15:72;;-1:-1:-1;;;9785:15:72;;;;9766;:34;;;;9758:113;;;;-1:-1:-1;;;9758:113:72;;7567:10:182;7555:23;;;9758:113:72;;;7537:42:182;7595:18;;;7588:34;7510:18;;9758:113:72;7364:264:182;9758:113:72;-1:-1:-1;;9903:11:72;;-1:-1:-1;;;;;9903:11:72;;;;;;;9934:14;9925:23;;;9921:99;;;9958:24;-1:-1:-1;;;;;9968:14:72;9958:24;;;:::i;:::-;;;9921:99;;;-1:-1:-1;10012:1:72;9921:99;-1:-1:-1;;;;;10033:26:72;;;;;;:15;:26;;;;;10026:33;;-1:-1:-1;;;;;;10026:33:72;;;;;;10070:10;;10066:73;;10090:42;-1:-1:-1;;;;;10090:10:72;:23;10114:9;10125:6;10090:23;:42::i;:::-;10166:9;-1:-1:-1;;;;;10150:34:72;;10177:6;10150:34;;;;160:25:182;;148:2;133:18;;14:177;10150:34:72;;;;;;;;9545:644;;;9480:709::o;7733:1416::-;8058:18;:16;:18::i;:::-;8103:10;8127:37;:17;8103:10;8127:26;:37::i;:::-;8204:9;8119:96;;;;;-1:-1:-1;;;8119:96:72;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;8251:26:72;;8222;8251;;;:15;:26;;;;;8306:13;8291:11;;;;:28;;;;;;;;:::i;:::-;8370:11;;8355:13;;8370:11;;;;;8291:28;8283:100;;;;-1:-1:-1;;;8283:100:72;;;;;;;;;:::i;:::-;-1:-1:-1;8390:35:72;;-1:-1:-1;8390:17:72;8415:9;8390:24;:35::i;:::-;-1:-1:-1;8431:28:72;;-1:-1:-1;;8431:28:72;8445:14;8431:28;;;-1:-1:-1;8784:50:72;:17;:15;:17::i;:::-;8815:18;8819:14;8815:1;:18;:::i;8784:50::-;8760:74;;8840:19;8862:32;8878:15;8862;:32::i;:::-;8840:54;;8923:12;8905:30;;:15;:30;8901:182;;;8963:26;:15;:24;:26::i;:::-;8945:44;;;;;;;-1:-1:-1;;;8945:44:72;-1:-1:-1;;;;8945:44:72;;;;;;8901:182;;;9028:48;9044:31;:15;9073:1;9044:31;:::i;9028:48::-;9010:66;;;;;;;-1:-1:-1;;;9010:66:72;-1:-1:-1;;;;9010:66:72;;;;;;8901:182;9128:15;;9094:50;;-1:-1:-1;;;9128:15:72;;;;;1003:42:182;;-1:-1:-1;;;;;9094:50:72;;;;;991:2:182;976:18;9094:50:72;859:192:182;24770:131:72;24841:5;24861:35;24871:6;-1:-1:-1;;;;;24871:22:72;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24861:9;:35::i;16446:153::-;16532:4;16551:43;:17;16586:6;16551:21;:43::i;18929:149::-;19016:4;19035:38;:17;19062:10;19035:26;:38::i;6061:754::-;6227:63;6243:46;:17;:15;:17::i;:::-;6274:14;6243:46;:::i;6227:63::-;-1:-1:-1;6317:10:72;6343:37;:17;6317:10;6343:26;:37::i;:::-;6342:38;6424:9;6334:101;;;;;-1:-1:-1;;;6334:101:72;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6471:26:72;;6442;6471;;;:15;:26;;;;;;6511:11;;;;:26;;;;;;;;:::i;:::-;6586:11;;6573;;6586;;;;;6511:26;6503:96;;;;-1:-1:-1;;;6503:96:72;;;;;;;;;:::i;:::-;-1:-1:-1;6606:32:72;;-1:-1:-1;6606:17:72;6628:9;6606:21;:32::i;:::-;-1:-1:-1;6645:27:72;;-1:-1:-1;;;;;6692:9:72;6678:23;;;;-1:-1:-1;;6678:23:72;;;;;;;6659:13;6678:23;;;6708:64;;-1:-1:-1;;;;;6708:10:72;:27;;6736:9;;6755:4;;6708:27;:64::i;:::-;6784:26;;-1:-1:-1;;;;;6784:26:72;;;;;;;;6125:690;;6061:754::o;17425:296::-;17520:7;17535:15;17553:23;17569:6;17553:15;:23::i;:::-;17535:41;-1:-1:-1;17650:6:72;17601:15;17590:26;;;;17582:76;;;;-1:-1:-1;;;17582:76:72;;;;;;160:25:182;;148:2;133:18;;14:177;17582:76:72;-1:-1:-1;17671:45:72;:17;17707:8;17671:35;:45::i;:::-;17664:52;17425:296;-1:-1:-1;;;17425:296:72:o;11734:2670::-;11832:43;:17;11867:6;11832:21;:43::i;:::-;11831:44;11914:6;11823:99;;;;;-1:-1:-1;;;11823:99:72;;;;;;160:25:182;;148:2;133:18;;14:177;11823:99:72;-1:-1:-1;11929:16:72;11948:27;;;:19;:27;;;;;;-1:-1:-1;;;;;11948:27:72;11968:6;11989:22;11981:81;;;;-1:-1:-1;;;11981:81:72;;;;;;160:25:182;;148:2;133:18;;14:177;11981:81:72;-1:-1:-1;;;;;;12098:25:72;;12069:26;12098:25;;;:15;:25;;;;;12152:16;12137:11;;;;:31;;;;;;;;:::i;:::-;12222:11;;12204:16;;12222:11;;;;;12137:31;12129:106;;;;-1:-1:-1;;;12129:106:72;;;;;;;;;:::i;:::-;-1:-1:-1;;12269:15:72;;-1:-1:-1;;;12269:15:72;;;;12250;:34;;;;12242:113;;;;-1:-1:-1;;;12242:113:72;;7567:10:182;7555:23;;;12242:113:72;;;7537:42:182;7595:18;;;7588:34;7510:18;;12242:113:72;7364:264:182;12242:113:72;;;12543:22;12568;12583:6;12568:14;:22::i;:::-;12543:47;-1:-1:-1;12625:4:72;12596:26;12635:245;12659:15;12655:1;:19;12635:245;;;12689:11;12703:32;:16;12733:1;12703:32;:::i;:::-;12755:36;;-1:-1:-1;;;12755:36:72;;;;;160:25:182;;;12689:46:72;;-1:-1:-1;12804:4:72;;-1:-1:-1;;;;;12755:6:72;:29;;;;133:18:182;;12755:36:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12747:62:72;;12743:131;;12845:5;12821:29;;12860:5;;;12743:131;-1:-1:-1;12676:3:72;;12635:245;;;-1:-1:-1;12901:4:72;12886:12;12944:22;;:56;;;;-1:-1:-1;12970:25:72;;-1:-1:-1;;;12970:25:72;;;;:30;12944:56;12940:1231;;13572:25;;-1:-1:-1;;;13572:25:72;;;;;:30;13568:70;;13624:5;13614:15;;13568:70;13725:7;:73;;;;;13773:4;:25;;;;;;;;;;;;13736:62;;:6;-1:-1:-1;;;;;13736:32:72;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;13725:73;13721:113;;;13820:5;13810:15;;13721:113;13921:7;:83;;;;-1:-1:-1;13979:25:72;;;;13949;;13932:43;;-1:-1:-1;;;13932:43:72;;-1:-1:-1;;;13949:25:72;;;;;13932:43;;;1003:42:182;13932:6:72;-1:-1:-1;;;;;13932:16:72;;;;976:18:182;;13932:43:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;13921:83;13917:123;;;14026:5;14016:15;;13917:123;14053:7;14048:117;;-1:-1:-1;14118:38:72;;14085:23;-1:-1:-1;;;;;14072:36:72;;;;14118:38;;:11;;:38;;14085:23;;14118:38;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;14118:38:72;;;;;-1:-1:-1;;;;;14118:38:72;;;;;;14048:117;14177:28;;-1:-1:-1;;;;;;14211:29:72;14191:14;14211:29;;;-1:-1:-1;14177:28:72;14246:25;;;:38;;;1677:1:64;1668:10;;;1732:20;;;;;;;;;;:28;;1717:4;1709:12;;1703:19;;;;1732:28;;;;;14346:53:72;;;8832:14:182;;8825:22;8807:41;;8879:2;8864:18;;8857:34;;;-1:-1:-1;;;;;14346:53:72;;;14361:6;;14346:53;;8780:18:182;14346:53:72;;;;;;;11817:2587;;;;;;11734:2670;:::o;15251:120::-;15329:5;15349:17;15359:6;15349:9;:17::i;1028:217:64:-;1144:1;1135:10;;;1102:4;1206:20;;;;;;;;;;;1170:1;1184:4;1176:12;;1170:19;1206:27;:32;;1028:217;;;;:::o;398:120:88:-;450:5;479:35;511:2;492;479:35;:::i;26977:130:72:-;27038:5;27069:32;27092:9;27082:6;27069:32;:::i;15296:213:62:-;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:62;;15452:2;15421:41;;;9256:36:182;9308:18;;;9301:34;;;9229:18;;15421:41:62;9075:266:182;15370:103:62;-1:-1:-1;15496:5:62;15296:213::o;7731:155:142:-;7807:7;7829:52;7847:5;7854:26;:15;:24;:26::i;:::-;7829:17;:52::i;5787:188::-;5875:7;5897:73;5928:5;5935:6;5943:26;:15;:24;:26::i;:::-;6403:7;6420:12;6435:36;6453:5;6460:10;6435:17;:36::i;:::-;6420:51;-1:-1:-1;6485:6:142;6420:51;6485:13;;;6477:74;;;;-1:-1:-1;;;6477:74:142;;;;;6718:25:182;;;;6759:18;;;6752:34;6691:18;;6477:74:142;6517:275:182;6477:74:142;-1:-1:-1;;6676:12:142;6691:35;;;:27;;;:35;;;;;:59;;6739:10;6691:47;:59::i;:::-;6676:74;;6771:16;:4;-1:-1:-1;;;;;6771:14:142;;:16::i;:::-;6756:32;6256:537;-1:-1:-1;;;;;;6256:537:142:o;26848:125:72:-;26904:5;26935:32;26958:9;26948:6;26935:32;:::i;276:120:88:-;328:5;357:35;389:2;370;357:35;:::i;8247:167:142:-;8353:7;8375:34;:5;8398:10;8375:22;:34::i;:::-;-1:-1:-1;;;;;8368:41:142;;8247:167;-1:-1:-1;;;8247:167:142:o;3008:266::-;-1:-1:-1;;;;;3130:37:142;;3097:4;3130:37;;;:27;;;:37;;;;;;;;3109:58;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3109:58:142;;;;;;;;;3173:46;;3207:5;3200:12;;;;;3173:46;3232:37;3240:5;3247;:11;;;3260:8;3232:7;:37::i;1219:160:46:-;1328:43;;-1:-1:-1;;;;;9916:32:182;;;1328:43:46;;;9898:51:182;9965:18;;;9958:34;;;1301:71:46;;1321:5;;1343:14;;;;;9871:18:182;;1328:43:46;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1328:43:46;;;;;;;;;;;1301:19;:71::i;:::-;1219:160;;;:::o;9666:164:142:-;-1:-1:-1;;;;;9781:37:142;9762:4;9781:37;;;:27;;;;;:37;;;;;:44;;;;9666:164::o;2127:620::-;2213:4;-1:-1:-1;;;;;2233:22:142;;2225:75;;;;-1:-1:-1;;;2225:75:142;;;;;;;;;;;;-1:-1:-1;;;;;2350:37:142;;;;;;:27;;;:37;;;;;:44;;;2346:77;;;-1:-1:-1;2411:5:142;2404:12;;2346:77;2429:13;2445:19;:5;:17;:19::i;:::-;2510:35;;;;;;;;2525:4;2510:35;;-1:-1:-1;;;;;2510:35:142;;;;;;;;;;-1:-1:-1;;;;;2470:37:142;;-1:-1:-1;2470:37:142;;;:27;;;:37;;;;;;:75;;;;;;-1:-1:-1;;;;;;2470:75:142;;;;;;-1:-1:-1;;;;;;2470:75:142;;;;;;;;;;;2510:35;;-1:-1:-1;2565:26:142;:15;:24;:26::i;:::-;2552:39;;2598:75;2638:3;2643:29;2651:8;-1:-1:-1;;;;;2643:27:142;;:29::i;:::-;-1:-1:-1;;;;;2598:34:142;;;;;;:27;;;:34;;;;;;:75;:39;:75::i;:::-;-1:-1:-1;2679:45:142;;-1:-1:-1;2695:3:142;2700:23;2701:9;:5;2709:1;2701:9;:::i;:::-;-1:-1:-1;;;;;2700:21:142;;:23::i;:::-;2679:5;;:45;:15;:45::i;:::-;-1:-1:-1;2738:4:142;;2127:620;-1:-1:-1;;;;;;2127:620:142:o;1618:188:46:-;1745:53;;-1:-1:-1;;;;;10423:32:182;;;1745:53:46;;;10405:51:182;10492:32;;;10472:18;;;10465:60;10541:18;;;10534:34;;;1718:81:46;;1738:5;;1760:18;;;;;10378::182;;1745:53:46;10203:371:182;1718:81:46;1618:188;;;;:::o;2114:297:65:-;2226:24;;2193:7;;;2274:50;2226:4;2312:3;2193:7;2226:24;2274:18;:50::i;:::-;2260:64;-1:-1:-1;2341:8:65;;:63;;2356:41;2370:4;2389:7;2395:1;2389:3;:7;:::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;;7642:28;;7421:265;2356:41;:48;-1:-1:-1;;;2356:48:65;;-1:-1:-1;;;;;2356:48:65;2341:63;;;2352:1;2334:70;2114:297;-1:-1:-1;;;;;2114:297:65:o;7228:218:62:-;7285:7;-1:-1:-1;;;;;7308:25:62;;7304:105;;;7356:42;;-1:-1:-1;;;7356:42:62;;7387:3;7356:42;;;9256:36:182;9308:18;;;9301:34;;;9229:18;;7356:42:62;9075:266:182;4039:1503:142;4145:4;;4179:19;:5;:17;:19::i;:::-;4157:41;;4218:11;-1:-1:-1;;;;;4208:21:142;:6;-1:-1:-1;;;;;4208:21:142;;4204:106;;4246:57;;-1:-1:-1;;;4246:57:142;;-1:-1:-1;;;;;11043:32:182;;;4246:57:142;;;11025:51:182;11112:32;;11092:18;;;11085:60;10998:18;;4246:57:142;10851:300:182;4204:106:142;4406:32;;;;;;;;-1:-1:-1;4406:32:142;;;;;;;;;;-1:-1:-1;;;;;4366:37:142;;;;:27;;;:37;;;;;;:72;;;;;;-1:-1:-1;;;;;;4366:72:142;;;;;;-1:-1:-1;;;;;;4366:72:142;;;-1:-1:-1;;;;;4366:72:142;;;;;;;;;;;;;4773:15;-1:-1:-1;4773:11:142;:15;:::i;:::-;4753:35;;4794:10;4807:26;:15;:24;:26::i;:::-;4794:39;;4955:6;-1:-1:-1;;;;;4942:19:142;:9;-1:-1:-1;;;;;4942:19:142;;4938:323;;-1:-1:-1;;;;;5003:38:142;;4971:21;5003:38;;;:27;;;:38;;;;;:59;;:47;;:45;:47::i;:::-;-1:-1:-1;;;;;5003:57:142;;:59::i;:::-;4971:92;;5117:48;;;;;;;;5132:4;5117:48;;;;;;5145:18;:6;-1:-1:-1;;;;;5145:16:142;;:18::i;:::-;-1:-1:-1;;;;;5117:48:142;;;;;;-1:-1:-1;;;;;5072:42:142;;;;;;:27;;;:42;;;;;;;;:93;;;;;;;;;;;;;;-1:-1:-1;;;;;;5072:93:142;;;;;;;-1:-1:-1;;;;;;5072:93:142;;;;;;;;;;;;;5173:81;;5214:3;;5219:34;;:32;:34::i;:::-;-1:-1:-1;;;;;5173:35:142;;;;;;:27;;;:35;;;;;;:81;:40;:81::i;:::-;;;4963:298;4938:323;-1:-1:-1;;;;;5337:38:142;;5394:1;5337:38;;;:27;;;:38;;;;;:60;;5381:3;;5337:43;:60::i;:::-;;;5475:45;5491:3;5496:23;5497:9;-1:-1:-1;;;;;5496:21:142;;:23::i;:::-;5475:5;;:45;:15;:45::i;:::-;-1:-1:-1;5533:4:142;;4039:1503;-1:-1:-1;;;;;;;;4039:1503:142:o;7686:720:46:-;7766:18;7794:19;7932:4;7929:1;7922:4;7916:11;7909:4;7903;7899:15;7896:1;7889:5;7882;7877:60;7989:7;7979:176;;8033:4;8027:11;8078:16;8075:1;8070:3;8055:40;8124:16;8119:3;8112:29;7979:176;-1:-1:-1;;8232:1:46;8226:8;8182:16;;-1:-1:-1;8258:15:46;;:68;;8310:11;8325:1;8310:16;;8258:68;;;-1:-1:-1;;;;;8276:26:46;;;:31;8258:68;8254:146;;;8382:5;8349:40;;-1:-1:-1;;;8349:40:46;;;;;;;;:::i;3442:206:65:-;3537:24;;3504:7;;3578:8;;:63;;3593:41;3607:4;3626:7;3632:1;3626:3;:7;:::i;3593:41::-;:48;-1:-1:-1;;;3593:48:65;;-1:-1:-1;;;;;3593:48:65;3578:63;;;3589:1;3571:70;3442:206;-1:-1:-1;;;3442:206:65:o;3156:218:62:-;3213:7;-1:-1:-1;;;;;3236:25:62;;3232:105;;;3284:42;;-1:-1:-1;;;3284:42:62;;3315:3;3284:42;;;9256:36:182;9308:18;;;9301:34;;;9229:18;;3284:42:62;9075:266:182;1277:210:65;1389:16;;1442:38;1450:4;1469:3;1474:5;1442:7;:38::i;:::-;1435:45;;;;1277:210;;;;;;;:::o;6061:433::-;6218:7;6237:230;6250:4;6244:3;:10;6237:230;;;6270:11;6284:23;6297:3;6302:4;6284:12;:23::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;6270:37;;-1:-1:-1;6325:35:65;;;;7642:28;;6325:29;;;:35;6321:136;;;6387:3;6380:10;;6321:136;;;6435:7;:3;6441:1;6435:7;:::i;:::-;6429:13;;6321:136;6256:211;6237:230;;;-1:-1:-1;6483:4:65;6061:433;-1:-1:-1;;;6061:433:65:o;4789:922::-;4970:11;;4910:16;;;;4996:7;;4992:713;;5019:26;5048:28;5062:4;5068:7;5074:1;5068:3;:7;:::i;5048:28::-;5107:9;;;;-1:-1:-1;5107:9:65;;;;;-1:-1:-1;;;5150:11:65;;-1:-1:-1;;;;;5150:11:65;;5235:13;;;;5231:89;;;5275:30;;-1:-1:-1;;;5275:30:65;;;;;;;;;;;5231:89;5394:3;5383:14;;:7;:14;;;5379:163;;5417:19;;;;-1:-1:-1;;;;;;;;5417:19:65;;;;;;5379:163;;;5485:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;5485:41:65;;;;;;;;;;5475:52;;;;;;;-1:-1:-1;5475:52:65;;;;;;;;;;;;;;-1:-1:-1;;;5475:52:65;;;;;;;;;;5379:163;5563:9;-1:-1:-1;5574:5:65;;-1:-1:-1;5555:25:65;;-1:-1:-1;;;5555:25:65;4992:713;-1:-1:-1;;5621:41:65;;;;;;;;;;;;;;;-1:-1:-1;;;;;5621:41:65;;;;;;;;;;5611:52;;;;;;;-1:-1:-1;5611:52:65;;;;;;;;;;;;;-1:-1:-1;;;5611:52:65;;;;;;;;;;;;-1:-1:-1;;5655:5:65;5677:17;;3595:153:61;3657:7;3730:11;3740:1;3731:5;;;3730:11;:::i;:::-;3720:21;;3721:5;;;3720:21;:::i;196:253:182:-;282:6;335:2;323:9;314:7;310:23;306:32;303:52;;;351:1;348;341:12;303:52;-1:-1:-1;396:23:182;;196:253;-1:-1:-1;196:253:182:o;1056:203::-;-1:-1:-1;;;;;1220:32:182;;;;1202:51;;1190:2;1175:18;;1056:203::o;1264:131::-;-1:-1:-1;;;;;1339:31:182;;1329:42;;1319:70;;1385:1;1382;1375:12;1319:70;1264:131;:::o;1400:247::-;1459:6;1512:2;1500:9;1491:7;1487:23;1483:32;1480:52;;;1528:1;1525;1518:12;1480:52;1567:9;1554:23;1586:31;1611:5;1586:31;:::i;1652:127::-;1713:10;1708:3;1704:20;1701:1;1694:31;1744:4;1741:1;1734:15;1768:4;1765:1;1758:15;1784:234;1862:1;1855:5;1852:12;1842:143;;1907:10;1902:3;1898:20;1895:1;1888:31;1942:4;1939:1;1932:15;1970:4;1967:1;1960:15;1842:143;1994:18;;1784:234::o;2023:584::-;2179:4;2221:3;2210:9;2206:19;2198:27;;2234:48;2272:9;2263:6;2257:13;2234:48;:::i;:::-;-1:-1:-1;;;;;2342:4:182;2334:6;2330:17;2324:24;2320:57;2313:4;2302:9;2298:20;2291:87;2446:10;2438:4;2430:6;2426:17;2420:24;2416:41;2409:4;2398:9;2394:20;2387:71;2526:10;2518:4;2510:6;2506:17;2500:24;2496:41;2489:4;2478:9;2474:20;2467:71;2594:4;2586:6;2582:17;2576:24;2569:4;2558:9;2554:20;2547:54;2023:584;;;;:::o;2843:373::-;2938:6;2946;2999:2;2987:9;2978:7;2974:23;2970:32;2967:52;;;3015:1;3012;3005:12;2967:52;-1:-1:-1;;3060:23:182;;;3180:2;3165:18;;;3152:32;;-1:-1:-1;2843:373:182:o;3769:497::-;3846:6;3854;3862;3915:2;3903:9;3894:7;3890:23;3886:32;3883:52;;;3931:1;3928;3921:12;3883:52;3970:9;3957:23;3989:31;4014:5;3989:31;:::i;:::-;4039:5;-1:-1:-1;4096:2:182;4081:18;;4068:32;-1:-1:-1;;;;;4131:33:182;;4119:46;;4109:74;;4179:1;4176;4169:12;4109:74;3769:497;;4202:7;;-1:-1:-1;;;4256:2:182;4241:18;;;;4228:32;;3769:497::o;4690:262::-;4792:6;4845:2;4833:9;4824:7;4820:23;4816:32;4813:52;;;4861:1;4858;4851:12;4813:52;-1:-1:-1;4906:16:182;;4690:262;-1:-1:-1;4690:262:182:o;4957:127::-;5018:10;5013:3;5009:20;5006:1;4999:31;5049:4;5046:1;5039:15;5073:4;5070:1;5063:15;5089:112;5121:1;5147;5137:35;;5152:18;;:::i;:::-;-1:-1:-1;5186:9:182;;5089:112::o;5790:273::-;5882:6;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5983:9;5977:16;6002:31;6027:5;6002:31;:::i;6797:127::-;6858:10;6853:3;6849:20;6846:1;6839:31;6889:4;6886:1;6879:15;6913:4;6910:1;6903:15;6929:125;6994:9;;;7015:10;;;7012:36;;;7028:18;;:::i;7059:300::-;7241:2;7226:18;;7253:41;7230:9;7276:6;7253:41;:::i;:::-;7303:50;7349:2;7338:9;7334:18;7326:6;7303:50;:::i;7633:128::-;7700:9;;;7721:11;;;7718:37;;;7735:18;;:::i;8416:218::-;-1:-1:-1;;;;;8522:34:182;;;8486;;;8482:75;;8569:36;;8566:62;;;8608:18;;:::i;8902:168::-;8975:9;;;9006;;9023:15;;;9017:22;;9003:37;8993:71;;9044:18;;:::i;9599:120::-;9639:1;9665;9655:35;;9670:18;;:::i;:::-;-1:-1:-1;9704:9:182;;9599:120::o;10003:195::-;-1:-1:-1;;;;;10072:27:182;;;10101;;;10068:61;;10141:28;;10138:54;;;10172:18;;:::i;11156:198::-;-1:-1:-1;;;;;11256:27:182;;;11227;;;11223:61;;11296:29;;11293:55;;;11328:18;;:::i","linkReferences":{},"immutableReferences":{"63264":[{"start":1005,"length":32},{"start":1512,"length":32},{"start":2066,"length":32},{"start":2337,"length":32},{"start":2606,"length":32},{"start":3021,"length":32},{"start":3372,"length":32},{"start":3543,"length":32},{"start":4665,"length":32},{"start":5647,"length":32},{"start":5879,"length":32},{"start":6065,"length":32}],"63266":[{"start":1043,"length":32},{"start":1295,"length":32},{"start":1381,"length":32},{"start":1854,"length":32},{"start":1928,"length":32},{"start":2766,"length":32},{"start":4426,"length":32},{"start":4836,"length":32}],"63269":[{"start":951,"length":32},{"start":4129,"length":32},{"start":5112,"length":32}],"63271":[{"start":807,"length":32},{"start":5034,"length":32}],"63273":[{"start":1116,"length":32},{"start":3969,"length":32},{"start":4021,"length":32}],"63275":[{"start":521,"length":32},{"start":6200,"length":32}],"63277":[{"start":433,"length":32},{"start":2198,"length":32},{"start":6506,"length":32},{"start":6749,"length":32}],"63279":[{"start":1219,"length":32},{"start":2239,"length":32},{"start":3334,"length":32},{"start":5563,"length":32}],"63281":[{"start":704,"length":32},{"start":3510,"length":32}]}},"methodIdentifiers":{"LAG_IN_EPOCHS_FOR_RANDAO()":"7a27d3a3","LAG_IN_EPOCHS_FOR_SET_SIZE()":"c504312a","getActiveDuration()":"ef9e36e5","getBondSize()":"37722a7f","getBondToken()":"83d6f7f1","getCandidateAtIndex(uint256)":"3349b59f","getCandidateAtIndexForHatch(uint256,uint256)":"359346d5","getCandidateCount()":"30a56347","getCandidateCountForHatch(uint256)":"d7c4ccf5","getCandidateInfo(address)":"28bde1e1","getCurrentHatch()":"ae40f1bf","getDesignatedProposer(uint256)":"19db12d2","getFailedHatchPunishment()":"181803d9","getFirstEpoch(uint256)":"735b69b6","getFrequency()":"0a42f86f","getHatch(uint256)":"ff549fe1","getLagInHatches()":"ad7c1321","getProposingExitDelay()":"2a2629f6","getRollup()":"a4d2342a","getSeedTimestamp(uint256)":"33fac65e","getSetTimestamp(uint256)":"182cad59","getWithdrawalTax()":"d0e4f574","initiateExit()":"90f72273","isCandidate(address)":"d51b9e93","isHatchOpen(uint256)":"3a30aefe","isHatchPrepared(uint256)":"147d97bd","isHatchValidated(uint256)":"ba4f6a78","joinCandidateSet()":"d6f1c601","leaveCandidateSet()":"8a35146c","selectCandidates()":"6fb9935c","updateSubmittedArchive(address,uint128,bytes32)":"46c32618","validateProofSubmission(uint256)":"eeacfa8c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rollup\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_bondToken\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"_bondSize\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_withdrawalTax\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_failedHatchPunishment\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"_frequency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_activeDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lagInHatches\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_proposingExitDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressSnapshotLib__CannotAddAddressZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"AddressSnapshotLib__IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__AlreadyInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__AlreadyValidated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__HatchTooEarly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EscapeHatch__InvalidConfiguration\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum Status\",\"name\":\"expected\",\"type\":\"uint8\"},{\"internalType\":\"enum Status\",\"name\":\"actual\",\"type\":\"uint8\"}],\"name\":\"EscapeHatch__InvalidStatus\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NoDesignatedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NotExitableYet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__NotInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rollup\",\"type\":\"address\"}],\"name\":\"EscapeHatch__OnlyRollup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__SetUnstable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"checkpointNumber\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"archive\",\"type\":\"bytes32\"}],\"name\":\"ArchiveUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"}],\"name\":\"CandidateExitInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReturned\",\"type\":\"uint256\"}],\"name\":\"CandidateExited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"CandidateJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"CandidateSelected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"punishment\",\"type\":\"uint256\"}],\"name\":\"ProofValidated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_RANDAO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_SET_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondSize\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndexForHatch\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCandidateCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateCountForHatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"getCandidateInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Status\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint32\",\"name\":\"exitableAt\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"lastCheckpointNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"lastSubmittedArchive\",\"type\":\"bytes32\"}],\"internalType\":\"struct CandidateInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getDesignatedProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFailedHatchPunishment\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getFirstEpoch\",\"outputs\":[{\"internalType\":\"Epoch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFrequency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLagInHatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProposingExitDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSeedTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSetTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawalTax\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initiateExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"isCandidate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"isHatchOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchPrepared\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchValidated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"leaveCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selectCandidates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_checkpointNumber\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"_archive\",\"type\":\"bytes32\"}],\"name\":\"updateSubmittedArchive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"validateProofSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Aztec Labs\",\"details\":\"The escape hatch opens for ACTIVE_DURATION epochs every FREQUENCY epochs. A candidate is randomly selected from a bonded candidate set using snapshotted data to prevent bias. Key security properties: - Candidates must post a significant bond (BOND_SIZE) - Candidates are punished if they fail to propose or prove (FAILED_HATCH_PUNISHMENT) - All exits incur a tax (WITHDRAWAL_TAX) - Candidate set is snapshotted before RANDAO to prevent manipulation - Candidate does NOT receive access to governance\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"getActiveDuration()\":{\"returns\":{\"_0\":\"The number of epochs an escape hatch remains open\"}},\"getBondSize()\":{\"returns\":{\"_0\":\"The amount of tokens required to join the candidate set\"}},\"getBondToken()\":{\"returns\":{\"_0\":\"The ERC20 token used for candidate bonds\"}},\"getCandidateAtIndex(uint256)\":{\"params\":{\"_index\":\"The index in the candidate set\"},\"returns\":{\"_0\":\"The candidate address at the given index\"}},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\",\"_index\":\"The index in the snapshot\"},\"returns\":{\"_0\":\"The candidate address at the given index in the snapshot\"}},\"getCandidateCount()\":{\"returns\":{\"_0\":\"The number of candidates in the active set\"}},\"getCandidateCountForHatch(uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The number of candidates in the snapshot for this hatch\"}},\"getCandidateInfo(address)\":{\"params\":{\"_candidate\":\"The candidate address\"},\"returns\":{\"_0\":\"The candidate's information\"}},\"getCurrentHatch()\":{\"returns\":{\"_0\":\"The current hatch number\"}},\"getDesignatedProposer(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The designated proposer address (address(0) if none)\"}},\"getFailedHatchPunishment()\":{\"returns\":{\"_0\":\"The amount deducted from bond on failed hatch\"}},\"getFirstEpoch(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The first epoch of the hatch\"}},\"getFrequency()\":{\"returns\":{\"_0\":\"The number of epochs between escape hatch windows\"}},\"getHatch(uint256)\":{\"params\":{\"_epoch\":\"The epoch\"},\"returns\":{\"_0\":\"The hatch number\"}},\"getLagInHatches()\":{\"returns\":{\"_0\":\"The number of hatches ahead candidates are selected for\"}},\"getProposingExitDelay()\":{\"returns\":{\"_0\":\"The additional seconds a proposer must wait after hatch ends before exiting\"}},\"getRollup()\":{\"returns\":{\"_0\":\"The rollup contract address\"}},\"getSeedTimestamp(uint256)\":{\"details\":\"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the RANDAO seed is sampled for this hatch\"}},\"getSetTimestamp(uint256)\":{\"details\":\"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the candidate set was frozen for this hatch\"}},\"getWithdrawalTax()\":{\"returns\":{\"_0\":\"The amount deducted from bond on exit\"}},\"initiateExit()\":{\"custom:reverts\":\"EscapeHatch__NotInCandidateSet if caller is not in the candidate set (including when caller was just selected as proposer by selectCandidates)EscapeHatch__InvalidStatus if caller's status is not ACTIVE\",\"details\":\"The exit may be immediate or delayed depending on timing relative to next hatch. Calls selectCandidates() first, which may select the caller as the designated proposer for an upcoming hatch. If the caller is selected, their status transitions to PROPOSING and they are removed from $activeCandidates, causing the subsequent checks to revert. This is intentional - a designated proposer cannot exit and must instead follow the PROPOSING -> validateProofSubmission -> EXITING -> leaveCandidateSet flow.\"},\"isCandidate(address)\":{\"params\":{\"_candidate\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is in the active candidate set\"}},\"isHatchOpen(uint256)\":{\"params\":{\"_epoch\":\"The epoch to check\"},\"returns\":{\"isOpen\":\"True if the epoch is within the escape hatch active duration\",\"proposer\":\"The designated proposer for this hatch (address(0) if none or not open)\"}},\"isHatchPrepared(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been prepared\"}},\"isHatchValidated(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been validated\"}},\"joinCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__HatchTooEarly if called during early period when exit would revertEscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status\",\"details\":\"Transfers BOND_SIZE tokens from the caller\"},\"leaveCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached\",\"details\":\"Only callable after exitableAt timestamp has passed\"},\"selectCandidates()\":{\"custom:reverts\":\"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)\",\"details\":\"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection.\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"custom:reverts\":\"EscapeHatch__OnlyRollup if caller is not the Rollup contract\",\"params\":{\"_archive\":\"The archive root of the proposed checkpoint\",\"_checkpointNumber\":\"The checkpoint number being proposed, safely downcasted to 32 bits\",\"_proposer\":\"The escape hatch proposer\"}},\"validateProofSubmission(uint256)\":{\"custom:reverts\":\"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp\",\"details\":\"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.\",\"params\":{\"_hatch\":\"The hatch to validate\"}}},\"title\":\"EscapeHatch\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"LAG_IN_EPOCHS_FOR_RANDAO()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable RANDAO\"},\"LAG_IN_EPOCHS_FOR_SET_SIZE()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable candidate set\"},\"getActiveDuration()\":{\"notice\":\"Get the active duration of each escape hatch in epochs\"},\"getBondSize()\":{\"notice\":\"Get the required bond size for candidates\"},\"getBondToken()\":{\"notice\":\"Get the bond token address\"},\"getCandidateAtIndex(uint256)\":{\"notice\":\"Get the candidate address at a given index in the current active set\"},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"notice\":\"Get the candidate address at a given index in the snapshot for a target hatch\"},\"getCandidateCount()\":{\"notice\":\"Get the current number of active candidates\"},\"getCandidateCountForHatch(uint256)\":{\"notice\":\"Get the number of candidates in the snapshot for a target hatch\"},\"getCandidateInfo(address)\":{\"notice\":\"Get information about a candidate\"},\"getCurrentHatch()\":{\"notice\":\"Get the current hatch based on the current epoch\"},\"getDesignatedProposer(uint256)\":{\"notice\":\"Get the designated proposer for a hatch\"},\"getFailedHatchPunishment()\":{\"notice\":\"Get the punishment for failing to fulfill proposer duties\"},\"getFirstEpoch(uint256)\":{\"notice\":\"Get the first epoch of a hatch\"},\"getFrequency()\":{\"notice\":\"Get the frequency of escape hatches in epochs\"},\"getHatch(uint256)\":{\"notice\":\"Convert an epoch to its corresponding hatch number\"},\"getLagInHatches()\":{\"notice\":\"Get the lag in hatches for candidate selection\"},\"getProposingExitDelay()\":{\"notice\":\"Get the additional exit delay after proposing\"},\"getRollup()\":{\"notice\":\"Get the rollup contract address\"},\"getSeedTimestamp(uint256)\":{\"notice\":\"Get the seed timestamp for a target hatch's RANDAO sampling\"},\"getSetTimestamp(uint256)\":{\"notice\":\"Get the freeze timestamp for a target hatch's candidate snapshot\"},\"getWithdrawalTax()\":{\"notice\":\"Get the withdrawal tax applied when exiting\"},\"initiateExit()\":{\"notice\":\"Initiate exit from the candidate set\"},\"isCandidate(address)\":{\"notice\":\"Check if an address is in the candidate set\"},\"isHatchOpen(uint256)\":{\"notice\":\"Check if an epoch is within an open escape hatch period\"},\"isHatchPrepared(uint256)\":{\"notice\":\"Check if a hatch has been prepared\"},\"isHatchValidated(uint256)\":{\"notice\":\"Check if a hatch has been validated\"},\"joinCandidateSet()\":{\"notice\":\"Join the escape hatch candidate set by depositing the required bond\"},\"leaveCandidateSet()\":{\"notice\":\"Complete exit from the candidate set and reclaim bond minus tax\"},\"selectCandidates()\":{\"notice\":\"Prepare the designated proposer for an upcoming escape hatch\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"notice\":\"Update the last submitted archive for a proposer during escape hatch\"},\"validateProofSubmission(uint256)\":{\"notice\":\"Validate that the designated proposer fulfilled their duty\"}},\"notice\":\"The escape hatch provides censorship resistance by allowing a designated proposer to bypass the committee and propose blocks during periodic \\\"escape hatch\\\" windows.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/EscapeHatch.sol\":\"EscapeHatch\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@generated/=generated/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca\",\"dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57\",\"dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn\"]},\"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167\",\"dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"src/core/EscapeHatch.sol\":{\"keccak256\":\"0x1034b24d9cdd1d2402440dd82d6171b665b8b3287552782747ea19b6f8ad69fe\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cf6f454e126bc05805977b0503f6e555daaf0c5437f776d4dca401fb2d168ad6\",\"dweb:/ipfs/QmU5fKyTSRgbcfEdspbmzttcRicLShD3sBP2hoYgUoCmhB\"]},\"src/core/interfaces/IEscapeHatch.sol\":{\"keccak256\":\"0x1a499acad8813b56e7d9cdcff3152e36196482794e62302e95a28603f5915747\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18da3711ad1fbc413336c252709e1ad32d51092336fbe6c2428b48768f58352c\",\"dweb:/ipfs/QmdkMJiH1pdcuoLe5zPHeMtnFhZ1k7PLZJtoWQUcpcm4bJ\"]},\"src/core/interfaces/IFeeJuicePortal.sol\":{\"keccak256\":\"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6\",\"dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt\"]},\"src/core/interfaces/IInstance.sol\":{\"keccak256\":\"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550\",\"dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS\"]},\"src/core/interfaces/IRollup.sol\":{\"keccak256\":\"0x8c843d930bb66928087a3ce19786d0a7b2d0d28d321ac41c10394088baab7f5c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7df362b5237cfcfac09915ef4ae261d985ae26a91be847855ef277715f732748\",\"dweb:/ipfs/QmeW86CE58Kntiuy8ZHdRFBGnw5yxFCmG4gdFVnYppTcr1\"]},\"src/core/interfaces/ISlasher.sol\":{\"keccak256\":\"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b\",\"dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk\"]},\"src/core/interfaces/IStaking.sol\":{\"keccak256\":\"0x81ddf8fa0cf8a213d690845fd4d3e31e45c543e5876612e94607cdb753804f1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7e0ae2a10903274cca7231306660dd6d5d1e5632238618b390aa7f4dfa5422f3\",\"dweb:/ipfs/QmTMXRYdNGnmecbUdREFfgsLwnMsRjDseLVXsvPqQoiago\"]},\"src/core/interfaces/IValidatorSelection.sol\":{\"keccak256\":\"0x880355d12ccf03d98667fe24763c8145abbd8ca8ea9faf8a30a967311dcac7ed\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c98e9fd3b3abb044b084d559e9e50cab0d58e08ab880fcbf8f52d9d93cac8ffd\",\"dweb:/ipfs/Qmd3nRejx4X57zgehytxvjdYrL5X61nM3bdfJKySAwDMoS\"]},\"src/core/interfaces/IVerifier.sol\":{\"keccak256\":\"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb\",\"dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe\"]},\"src/core/interfaces/messagebridge/IInbox.sol\":{\"keccak256\":\"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f\",\"dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm\"]},\"src/core/interfaces/messagebridge/IOutbox.sol\":{\"keccak256\":\"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30\",\"dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ\"]},\"src/core/libraries/ConstantsGen.sol\":{\"keccak256\":\"0xe328f94338f5563669e04618c3ec21ec38b9f21ab24d5de698d80cf38f977dfa\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d9872c9a78d7241053e9ce3eadf192d18a9cb4b95c0ac120470d92435b7216e\",\"dweb:/ipfs/QmcRnfbW8sNWwRHPik4wvkA7CTY1BTjuf2ydu3jN5otQJT\"]},\"src/core/libraries/DataStructures.sol\":{\"keccak256\":\"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4\",\"dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS\"]},\"src/core/libraries/Errors.sol\":{\"keccak256\":\"0x5de665a9151b837e2e179ea55c9c54577981d385cffea2fe046d6f70624497b2\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://53645107af6da2cf033f7e16a1a5f8922a63db2e332ba769a72128ee0a30ff3e\",\"dweb:/ipfs/QmYyNYvZwtYNUiwW422pNfqERp8Tf76DQCnRFiiYZS85w8\"]},\"src/core/libraries/HatchMath.sol\":{\"keccak256\":\"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2\",\"dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd\"]},\"src/core/libraries/SlashRoundLib.sol\":{\"keccak256\":\"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6\",\"dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9\"]},\"src/core/libraries/StakingQueue.sol\":{\"keccak256\":\"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f\",\"dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T\"]},\"src/core/libraries/TimeLib.sol\":{\"keccak256\":\"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b\",\"dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P\"]},\"src/core/libraries/compressed-data/CheckpointLog.sol\":{\"keccak256\":\"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e\",\"dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ\"]},\"src/core/libraries/compressed-data/StakingQueueConfig.sol\":{\"keccak256\":\"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76\",\"dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn\"]},\"src/core/libraries/compressed-data/Tips.sol\":{\"keccak256\":\"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1\",\"dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34\"]},\"src/core/libraries/compressed-data/fees/FeeConfig.sol\":{\"keccak256\":\"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298\",\"dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS\"]},\"src/core/libraries/compressed-data/fees/FeeStructs.sol\":{\"keccak256\":\"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157\",\"dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ\"]},\"src/core/libraries/crypto/Hash.sol\":{\"keccak256\":\"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d\",\"dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW\"]},\"src/core/libraries/crypto/SampleLib.sol\":{\"keccak256\":\"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70\",\"dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv\"]},\"src/core/libraries/rollup/AttestationLib.sol\":{\"keccak256\":\"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9\",\"dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN\"]},\"src/core/libraries/rollup/BlobLib.sol\":{\"keccak256\":\"0x40be24c3f297efce26b76cf2f674454344a20ba8b8fde7cdfd4c7ecfe339a507\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6c37144509a9269c3fe0f0791649ef4f74e5db0b54d8b27c68a1558be2ccd350\",\"dweb:/ipfs/QmT4Fc8um96XkUWd1kJrdnHKvwqKouJtJW8zUaig5nVFQx\"]},\"src/core/libraries/rollup/CoordinationSignatureLib.sol\":{\"keccak256\":\"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729\",\"dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc\"]},\"src/core/libraries/rollup/FeeLib.sol\":{\"keccak256\":\"0x78cccc8618137ebda0ca1cb68071a6458eff5c1e4eecce22de77c7479cb2f917\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://eb96d87ba3229de5d5a8e8cd9e1c29438789e578f915d787f2f7c0788f380679\",\"dweb:/ipfs/Qma3VYid6EyGtNCLertDyViT1Z8Ma1vNnc7EAEmJfxf8t9\"]},\"src/core/libraries/rollup/FieldLib.sol\":{\"keccak256\":\"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac\",\"dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R\"]},\"src/core/libraries/rollup/ProposeLib.sol\":{\"keccak256\":\"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156\",\"dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy\"]},\"src/core/libraries/rollup/ProposedHeaderLib.sol\":{\"keccak256\":\"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e\",\"dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD\"]},\"src/core/libraries/rollup/RewardLib.sol\":{\"keccak256\":\"0x12369f8300eaf1b004a87be6ef45061ec02be89257be343caa3a2f62db7e3290\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://678df0355f68957863798287ce5d890ed6530885d48423df2631407c17e031bb\",\"dweb:/ipfs/QmRp3iBcj1q5h66YZv7Tqix41LjBYqLVxow1XJkxut1cXW\"]},\"src/core/libraries/rollup/STFLib.sol\":{\"keccak256\":\"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0\",\"dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM\"]},\"src/core/libraries/rollup/StakingLib.sol\":{\"keccak256\":\"0x6e3c96f937701c67570d902aca8d2f9a1ee35942e17b1e5a375b264582a6fe8c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ddb78c290af17a9574b89104177d2f1079c5abeb462446722b8fb09e03659ea6\",\"dweb:/ipfs/QmURXaGC2SRKZc36NQZ4SXqNtgY5MpYQRamS3Shn2GMAoe\"]},\"src/core/libraries/rollup/ValidatorSelectionLib.sol\":{\"keccak256\":\"0xb2ad709554bab7c16597e0f71fe49ab68b90787b5da741b4ee138c2bde2b851d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a850a4276fca72867a1713a328c0f774f70d3b43e379350db5c985ed1ba0f38b\",\"dweb:/ipfs/QmYL5PycXBD4gxWVH6Z2A2niwkwFpqNd9r3Yqmkd3Ru9PY\"]},\"src/core/reward-boost/RewardBooster.sol\":{\"keccak256\":\"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1\",\"dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb\"]},\"src/core/slashing/Slasher.sol\":{\"keccak256\":\"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51\",\"dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9\"]},\"src/governance/Bn254LibWrapper.sol\":{\"keccak256\":\"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c\",\"dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8\"]},\"src/governance/GSE.sol\":{\"keccak256\":\"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273\",\"dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU\"]},\"src/governance/GSEPayload.sol\":{\"keccak256\":\"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e\",\"dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y\"]},\"src/governance/Governance.sol\":{\"keccak256\":\"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf\",\"dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw\"]},\"src/governance/interfaces/IBn254LibWrapper.sol\":{\"keccak256\":\"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9\",\"dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej\"]},\"src/governance/interfaces/IEmpire.sol\":{\"keccak256\":\"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a\",\"dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo\"]},\"src/governance/interfaces/IGovernance.sol\":{\"keccak256\":\"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff\",\"dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa\"]},\"src/governance/interfaces/IGovernanceProposer.sol\":{\"keccak256\":\"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f\",\"dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2\"]},\"src/governance/interfaces/IPayload.sol\":{\"keccak256\":\"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c\",\"dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin\"]},\"src/governance/interfaces/IProposerPayload.sol\":{\"keccak256\":\"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167\",\"dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o\"]},\"src/governance/interfaces/IRegistry.sol\":{\"keccak256\":\"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724\",\"dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn\"]},\"src/governance/interfaces/IRewardDistributor.sol\":{\"keccak256\":\"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76\",\"dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h\"]},\"src/governance/libraries/AddressSnapshotLib.sol\":{\"keccak256\":\"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402\",\"dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp\"]},\"src/governance/libraries/CheckpointedUintLib.sol\":{\"keccak256\":\"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1\",\"dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q\"]},\"src/governance/libraries/ConfigurationLib.sol\":{\"keccak256\":\"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a\",\"dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy\"]},\"src/governance/libraries/DepositDelegationLib.sol\":{\"keccak256\":\"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb\",\"dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb\"]},\"src/governance/libraries/Errors.sol\":{\"keccak256\":\"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa\",\"dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv\"]},\"src/governance/libraries/ProposalLib.sol\":{\"keccak256\":\"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192\",\"dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT\"]},\"src/governance/libraries/compressed-data/Ballot.sol\":{\"keccak256\":\"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012\",\"dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM\"]},\"src/governance/libraries/compressed-data/Configuration.sol\":{\"keccak256\":\"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482\",\"dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv\"]},\"src/governance/libraries/compressed-data/Proposal.sol\":{\"keccak256\":\"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6\",\"dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN\"]},\"src/governance/proposer/EmpireBase.sol\":{\"keccak256\":\"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209\",\"dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35\"]},\"src/governance/proposer/GovernanceProposer.sol\":{\"keccak256\":\"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607\",\"dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m\"]},\"src/mock/libraries/BlobLib.sol\":{\"keccak256\":\"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837\",\"dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9\"]},\"src/shared/libraries/BN254Lib.sol\":{\"keccak256\":\"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a\",\"dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52\"]},\"src/shared/libraries/CompressedTimeMath.sol\":{\"keccak256\":\"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3\",\"dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB\"]},\"src/shared/libraries/SignatureLib.sol\":{\"keccak256\":\"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c\",\"dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2\"]},\"src/shared/libraries/TimeMath.sol\":{\"keccak256\":\"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914\",\"dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rollup","type":"address"},{"internalType":"address","name":"_bondToken","type":"address"},{"internalType":"uint96","name":"_bondSize","type":"uint96"},{"internalType":"uint96","name":"_withdrawalTax","type":"uint96"},{"internalType":"uint96","name":"_failedHatchPunishment","type":"uint96"},{"internalType":"uint256","name":"_frequency","type":"uint256"},{"internalType":"uint256","name":"_activeDuration","type":"uint256"},{"internalType":"uint256","name":"_lagInHatches","type":"uint256"},{"internalType":"uint256","name":"_proposingExitDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__AlreadyInCandidateSet"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__AlreadyValidated"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__HatchTooEarly"},{"inputs":[],"type":"error","name":"EscapeHatch__InvalidConfiguration"},{"inputs":[{"internalType":"enum Status","name":"expected","type":"uint8"},{"internalType":"enum Status","name":"actual","type":"uint8"}],"type":"error","name":"EscapeHatch__InvalidStatus"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__NoDesignatedProposer"},{"inputs":[{"internalType":"uint256","name":"exitableAt","type":"uint256"},{"internalType":"uint256","name":"currentTime","type":"uint256"}],"type":"error","name":"EscapeHatch__NotExitableYet"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__NotInCandidateSet"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"rollup","type":"address"}],"type":"error","name":"EscapeHatch__OnlyRollup"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__SetUnstable"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"uint128","name":"checkpointNumber","type":"uint128","indexed":false},{"internalType":"bytes32","name":"archive","type":"bytes32","indexed":false}],"type":"event","name":"ArchiveUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"exitableAt","type":"uint256","indexed":false}],"type":"event","name":"CandidateExitInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"amountReturned","type":"uint256","indexed":false}],"type":"event","name":"CandidateExited","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true}],"type":"event","name":"CandidateJoined","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"candidate","type":"address","indexed":true}],"type":"event","name":"CandidateSelected","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"punishment","type":"uint256","indexed":false}],"type":"event","name":"ProofValidated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getActiveDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondSize","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndex","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndexForHatch","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCandidateCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateCountForHatch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"getCandidateInfo","outputs":[{"internalType":"struct CandidateInfo","name":"","type":"tuple","components":[{"internalType":"enum Status","name":"status","type":"uint8"},{"internalType":"uint96","name":"amount","type":"uint96"},{"internalType":"uint32","name":"exitableAt","type":"uint32"},{"internalType":"uint32","name":"lastCheckpointNumber","type":"uint32"},{"internalType":"bytes32","name":"lastSubmittedArchive","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDesignatedProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFailedHatchPunishment","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFirstEpoch","outputs":[{"internalType":"Epoch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLagInHatches","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getProposingExitDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSeedTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSetTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWithdrawalTax","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initiateExit"},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"isCandidate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchOpen","outputs":[{"internalType":"bool","name":"isOpen","type":"bool"},{"internalType":"address","name":"proposer","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchPrepared","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchValidated","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"joinCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"leaveCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"selectCandidates"},{"inputs":[{"internalType":"address","name":"_proposer","type":"address"},{"internalType":"uint128","name":"_checkpointNumber","type":"uint128"},{"internalType":"bytes32","name":"_archive","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateSubmittedArchive"},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validateProofSubmission"}],"devdoc":{"kind":"dev","methods":{"getActiveDuration()":{"returns":{"_0":"The number of epochs an escape hatch remains open"}},"getBondSize()":{"returns":{"_0":"The amount of tokens required to join the candidate set"}},"getBondToken()":{"returns":{"_0":"The ERC20 token used for candidate bonds"}},"getCandidateAtIndex(uint256)":{"params":{"_index":"The index in the candidate set"},"returns":{"_0":"The candidate address at the given index"}},"getCandidateAtIndexForHatch(uint256,uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)","_index":"The index in the snapshot"},"returns":{"_0":"The candidate address at the given index in the snapshot"}},"getCandidateCount()":{"returns":{"_0":"The number of candidates in the active set"}},"getCandidateCountForHatch(uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The number of candidates in the snapshot for this hatch"}},"getCandidateInfo(address)":{"params":{"_candidate":"The candidate address"},"returns":{"_0":"The candidate's information"}},"getCurrentHatch()":{"returns":{"_0":"The current hatch number"}},"getDesignatedProposer(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The designated proposer address (address(0) if none)"}},"getFailedHatchPunishment()":{"returns":{"_0":"The amount deducted from bond on failed hatch"}},"getFirstEpoch(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The first epoch of the hatch"}},"getFrequency()":{"returns":{"_0":"The number of epochs between escape hatch windows"}},"getHatch(uint256)":{"params":{"_epoch":"The epoch"},"returns":{"_0":"The hatch number"}},"getLagInHatches()":{"returns":{"_0":"The number of hatches ahead candidates are selected for"}},"getProposingExitDelay()":{"returns":{"_0":"The additional seconds a proposer must wait after hatch ends before exiting"}},"getRollup()":{"returns":{"_0":"The rollup contract address"}},"getSeedTimestamp(uint256)":{"details":"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the RANDAO seed is sampled for this hatch"}},"getSetTimestamp(uint256)":{"details":"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the candidate set was frozen for this hatch"}},"getWithdrawalTax()":{"returns":{"_0":"The amount deducted from bond on exit"}},"initiateExit()":{"custom:reverts":"EscapeHatch__NotInCandidateSet if caller is not in the candidate set (including when caller was just selected as proposer by selectCandidates)EscapeHatch__InvalidStatus if caller's status is not ACTIVE","details":"The exit may be immediate or delayed depending on timing relative to next hatch. Calls selectCandidates() first, which may select the caller as the designated proposer for an upcoming hatch. If the caller is selected, their status transitions to PROPOSING and they are removed from $activeCandidates, causing the subsequent checks to revert. This is intentional - a designated proposer cannot exit and must instead follow the PROPOSING -> validateProofSubmission -> EXITING -> leaveCandidateSet flow."},"isCandidate(address)":{"params":{"_candidate":"The address to check"},"returns":{"_0":"True if the address is in the active candidate set"}},"isHatchOpen(uint256)":{"params":{"_epoch":"The epoch to check"},"returns":{"isOpen":"True if the epoch is within the escape hatch active duration","proposer":"The designated proposer for this hatch (address(0) if none or not open)"}},"isHatchPrepared(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been prepared"}},"isHatchValidated(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been validated"}},"joinCandidateSet()":{"custom:reverts":"EscapeHatch__HatchTooEarly if called during early period when exit would revertEscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status","details":"Transfers BOND_SIZE tokens from the caller"},"leaveCandidateSet()":{"custom:reverts":"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached","details":"Only callable after exitableAt timestamp has passed"},"selectCandidates()":{"custom:reverts":"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)","details":"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection."},"updateSubmittedArchive(address,uint128,bytes32)":{"custom:reverts":"EscapeHatch__OnlyRollup if caller is not the Rollup contract","params":{"_archive":"The archive root of the proposed checkpoint","_checkpointNumber":"The checkpoint number being proposed, safely downcasted to 32 bits","_proposer":"The escape hatch proposer"}},"validateProofSubmission(uint256)":{"custom:reverts":"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp","details":"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.","params":{"_hatch":"The hatch to validate"}}},"version":1},"userdoc":{"kind":"user","methods":{"LAG_IN_EPOCHS_FOR_RANDAO()":{"notice":"Number of epochs to look back from the START of the hatch for stable RANDAO"},"LAG_IN_EPOCHS_FOR_SET_SIZE()":{"notice":"Number of epochs to look back from the START of the hatch for stable candidate set"},"getActiveDuration()":{"notice":"Get the active duration of each escape hatch in epochs"},"getBondSize()":{"notice":"Get the required bond size for candidates"},"getBondToken()":{"notice":"Get the bond token address"},"getCandidateAtIndex(uint256)":{"notice":"Get the candidate address at a given index in the current active set"},"getCandidateAtIndexForHatch(uint256,uint256)":{"notice":"Get the candidate address at a given index in the snapshot for a target hatch"},"getCandidateCount()":{"notice":"Get the current number of active candidates"},"getCandidateCountForHatch(uint256)":{"notice":"Get the number of candidates in the snapshot for a target hatch"},"getCandidateInfo(address)":{"notice":"Get information about a candidate"},"getCurrentHatch()":{"notice":"Get the current hatch based on the current epoch"},"getDesignatedProposer(uint256)":{"notice":"Get the designated proposer for a hatch"},"getFailedHatchPunishment()":{"notice":"Get the punishment for failing to fulfill proposer duties"},"getFirstEpoch(uint256)":{"notice":"Get the first epoch of a hatch"},"getFrequency()":{"notice":"Get the frequency of escape hatches in epochs"},"getHatch(uint256)":{"notice":"Convert an epoch to its corresponding hatch number"},"getLagInHatches()":{"notice":"Get the lag in hatches for candidate selection"},"getProposingExitDelay()":{"notice":"Get the additional exit delay after proposing"},"getRollup()":{"notice":"Get the rollup contract address"},"getSeedTimestamp(uint256)":{"notice":"Get the seed timestamp for a target hatch's RANDAO sampling"},"getSetTimestamp(uint256)":{"notice":"Get the freeze timestamp for a target hatch's candidate snapshot"},"getWithdrawalTax()":{"notice":"Get the withdrawal tax applied when exiting"},"initiateExit()":{"notice":"Initiate exit from the candidate set"},"isCandidate(address)":{"notice":"Check if an address is in the candidate set"},"isHatchOpen(uint256)":{"notice":"Check if an epoch is within an open escape hatch period"},"isHatchPrepared(uint256)":{"notice":"Check if a hatch has been prepared"},"isHatchValidated(uint256)":{"notice":"Check if a hatch has been validated"},"joinCandidateSet()":{"notice":"Join the escape hatch candidate set by depositing the required bond"},"leaveCandidateSet()":{"notice":"Complete exit from the candidate set and reclaim bond minus tax"},"selectCandidates()":{"notice":"Prepare the designated proposer for an upcoming escape hatch"},"updateSubmittedArchive(address,uint128,bytes32)":{"notice":"Update the last submitted archive for a proposer during escape hatch"},"validateProofSubmission(uint256)":{"notice":"Validate that the designated proposer fulfilled their duty"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@generated/=generated/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/EscapeHatch.sol":"EscapeHatch"},"evmVersion":"prague","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b","urls":["bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca","dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618","urls":["bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb","dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2","urls":["bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57","dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f","urls":["bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167","dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"src/core/EscapeHatch.sol":{"keccak256":"0x1034b24d9cdd1d2402440dd82d6171b665b8b3287552782747ea19b6f8ad69fe","urls":["bzz-raw://cf6f454e126bc05805977b0503f6e555daaf0c5437f776d4dca401fb2d168ad6","dweb:/ipfs/QmU5fKyTSRgbcfEdspbmzttcRicLShD3sBP2hoYgUoCmhB"],"license":"Apache-2.0"},"src/core/interfaces/IEscapeHatch.sol":{"keccak256":"0x1a499acad8813b56e7d9cdcff3152e36196482794e62302e95a28603f5915747","urls":["bzz-raw://18da3711ad1fbc413336c252709e1ad32d51092336fbe6c2428b48768f58352c","dweb:/ipfs/QmdkMJiH1pdcuoLe5zPHeMtnFhZ1k7PLZJtoWQUcpcm4bJ"],"license":"Apache-2.0"},"src/core/interfaces/IFeeJuicePortal.sol":{"keccak256":"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639","urls":["bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6","dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt"],"license":"Apache-2.0"},"src/core/interfaces/IInstance.sol":{"keccak256":"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb","urls":["bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550","dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS"],"license":"Apache-2.0"},"src/core/interfaces/IRollup.sol":{"keccak256":"0x8c843d930bb66928087a3ce19786d0a7b2d0d28d321ac41c10394088baab7f5c","urls":["bzz-raw://7df362b5237cfcfac09915ef4ae261d985ae26a91be847855ef277715f732748","dweb:/ipfs/QmeW86CE58Kntiuy8ZHdRFBGnw5yxFCmG4gdFVnYppTcr1"],"license":"Apache-2.0"},"src/core/interfaces/ISlasher.sol":{"keccak256":"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302","urls":["bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b","dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk"],"license":"Apache-2.0"},"src/core/interfaces/IStaking.sol":{"keccak256":"0x81ddf8fa0cf8a213d690845fd4d3e31e45c543e5876612e94607cdb753804f1d","urls":["bzz-raw://7e0ae2a10903274cca7231306660dd6d5d1e5632238618b390aa7f4dfa5422f3","dweb:/ipfs/QmTMXRYdNGnmecbUdREFfgsLwnMsRjDseLVXsvPqQoiago"],"license":"Apache-2.0"},"src/core/interfaces/IValidatorSelection.sol":{"keccak256":"0x880355d12ccf03d98667fe24763c8145abbd8ca8ea9faf8a30a967311dcac7ed","urls":["bzz-raw://c98e9fd3b3abb044b084d559e9e50cab0d58e08ab880fcbf8f52d9d93cac8ffd","dweb:/ipfs/Qmd3nRejx4X57zgehytxvjdYrL5X61nM3bdfJKySAwDMoS"],"license":"Apache-2.0"},"src/core/interfaces/IVerifier.sol":{"keccak256":"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55","urls":["bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb","dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IInbox.sol":{"keccak256":"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd","urls":["bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f","dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IOutbox.sol":{"keccak256":"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad","urls":["bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30","dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ"],"license":"Apache-2.0"},"src/core/libraries/ConstantsGen.sol":{"keccak256":"0xe328f94338f5563669e04618c3ec21ec38b9f21ab24d5de698d80cf38f977dfa","urls":["bzz-raw://3d9872c9a78d7241053e9ce3eadf192d18a9cb4b95c0ac120470d92435b7216e","dweb:/ipfs/QmcRnfbW8sNWwRHPik4wvkA7CTY1BTjuf2ydu3jN5otQJT"],"license":"Apache-2.0"},"src/core/libraries/DataStructures.sol":{"keccak256":"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c","urls":["bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4","dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS"],"license":"Apache-2.0"},"src/core/libraries/Errors.sol":{"keccak256":"0x5de665a9151b837e2e179ea55c9c54577981d385cffea2fe046d6f70624497b2","urls":["bzz-raw://53645107af6da2cf033f7e16a1a5f8922a63db2e332ba769a72128ee0a30ff3e","dweb:/ipfs/QmYyNYvZwtYNUiwW422pNfqERp8Tf76DQCnRFiiYZS85w8"],"license":"Apache-2.0"},"src/core/libraries/HatchMath.sol":{"keccak256":"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4","urls":["bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2","dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd"],"license":"Apache-2.0"},"src/core/libraries/SlashRoundLib.sol":{"keccak256":"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e","urls":["bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6","dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9"],"license":"Apache-2.0"},"src/core/libraries/StakingQueue.sol":{"keccak256":"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98","urls":["bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f","dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T"],"license":"Apache-2.0"},"src/core/libraries/TimeLib.sol":{"keccak256":"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab","urls":["bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b","dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/CheckpointLog.sol":{"keccak256":"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf","urls":["bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e","dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/StakingQueueConfig.sol":{"keccak256":"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e","urls":["bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76","dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/Tips.sol":{"keccak256":"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008","urls":["bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1","dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeConfig.sol":{"keccak256":"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd","urls":["bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298","dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeStructs.sol":{"keccak256":"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501","urls":["bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157","dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ"],"license":"Apache-2.0"},"src/core/libraries/crypto/Hash.sol":{"keccak256":"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb","urls":["bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d","dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW"],"license":"Apache-2.0"},"src/core/libraries/crypto/SampleLib.sol":{"keccak256":"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e","urls":["bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70","dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv"],"license":"Apache-2.0"},"src/core/libraries/rollup/AttestationLib.sol":{"keccak256":"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3","urls":["bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9","dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN"],"license":"Apache-2.0"},"src/core/libraries/rollup/BlobLib.sol":{"keccak256":"0x40be24c3f297efce26b76cf2f674454344a20ba8b8fde7cdfd4c7ecfe339a507","urls":["bzz-raw://6c37144509a9269c3fe0f0791649ef4f74e5db0b54d8b27c68a1558be2ccd350","dweb:/ipfs/QmT4Fc8um96XkUWd1kJrdnHKvwqKouJtJW8zUaig5nVFQx"],"license":"Apache-2.0"},"src/core/libraries/rollup/CoordinationSignatureLib.sol":{"keccak256":"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae","urls":["bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729","dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc"],"license":"Apache-2.0"},"src/core/libraries/rollup/FeeLib.sol":{"keccak256":"0x78cccc8618137ebda0ca1cb68071a6458eff5c1e4eecce22de77c7479cb2f917","urls":["bzz-raw://eb96d87ba3229de5d5a8e8cd9e1c29438789e578f915d787f2f7c0788f380679","dweb:/ipfs/Qma3VYid6EyGtNCLertDyViT1Z8Ma1vNnc7EAEmJfxf8t9"],"license":"Apache-2.0"},"src/core/libraries/rollup/FieldLib.sol":{"keccak256":"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95","urls":["bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac","dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposeLib.sol":{"keccak256":"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777","urls":["bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156","dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposedHeaderLib.sol":{"keccak256":"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c","urls":["bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e","dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardLib.sol":{"keccak256":"0x12369f8300eaf1b004a87be6ef45061ec02be89257be343caa3a2f62db7e3290","urls":["bzz-raw://678df0355f68957863798287ce5d890ed6530885d48423df2631407c17e031bb","dweb:/ipfs/QmRp3iBcj1q5h66YZv7Tqix41LjBYqLVxow1XJkxut1cXW"],"license":"Apache-2.0"},"src/core/libraries/rollup/STFLib.sol":{"keccak256":"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0","urls":["bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0","dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM"],"license":"Apache-2.0"},"src/core/libraries/rollup/StakingLib.sol":{"keccak256":"0x6e3c96f937701c67570d902aca8d2f9a1ee35942e17b1e5a375b264582a6fe8c","urls":["bzz-raw://ddb78c290af17a9574b89104177d2f1079c5abeb462446722b8fb09e03659ea6","dweb:/ipfs/QmURXaGC2SRKZc36NQZ4SXqNtgY5MpYQRamS3Shn2GMAoe"],"license":"Apache-2.0"},"src/core/libraries/rollup/ValidatorSelectionLib.sol":{"keccak256":"0xb2ad709554bab7c16597e0f71fe49ab68b90787b5da741b4ee138c2bde2b851d","urls":["bzz-raw://a850a4276fca72867a1713a328c0f774f70d3b43e379350db5c985ed1ba0f38b","dweb:/ipfs/QmYL5PycXBD4gxWVH6Z2A2niwkwFpqNd9r3Yqmkd3Ru9PY"],"license":"Apache-2.0"},"src/core/reward-boost/RewardBooster.sol":{"keccak256":"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0","urls":["bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1","dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb"],"license":"Apache-2.0"},"src/core/slashing/Slasher.sol":{"keccak256":"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786","urls":["bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51","dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9"],"license":"Apache-2.0"},"src/governance/Bn254LibWrapper.sol":{"keccak256":"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607","urls":["bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c","dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8"],"license":"Apache-2.0"},"src/governance/GSE.sol":{"keccak256":"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a","urls":["bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273","dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU"],"license":"Apache-2.0"},"src/governance/GSEPayload.sol":{"keccak256":"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae","urls":["bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e","dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y"],"license":"Apache-2.0"},"src/governance/Governance.sol":{"keccak256":"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5","urls":["bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf","dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw"],"license":"Apache-2.0"},"src/governance/interfaces/IBn254LibWrapper.sol":{"keccak256":"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a","urls":["bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9","dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej"],"license":"Apache-2.0"},"src/governance/interfaces/IEmpire.sol":{"keccak256":"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3","urls":["bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a","dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernance.sol":{"keccak256":"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005","urls":["bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff","dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernanceProposer.sol":{"keccak256":"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817","urls":["bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f","dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2"],"license":"Apache-2.0"},"src/governance/interfaces/IPayload.sol":{"keccak256":"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3","urls":["bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c","dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin"],"license":"Apache-2.0"},"src/governance/interfaces/IProposerPayload.sol":{"keccak256":"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248","urls":["bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167","dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o"],"license":"Apache-2.0"},"src/governance/interfaces/IRegistry.sol":{"keccak256":"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8","urls":["bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724","dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn"],"license":"Apache-2.0"},"src/governance/interfaces/IRewardDistributor.sol":{"keccak256":"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14","urls":["bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76","dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h"],"license":"Apache-2.0"},"src/governance/libraries/AddressSnapshotLib.sol":{"keccak256":"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210","urls":["bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402","dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp"],"license":"Apache-2.0"},"src/governance/libraries/CheckpointedUintLib.sol":{"keccak256":"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4","urls":["bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1","dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q"],"license":"Apache-2.0"},"src/governance/libraries/ConfigurationLib.sol":{"keccak256":"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149","urls":["bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a","dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy"],"license":"Apache-2.0"},"src/governance/libraries/DepositDelegationLib.sol":{"keccak256":"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0","urls":["bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb","dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb"],"license":"Apache-2.0"},"src/governance/libraries/Errors.sol":{"keccak256":"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4","urls":["bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa","dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv"],"license":"Apache-2.0"},"src/governance/libraries/ProposalLib.sol":{"keccak256":"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90","urls":["bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192","dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Ballot.sol":{"keccak256":"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d","urls":["bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012","dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Configuration.sol":{"keccak256":"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9","urls":["bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482","dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Proposal.sol":{"keccak256":"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a","urls":["bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6","dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN"],"license":"Apache-2.0"},"src/governance/proposer/EmpireBase.sol":{"keccak256":"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0","urls":["bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209","dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35"],"license":"Apache-2.0"},"src/governance/proposer/GovernanceProposer.sol":{"keccak256":"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3","urls":["bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607","dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m"],"license":"Apache-2.0"},"src/mock/libraries/BlobLib.sol":{"keccak256":"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121","urls":["bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837","dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9"],"license":"Apache-2.0"},"src/shared/libraries/BN254Lib.sol":{"keccak256":"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5","urls":["bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a","dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52"],"license":"Apache-2.0"},"src/shared/libraries/CompressedTimeMath.sol":{"keccak256":"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1","urls":["bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3","dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB"],"license":"Apache-2.0"},"src/shared/libraries/SignatureLib.sol":{"keccak256":"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a","urls":["bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c","dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2"],"license":"Apache-2.0"},"src/shared/libraries/TimeMath.sol":{"keccak256":"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f","urls":["bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914","dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3"],"license":"Apache-2.0"}},"version":1},"id":72}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_rollup","type":"address","internalType":"address"},{"name":"_bondToken","type":"address","internalType":"address"},{"name":"_bondSize","type":"uint96","internalType":"uint96"},{"name":"_withdrawalTax","type":"uint96","internalType":"uint96"},{"name":"_failedHatchPunishment","type":"uint96","internalType":"uint96"},{"name":"_frequency","type":"uint256","internalType":"uint256"},{"name":"_activeDuration","type":"uint256","internalType":"uint256"},{"name":"_lagInHatches","type":"uint256","internalType":"uint256"},{"name":"_proposingExitDelay","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getActiveDuration","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBondSize","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getBondToken","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndex","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateAtIndexForHatch","inputs":[{"name":"_index","type":"uint256","internalType":"uint256"},{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateCountForHatch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCandidateInfo","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple","internalType":"struct CandidateInfo","components":[{"name":"status","type":"uint8","internalType":"enum Status"},{"name":"amount","type":"uint96","internalType":"uint96"},{"name":"exitableAt","type":"uint32","internalType":"uint32"},{"name":"lastCheckpointNumber","type":"uint32","internalType":"uint32"},{"name":"lastSubmittedArchive","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getCurrentHatch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getDesignatedProposer","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getFailedHatchPunishment","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"getFirstEpoch","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint256","internalType":"Epoch"}],"stateMutability":"view"},{"type":"function","name":"getFrequency","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getHatch","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"","type":"uint256","internalType":"Hatch"}],"stateMutability":"view"},{"type":"function","name":"getLagInHatches","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProposingExitDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRollup","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSeedTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getSetTimestamp","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"getWithdrawalTax","inputs":[],"outputs":[{"name":"","type":"uint96","internalType":"uint96"}],"stateMutability":"view"},{"type":"function","name":"initiateExit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCandidate","inputs":[{"name":"_candidate","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchOpen","inputs":[{"name":"_epoch","type":"uint256","internalType":"Epoch"}],"outputs":[{"name":"isOpen","type":"bool","internalType":"bool"},{"name":"proposer","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"isHatchPrepared","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isHatchValidated","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"joinCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"leaveCandidateSet","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"selectCandidates","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateSubmittedArchive","inputs":[{"name":"_proposer","type":"address","internalType":"address"},{"name":"_checkpointNumber","type":"uint128","internalType":"uint128"},{"name":"_archive","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateProofSubmission","inputs":[{"name":"_hatch","type":"uint256","internalType":"Hatch"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ArchiveUpdated","inputs":[{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"checkpointNumber","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"archive","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"CandidateExitInitiated","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"exitableAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateExited","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"},{"name":"amountReturned","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CandidateJoined","inputs":[{"name":"candidate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"CandidateSelected","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"candidate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ProofValidated","inputs":[{"name":"hatch","type":"uint256","indexed":true,"internalType":"Hatch"},{"name":"proposer","type":"address","indexed":true,"internalType":"address"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"punishment","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero","inputs":[]},{"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds","inputs":[{"name":"index","type":"uint256","internalType":"uint256"},{"name":"size","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"EscapeHatch__AlreadyInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__AlreadyValidated","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__HatchTooEarly","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__InvalidConfiguration","inputs":[]},{"type":"error","name":"EscapeHatch__InvalidStatus","inputs":[{"name":"expected","type":"uint8","internalType":"enum Status"},{"name":"actual","type":"uint8","internalType":"enum Status"}]},{"type":"error","name":"EscapeHatch__NoDesignatedProposer","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"EscapeHatch__NotExitableYet","inputs":[{"name":"exitableAt","type":"uint256","internalType":"uint256"},{"name":"currentTime","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EscapeHatch__NotInCandidateSet","inputs":[{"name":"candidate","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__OnlyRollup","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"rollup","type":"address","internalType":"address"}]},{"type":"error","name":"EscapeHatch__SetUnstable","inputs":[{"name":"hatch","type":"uint256","internalType":"Hatch"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6101a0604052348015610010575f5ffd5b5060405161296638038061296683398101604081905261002f9161024f565b60018210156100515760405163734638c160e11b815260040160405180910390fd5b5f896001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906100b291906102d8565b90506100bf8160016102ef565b8410156100df5760405163734638c160e11b815260040160405180910390fd5b600285116101005760405163734638c160e11b815260040160405180910390fd5b8385116101205760405163734638c160e11b815260040160405180910390fd5b5f886001600160601b0316116101495760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316866001600160601b0316111561017c5760405163734638c160e11b815260040160405180910390fd5b876001600160601b0316876001600160601b031611156101af5760405163734638c160e11b815260040160405180910390fd5b62278d008211156101d35760405163734638c160e11b815260040160405180910390fd5b506001600160a01b039889166080529690971660c0526001600160601b0394851660e05292841661010052921661012052610140919091526101605260a09190915261018052610314565b80516001600160a01b0381168114610234575f5ffd5b919050565b80516001600160601b0381168114610234575f5ffd5b5f5f5f5f5f5f5f5f5f6101208a8c031215610268575f5ffd5b6102718a61021e565b985061027f60208b0161021e565b975061028d60408b01610239565b965061029b60608b01610239565b95506102a960808b01610239565b60a08b015160c08c015160e08d0151610100909d01519b9e9a9d50989b979a9199909897965090945092505050565b5f602082840312156102e8575f5ffd5b5051919050565b8082018082111561030e57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a05160c05160e05161010051610120516101405161016051610180516125146104525f395f81816102c00152610db601525f81816104c3015281816108bf01528181610d0601526115bb01525f81816101b1015281816108960152818161196a0152611a5d01525f8181610209015261183801525f818161045c01528181610f810152610fb501525f818161032701526113aa01525f81816103b70152818161102101526113f801525f81816104130152818161050f015281816105650152818161073e0152818161078801528181610ace0152818161114a01526112e401525f81816103ed015281816105e8015281816108120152818161092101528181610a2e01528181610bcd01528181610d2c01528181610dd7015281816112390152818161160f015281816116f701526117b101526125145ff3fe608060405234801561000f575f5ffd5b50600436106101ab575f3560e01c80637a27d3a3116100eb578063c504312a1161008f578063c504312a14610452578063d0e4f5741461045a578063d51b9e9314610480578063d6f1c60114610493578063d7c4ccf51461049b578063eeacfa8c146104ae578063ef9e36e5146104c1578063ff549fe1146104e7575f5ffd5b80637a27d3a3146103ad57806383d6f7f1146103b55780638a35146c146103db57806390f72273146103e3578063a4d2342a146103eb578063ad7c132114610411578063ae40f1bf14610437578063ba4f6a781461043f575f5ffd5b80633349b59f116101525780633349b59f146102ec57806333fac65e146102ff578063359346d51461031257806337722a7f146103255780633a30aefe1461034b57806346c326181461037d5780636fb9935c14610392578063735b69b61461039a575f5ffd5b80630a42f86f146101af578063147d97bd146101e4578063181803d914610207578063182cad591461024157806319db12d21461026957806328bde1e11461029e5780632a2629f6146102be57806330a56347146102e4575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b6101f76101f236600461225a565b6104fa565b60405190151581526020016101db565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b0390911681526020016101db565b61025461024f36600461225a565b61050b565b60405163ffffffff90911681526020016101db565b61029161027736600461225a565b5f908152600660205260409020546001600160a01b031690565b6040516101db9190612271565b6102b16102ac36600461229c565b61065f565b6040516101db91906122eb565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d161071e565b6102916102fa36600461225a565b61072e565b61025461030d36600461225a565b61073a565b610291610320366004612340565b61084a565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b61035e61035936600461225a565b61088e565b6040805192151583526001600160a01b039091166020830152016101db565b61039061038b366004612360565b61091e565b005b610390610a22565b6101d16103a836600461225a565b610ece565b6101d1600181565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b610390610ed8565b610390611090565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d1611233565b6101f761044d36600461225a565b6112bc565b6101d1600281565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b6101f761048e36600461229c565b6112c8565b6103906112d4565b6101d16104a936600461225a565b611459565b6103906104bc36600461225a565b6114a3565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d16104f536600461225a565b61192c565b5f6105058183611936565b92915050565b5f817f000000000000000000000000000000000000000000000000000000000000000081101561055a5760405163379682bf60e21b815260040161055191815260200190565b60405180910390fd5b505f61058e610589847f0000000000000000000000000000000000000000000000000000000000000000611959565b611964565b90508260028210156105b65760405163379682bf60e21b815260040161055191815260200190565b505f6105c3826002611959565b604051639724931760e01b815260048101829052909150610657906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561062e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065291906123a9565b61198f565b949350505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106c3576106c36122b7565b60038111156106d4576106d46122b7565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61072960026119c3565b905090565b5f6105056002836119d6565b5f817f00000000000000000000000000000000000000000000000000000000000000008110156107805760405163379682bf60e21b815260040161055191815260200190565b505f6107ac837f0000000000000000000000000000000000000000000000000000000000000000611959565b90505f6107b882611964565b90508360018210156107e05760405163379682bf60e21b815260040161055191815260200190565b505f6107ed826001611959565b604051639724931760e01b815260048101829052909150610841906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639724931790602401610613565b95945050505050565b5f5f6108558361050b565b9050824263ffffffff8316106108815760405163a6f5b7d760e01b815260040161055191815260200190565b50610657600285836119e5565b5f80806108bb7f0000000000000000000000000000000000000000000000000000000000000000856123d4565b90507f000000000000000000000000000000000000000000000000000000000000000081106108ef57505f93849350915050565b5f6108f985611a57565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b038116821461097c57604051632c0d7ee360e21b81526001600160a01b03928316600482015291166024820152604401610551565b50506001600160a01b0383165f9081526005602052604090206109a76001600160801b03841661198f565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a22947486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac91906123e7565b6001600160a01b031614610abc57565b5f610ac5611233565b90505f610af2827f0000000000000000000000000000000000000000000000000000000000000000611a82565b9050610afe5f82611936565b15610b07575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610b2e8261050b565b9050814263ffffffff831610610b5a5760405163a6f5b7d760e01b815260040161055191815260200190565b505f610b67600283611a8d565b9050805f03610b765750505050565b5f610b8561024f856001611a82565b90508063ffffffff164210610b9b575050505050565b5f610ba58561073a565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610c12573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3691906123a9565b90505f848783604051602001610c56929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610c7891906123d4565b90505f610c87600283896119e5565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610cd757610cd76122b7565b14610ce957610ce7600283611aa8565b505b805460ff191660021781555f610daf610d2a610d048c611964565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daa91906123a9565b611a82565b9050610e6c7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610e2391815260200190565b602060405180830381865afa158015610e3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6291906123a9565b6106529190612416565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61050582611964565b335f8181526005602052604090206003815460ff166003811115610efe57610efe6122b7565b825460039260ff9091169114610f295760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff164281811015610f6a57604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610fe257610fdb6001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612444565b9050610fe5565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015611048576110486001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611b09565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db8260405161108391815260200190565b60405180910390a2505050565b611098610a22565b336110a4600282611b6d565b81906110c4576040516361adc4e760e01b81526004016105519190612271565b506001600160a01b0381165f9081526005602052604090206001815460ff1660038111156110f4576110f46122b7565b825460019260ff909116911461111f5760405163ce807b6f60e01b8152600401610551929190612429565b5061112d9050600283611aa8565b50805460ff191660031781555f611170611145611233565b610daa7f00000000000000000000000000000000000000000000000000000000000000006001612416565b90505f61117c8261050b565b90508063ffffffff164210156111ba576111954261198f565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556111e9565b6111c861024f836001611a82565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610a14565b5f6107297f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611293573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b791906123a9565b611a57565b5f610505600183611936565b5f610505600283611b6d565b61130861024f6112e2611233565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b5033611315600282611b6d565b158190611336576040516332e5ace360e01b81526004016105519190612271565b506001600160a01b0381165f90815260056020526040812090815460ff166003811115611365576113656122b7565b82545f9260ff909116911461138f5760405163ce807b6f60e01b8152600401610551929190612429565b5061139d9050600283611b8e565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611422906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611cc8565b6040516001600160a01b038316907ff9482192183f47a91819f74bcb71c855dfdfb0a2e86b0de1027dcc6186ab7d58905f90a25050565b5f5f6114648361050b565b9050824263ffffffff8316106114905760405163a6f5b7d760e01b815260040161055191815260200190565b5061149c600282611a8d565b9392505050565b6114ae600182611936565b1581906114d1576040516381db3b0b60e01b815260040161055191815260200190565b505f818152600660205260409020546001600160a01b0316818161150b5760405163ed2c70ef60e01b815260040161055191815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561153b5761153b6122b7565b825460029260ff90911691146115665760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff1642818110156115a757604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b50505f6115b384611964565b905060015f5b7f0000000000000000000000000000000000000000000000000000000000000000811015611698575f6115ec8483611a82565b6040516315d3bc7b60e01b81526004810182905290915030906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906315d3bc7b90602401602060405180830381865afa158015611654573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061167891906123e7565b6001600160a01b03161461168f575f925050611698565b506001016115b9565b5060015f821580156116b657508454600160881b900463ffffffff16155b61189e578454600160881b900463ffffffff165f036116d3575f91505b8180156117775750845f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611751573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177591906123a9565b105b15611780575f91505b818015611825575060018501548554604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa1580156117fe573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182291906123a9565b14155b1561182e575f91505b8161189e575083547f00000000000000000000000000000000000000000000000000000000000000006001600160601b03818116928791600191611879918591610100900416612457565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b845460ff63ffffffff60881b01191660031785555f6001808701829055600889901c825260208190526040909120805460ff8a169290921b9091179055604080518315158152602081018390526001600160a01b0388169189917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a350505050505050565b5f61050582611a57565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f61149c8284612444565b5f6105057f000000000000000000000000000000000000000000000000000000000000000083612476565b5f63ffffffff8211156119bf576040516306dfcc6560e41b81526020600482015260248101839052604401610551565b5090565b5f610505826119d14261198f565b611a8d565b5f61149c83836119e54261198f565b5f5f6119f18584611a8d565b90508381808210611a1e57604051636bc4db8d60e11b815260048101929092526024820152604401610551565b50505f8481526001860160205260408120611a399085611d07565b9050611a4d816001600160e01b0316611d5c565b9695505050505050565b5f6105057f00000000000000000000000000000000000000000000000000000000000000008361248d565b5f61149c8284612416565b5f611a988383611d07565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611afa575f915050610505565b61065784826020015185611d8f565b6040516001600160a01b03838116602483015260448201839052611b6891859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611fba565b505050565b6001600160a01b03165f908152600291909101602052604090205460ff1690565b5f6001600160a01b038216611bb55760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff1615611bde57505f610505565b5f611be88461201d565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611c584261198f565b9050611c9081611c70866001600160a01b0316612054565b6001600160e01b0385165f90815260018901602052604090209190612087565b50611cbb905081611cb3611ca58560016124a0565b6001600160e01b0316612054565b879190612087565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611d019186918216906323b872dd90608401611b36565b50505050565b81545f9081611d18858583856120a1565b90508015611d5257611d3c85611d2f600184612444565b5f91825260209091200190565b54600160201b90046001600160e01b0316610841565b5f95945050505050565b5f6001600160a01b038211156119bf576040516306dfcc6560e41b815260a0600482015260248101839052604401610551565b5f80611d9a8561201d565b9050806001600160e01b0316846001600160e01b031610611de157604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610551565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611e506001836124bf565b90505f611e5c4261198f565b9050856001600160e01b0316826001600160e01b031614611f67576001600160e01b0382165f9081526001880160205260408120611eab90611e9d9061201d565b6001600160e01b0316611d5c565b90506040518060400160405280600115158152602001611ed3896001600160e01b0316612054565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611f63908390611f4390612054565b6001600160e01b038a165f90815260018c01602052604090209190612087565b5050505b6001600160e01b0382165f9081526001880160205260408120611f8b918390612087565b5050611fab81611fa3846001600160e01b0316612054565b899190612087565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611fd9576040513d5f823e3d81fd5b50505f513d91508115611ff0578060011415611ffd565b6001600160a01b0384163b155b15611d015783604051635274afe760e01b81526004016105519190612271565b80545f90801561204c5761203683611d2f600184612444565b54600160201b90046001600160e01b031661149c565b5f9392505050565b5f6001600160e01b038211156119bf576040516306dfcc6560e41b815260e0600482015260248101839052604401610551565b5f806120948585856120fc565b915091505b935093915050565b5f5b818310156120f4575f6120b68484612240565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120e0578092506120ee565b6120eb816001612416565b93505b506120a3565b509392505050565b82545f90819080156121e8575f61211887611d2f600185612444565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561215957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361218c57825463ffffffff16600160201b6001600160e01b038916021783556121da565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b945085935061209992505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081612099565b5f61224e600284841861248d565b61149c90848416612416565b5f6020828403121561226a575f5ffd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114612299575f5ffd5b50565b5f602082840312156122ac575f5ffd5b813561149c81612285565b634e487b7160e01b5f52602160045260245ffd5b600481106122e757634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506122fd8284516122cb565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f60408385031215612351575f5ffd5b50508035926020909101359150565b5f5f5f60608486031215612372575f5ffd5b833561237d81612285565b925060208401356001600160801b0381168114612398575f5ffd5b929592945050506040919091013590565b5f602082840312156123b9575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826123e2576123e26123c0565b500690565b5f602082840312156123f7575f5ffd5b815161149c81612285565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561050557610505612402565b6040810161243782856122cb565b61149c60208301846122cb565b8181038181111561050557610505612402565b6001600160601b03828116828216039081111561050557610505612402565b808202811582820484141761050557610505612402565b5f8261249b5761249b6123c0565b500490565b6001600160e01b03818116838216019081111561050557610505612402565b6001600160e01b0382811682821603908111156105055761050561240256fea26469706673582212204402ac3c28694b69cc32b122874a2687843aeb0526a243751cec7f7091bc9bff64736f6c634300081e0033","sourceMap":"1551:25558:72:-:0;;;3371:2251;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3928:1;3911:13;:18;;3903:71;;;;-1:-1:-1;;;3903:71:72;;;;;;;;;;;;4120:29;4162:7;-1:-1:-1;;;;;4152:43:72;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4120:77;-1:-1:-1;4230:25:72;4120:77;4254:1;4230:25;:::i;:::-;4211:15;:44;;4203:97;;;;-1:-1:-1;;;4203:97:72;;;;;;;;;;;;1965:1;4546:10;:39;4538:92;;;;-1:-1:-1;;;4538:92:72;;;;;;;;;;;;4658:15;4645:10;:28;4637:81;;;;-1:-1:-1;;;4637:81:72;;;;;;;;;;;;4810:1;4798:9;-1:-1:-1;;;;;4798:13:72;;4790:66;;;;-1:-1:-1;;;4790:66:72;;;;;;;;;;;;4968:9;-1:-1:-1;;;;;4942:35:72;:22;-1:-1:-1;;;;;4942:35:72;;;4934:88;;;;-1:-1:-1;;;4934:88:72;;;;;;;;;;;;5133:9;-1:-1:-1;;;;;5115:27:72;:14;-1:-1:-1;;;;;5115:27:72;;;5107:80;;;;-1:-1:-1;;;5107:80:72;;;;;;;;;;;;5225:7;5202:19;:30;;5194:83;;;;-1:-1:-1;;;5194:83:72;;;;;;;;;;;;-1:-1:-1;;;;;;5284:27:72;;;;;5317:31;;;;;;-1:-1:-1;;;;;5354:21:72;;;;;5381:31;;;;;5418:48;;;;5472:22;;;;;5500:33;;5539:30;;;;;5575:42;;1551:25558;;14:177:184;93:13;;-1:-1:-1;;;;;135:31:184;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:175::-;274:13;;-1:-1:-1;;;;;316:30:184;;306:41;;296:69;;361:1;358;351:12;376:994;515:6;523;531;539;547;555;563;571;579;632:3;620:9;611:7;607:23;603:33;600:53;;;649:1;646;639:12;600:53;672:40;702:9;672:40;:::i;:::-;662:50;;731:49;776:2;765:9;761:18;731:49;:::i;:::-;721:59;;799:48;843:2;832:9;828:18;799:48;:::i;:::-;789:58;;866:48;910:2;899:9;895:18;866:48;:::i;:::-;856:58;;933:49;977:3;966:9;962:19;933:49;:::i;:::-;1044:3;1029:19;;1023:26;1139:3;1124:19;;1118:26;1236:3;1221:19;;1215:26;1333:3;1318:19;;;1312:26;376:994;;;;-1:-1:-1;376:994:184;;;;923:59;;1023:26;;1118;1215;-1:-1:-1;1312:26:184;;-1:-1:-1;376:994:184;-1:-1:-1;;;376:994:184:o;1375:230::-;1445:6;1498:2;1486:9;1477:7;1473:23;1469:32;1466:52;;;1514:1;1511;1504:12;1466:52;-1:-1:-1;1559:16:184;;1375:230;-1:-1:-1;1375:230:184:o;1610:222::-;1675:9;;;1696:10;;;1693:133;;;1748:10;1743:3;1739:20;1736:1;1729:31;1783:4;1780:1;1773:15;1811:4;1808:1;1801:15;1693:133;1610:222;;;;:::o;:::-;1551:25558:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106101ab575f3560e01c80637a27d3a3116100eb578063c504312a1161008f578063c504312a14610452578063d0e4f5741461045a578063d51b9e9314610480578063d6f1c60114610493578063d7c4ccf51461049b578063eeacfa8c146104ae578063ef9e36e5146104c1578063ff549fe1146104e7575f5ffd5b80637a27d3a3146103ad57806383d6f7f1146103b55780638a35146c146103db57806390f72273146103e3578063a4d2342a146103eb578063ad7c132114610411578063ae40f1bf14610437578063ba4f6a781461043f575f5ffd5b80633349b59f116101525780633349b59f146102ec57806333fac65e146102ff578063359346d51461031257806337722a7f146103255780633a30aefe1461034b57806346c326181461037d5780636fb9935c14610392578063735b69b61461039a575f5ffd5b80630a42f86f146101af578063147d97bd146101e4578063181803d914610207578063182cad591461024157806319db12d21461026957806328bde1e11461029e5780632a2629f6146102be57806330a56347146102e4575b5f5ffd5b7f00000000000000000000000000000000000000000000000000000000000000005b6040519081526020015b60405180910390f35b6101f76101f236600461225a565b6104fa565b60405190151581526020016101db565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160601b0390911681526020016101db565b61025461024f36600461225a565b61050b565b60405163ffffffff90911681526020016101db565b61029161027736600461225a565b5f908152600660205260409020546001600160a01b031690565b6040516101db9190612271565b6102b16102ac36600461229c565b61065f565b6040516101db91906122eb565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d161071e565b6102916102fa36600461225a565b61072e565b61025461030d36600461225a565b61073a565b610291610320366004612340565b61084a565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b61035e61035936600461225a565b61088e565b6040805192151583526001600160a01b039091166020830152016101db565b61039061038b366004612360565b61091e565b005b610390610a22565b6101d16103a836600461225a565b610ece565b6101d1600181565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b610390610ed8565b610390611090565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d1611233565b6101f761044d36600461225a565b6112bc565b6101d1600281565b7f0000000000000000000000000000000000000000000000000000000000000000610229565b6101f761048e36600461229c565b6112c8565b6103906112d4565b6101d16104a936600461225a565b611459565b6103906104bc36600461225a565b6114a3565b7f00000000000000000000000000000000000000000000000000000000000000006101d1565b6101d16104f536600461225a565b61192c565b5f6105058183611936565b92915050565b5f817f000000000000000000000000000000000000000000000000000000000000000081101561055a5760405163379682bf60e21b815260040161055191815260200190565b60405180910390fd5b505f61058e610589847f0000000000000000000000000000000000000000000000000000000000000000611959565b611964565b90508260028210156105b65760405163379682bf60e21b815260040161055191815260200190565b505f6105c3826002611959565b604051639724931760e01b815260048101829052909150610657906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906397249317906024015b602060405180830381865afa15801561062e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061065291906123a9565b61198f565b949350505050565b6040805160a0810182525f808252602082018190529181018290526060810182905260808101919091526001600160a01b0382165f9081526005602052604090819020815160a081019092528054829060ff1660038111156106c3576106c36122b7565b60038111156106d4576106d46122b7565b815281546001600160601b03610100820416602083015263ffffffff600160681b820481166040840152600160881b90910416606082015260019091015460809091015292915050565b5f61072960026119c3565b905090565b5f6105056002836119d6565b5f817f00000000000000000000000000000000000000000000000000000000000000008110156107805760405163379682bf60e21b815260040161055191815260200190565b505f6107ac837f0000000000000000000000000000000000000000000000000000000000000000611959565b90505f6107b882611964565b90508360018210156107e05760405163379682bf60e21b815260040161055191815260200190565b505f6107ed826001611959565b604051639724931760e01b815260048101829052909150610841906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639724931790602401610613565b95945050505050565b5f5f6108558361050b565b9050824263ffffffff8316106108815760405163a6f5b7d760e01b815260040161055191815260200190565b50610657600285836119e5565b5f80806108bb7f0000000000000000000000000000000000000000000000000000000000000000856123d4565b90507f000000000000000000000000000000000000000000000000000000000000000081106108ef57505f93849350915050565b5f6108f985611a57565b5f908152600660205260409020546001600160a01b0316801515969095509350505050565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b038116821461097c57604051632c0d7ee360e21b81526001600160a01b03928316600482015291166024820152604401610551565b50506001600160a01b0383165f9081526005602052604090206109a76001600160801b03841661198f565b815463ffffffff91909116600160881b0263ffffffff60881b1990911617815560018101829055604080516001600160801b0385168152602081018490526001600160a01b038616917f06ce34f26493be3a32c7dbec4418362d0135f3e197942f5dd02b5836e537018391015b60405180910390a250505050565b306001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a22947486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac91906123e7565b6001600160a01b031614610abc57565b5f610ac5611233565b90505f610af2827f0000000000000000000000000000000000000000000000000000000000000000611a82565b9050610afe5f82611936565b15610b07575050565b600881901c5f9081526020819052604081208054600160ff85161b179055610b2e8261050b565b9050814263ffffffff831610610b5a5760405163a6f5b7d760e01b815260040161055191815260200190565b505f610b67600283611a8d565b9050805f03610b765750505050565b5f610b8561024f856001611a82565b90508063ffffffff164210610b9b575050505050565b5f610ba58561073a565b604051630f5fdda560e31b815263ffffffff821660048201529091505f906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637afeed2890602401602060405180830381865afa158015610c12573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3691906123a9565b90505f848783604051602001610c56929190918252602082015260400190565b604051602081830303815290604052805190602001205f1c610c7891906123d4565b90505f610c87600283896119e5565b5f89815260066020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558352600590915290209091506003815460ff166003811115610cd757610cd76122b7565b14610ce957610ce7600283611aa8565b505b805460ff191660021781555f610daf610d2a610d048c611964565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166325b223666040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d86573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610daa91906123a9565b611a82565b9050610e6c7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166397249317846040518263ffffffff1660e01b8152600401610e2391815260200190565b602060405180830381865afa158015610e3e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e6291906123a9565b6106529190612416565b825463ffffffff91909116600160681b0263ffffffff60681b199091161782556040516001600160a01b038416908b907f481f68776206fa08da4a36697c67062a4d9d4b25f92abc91063615d270d0f560905f90a35050505050505050505050565b5f61050582611964565b335f8181526005602052604090206003815460ff166003811115610efe57610efe6122b7565b825460039260ff9091169114610f295760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff164281811015610f6a57604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b505080546001600160601b036101009091048116907f000000000000000000000000000000000000000000000000000000000000000016811115610fe257610fdb6001600160601b037f00000000000000000000000000000000000000000000000000000000000000001682612444565b9050610fe5565b505f5b6001600160a01b0383165f90815260056020526040812080546001600160a81b0319168155600101558015611048576110486001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611b09565b826001600160a01b03167f9df2bec405429ed33f4542a6139ece7fdb731660929172a6b1e5f2d90a13a2db8260405161108391815260200190565b60405180910390a2505050565b611098610a22565b336110a4600282611b6d565b81906110c4576040516361adc4e760e01b81526004016105519190612271565b506001600160a01b0381165f9081526005602052604090206001815460ff1660038111156110f4576110f46122b7565b825460019260ff909116911461111f5760405163ce807b6f60e01b8152600401610551929190612429565b5061112d9050600283611aa8565b50805460ff191660031781555f611170611145611233565b610daa7f00000000000000000000000000000000000000000000000000000000000000006001612416565b90505f61117c8261050b565b90508063ffffffff164210156111ba576111954261198f565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783556111e9565b6111c861024f836001611a82565b835463ffffffff91909116600160681b0263ffffffff60681b199091161783555b8254604051600160681b90910463ffffffff1681526001600160a01b038516907f227e18a64ffa660621b0096f4e95531b0718897a3a403451ce02a3dc8e57fed390602001610a14565b5f6107297f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b97dd9e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015611293573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112b791906123a9565b611a57565b5f610505600183611936565b5f610505600283611b6d565b61130861024f6112e2611233565b7f0000000000000000000000000000000000000000000000000000000000000000611a82565b5033611315600282611b6d565b158190611336576040516332e5ace360e01b81526004016105519190612271565b506001600160a01b0381165f90815260056020526040812090815460ff166003811115611365576113656122b7565b82545f9260ff909116911461138f5760405163ce807b6f60e01b8152600401610551929190612429565b5061139d9050600283611b8e565b5080546001600160601b037f00000000000000000000000000000000000000000000000000000000000000001661010081026cffffffffffffffffffffffffff19909216919091176001178255611422906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169084903090611cc8565b6040516001600160a01b038316907ff9482192183f47a91819f74bcb71c855dfdfb0a2e86b0de1027dcc6186ab7d58905f90a25050565b5f5f6114648361050b565b9050824263ffffffff8316106114905760405163a6f5b7d760e01b815260040161055191815260200190565b5061149c600282611a8d565b9392505050565b6114ae600182611936565b1581906114d1576040516381db3b0b60e01b815260040161055191815260200190565b505f818152600660205260409020546001600160a01b0316818161150b5760405163ed2c70ef60e01b815260040161055191815260200190565b506001600160a01b0381165f9081526005602052604090206002815460ff16600381111561153b5761153b6122b7565b825460029260ff90911691146115665760405163ce807b6f60e01b8152600401610551929190612429565b50508054600160681b900463ffffffff1642818110156115a757604051636a9f844960e11b815263ffffffff90921660048301526024820152604401610551565b50505f6115b384611964565b905060015f5b7f0000000000000000000000000000000000000000000000000000000000000000811015611698575f6115ec8483611a82565b6040516315d3bc7b60e01b81526004810182905290915030906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906315d3bc7b90602401602060405180830381865afa158015611654573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061167891906123e7565b6001600160a01b03161461168f575f925050611698565b506001016115b9565b5060015f821580156116b657508454600160881b900463ffffffff16155b61189e578454600160881b900463ffffffff165f036116d3575f91505b8180156117775750845f0160119054906101000a900463ffffffff1663ffffffff167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f8352e96040518163ffffffff1660e01b8152600401602060405180830381865afa158015611751573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177591906123a9565b105b15611780575f91505b818015611825575060018501548554604051633777e86360e01b8152600160881b90910463ffffffff1660048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633777e86390602401602060405180830381865afa1580156117fe573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061182291906123a9565b14155b1561182e575f91505b8161189e575083547f00000000000000000000000000000000000000000000000000000000000000006001600160601b03818116928791600191611879918591610100900416612457565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b845460ff63ffffffff60881b01191660031785555f6001808701829055600889901c825260208190526040909120805460ff8a169290921b9091179055604080518315158152602081018390526001600160a01b0388169189917f8243e7a61fc3cbd138f8616c79a1be14bec1d636b4b5260e45cab85fb1e3b8db910160405180910390a350505050505050565b5f61050582611a57565b600881901c5f90815260208390526040902054600160ff83161b16151592915050565b5f61149c8284612444565b5f6105057f000000000000000000000000000000000000000000000000000000000000000083612476565b5f63ffffffff8211156119bf576040516306dfcc6560e41b81526020600482015260248101839052604401610551565b5090565b5f610505826119d14261198f565b611a8d565b5f61149c83836119e54261198f565b5f5f6119f18584611a8d565b90508381808210611a1e57604051636bc4db8d60e11b815260048101929092526024820152604401610551565b50505f8481526001860160205260408120611a399085611d07565b9050611a4d816001600160e01b0316611d5c565b9695505050505050565b5f6105057f00000000000000000000000000000000000000000000000000000000000000008361248d565b5f61149c8284612416565b5f611a988383611d07565b6001600160e01b03169392505050565b6001600160a01b0381165f908152600283016020908152604080832081518083019092525460ff811615158083526101009091046001600160e01b03169282019290925290611afa575f915050610505565b61065784826020015185611d8f565b6040516001600160a01b03838116602483015260448201839052611b6891859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611fba565b505050565b6001600160a01b03165f908152600291909101602052604090205460ff1690565b5f6001600160a01b038216611bb55760405162979f6d60e11b815260040160405180910390fd5b6001600160a01b0382165f90815260028401602052604090205460ff1615611bde57505f610505565b5f611be88461201d565b604080518082018252600181526001600160e01b0383811660208084019182526001600160a01b0389165f90815260028b019091529384209251835491516001600160e81b0319909216901515610100600160e81b031916176101009190921602179055909150611c584261198f565b9050611c9081611c70866001600160a01b0316612054565b6001600160e01b0385165f90815260018901602052604090209190612087565b50611cbb905081611cb3611ca58560016124a0565b6001600160e01b0316612054565b879190612087565b5060019695505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052611d019186918216906323b872dd90608401611b36565b50505050565b81545f9081611d18858583856120a1565b90508015611d5257611d3c85611d2f600184612444565b5f91825260209091200190565b54600160201b90046001600160e01b0316610841565b5f95945050505050565b5f6001600160a01b038211156119bf576040516306dfcc6560e41b815260a0600482015260248101839052604401610551565b5f80611d9a8561201d565b9050806001600160e01b0316846001600160e01b031610611de157604051636bc4db8d60e11b81526001600160e01b03808616600483015282166024820152604401610551565b6040805180820182525f80825260208083018281526001600160a01b038816835260028a019091529281209151825493516001600160e81b0319909416901515610100600160e81b031916176101006001600160e01b0390941693909302929092179055611e506001836124bf565b90505f611e5c4261198f565b9050856001600160e01b0316826001600160e01b031614611f67576001600160e01b0382165f9081526001880160205260408120611eab90611e9d9061201d565b6001600160e01b0316611d5c565b90506040518060400160405280600115158152602001611ed3896001600160e01b0316612054565b6001600160e01b039081169091526001600160a01b0383165f81815260028c016020908152604090912084518154959092015190931661010002610100600160e81b0319911515919091166001600160e81b031990941693909317929092179055611f63908390611f4390612054565b6001600160e01b038a165f90815260018c01602052604090209190612087565b5050505b6001600160e01b0382165f9081526001880160205260408120611f8b918390612087565b5050611fab81611fa3846001600160e01b0316612054565b899190612087565b50600198975050505050505050565b5f5f60205f8451602086015f885af180611fd9576040513d5f823e3d81fd5b50505f513d91508115611ff0578060011415611ffd565b6001600160a01b0384163b155b15611d015783604051635274afe760e01b81526004016105519190612271565b80545f90801561204c5761203683611d2f600184612444565b54600160201b90046001600160e01b031661149c565b5f9392505050565b5f6001600160e01b038211156119bf576040516306dfcc6560e41b815260e0600482015260248101839052604401610551565b5f806120948585856120fc565b915091505b935093915050565b5f5b818310156120f4575f6120b68484612240565b5f8781526020902090915063ffffffff86169082015463ffffffff1611156120e0578092506120ee565b6120eb816001612416565b93505b506120a3565b509392505050565b82545f90819080156121e8575f61211887611d2f600185612444565b805490915063ffffffff80821691600160201b90046001600160e01b031690881682111561215957604051632520601d60e01b815260040160405180910390fd5b8763ffffffff168263ffffffff160361218c57825463ffffffff16600160201b6001600160e01b038916021783556121da565b6040805180820190915263ffffffff808a1682526001600160e01b03808a1660208085019182528d54600181018f555f8f81529190912094519151909216600160201b029216919091179101555b945085935061209992505050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a555f8a815291822095519251909316600160201b029190931617920191909155905081612099565b5f61224e600284841861248d565b61149c90848416612416565b5f6020828403121561226a575f5ffd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b0381168114612299575f5ffd5b50565b5f602082840312156122ac575f5ffd5b813561149c81612285565b634e487b7160e01b5f52602160045260245ffd5b600481106122e757634e487b7160e01b5f52602160045260245ffd5b9052565b5f60a0820190506122fd8284516122cb565b6001600160601b03602084015116602083015263ffffffff604084015116604083015263ffffffff60608401511660608301526080830151608083015292915050565b5f5f60408385031215612351575f5ffd5b50508035926020909101359150565b5f5f5f60608486031215612372575f5ffd5b833561237d81612285565b925060208401356001600160801b0381168114612398575f5ffd5b929592945050506040919091013590565b5f602082840312156123b9575f5ffd5b5051919050565b634e487b7160e01b5f52601260045260245ffd5b5f826123e2576123e26123c0565b500690565b5f602082840312156123f7575f5ffd5b815161149c81612285565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561050557610505612402565b6040810161243782856122cb565b61149c60208301846122cb565b8181038181111561050557610505612402565b6001600160601b03828116828216039081111561050557610505612402565b808202811582820484141761050557610505612402565b5f8261249b5761249b6123c0565b500490565b6001600160e01b03818116838216019081111561050557610505612402565b6001600160e01b0382811682821603908111156105055761050561240256fea26469706673582212204402ac3c28694b69cc32b122874a2687843aeb0526a243751cec7f7091bc9bff64736f6c634300081e0033","sourceMap":"1551:25558:72:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20442:106;20534:9;20442:106;;;160:25:184;;;148:2;133:18;20442:106:72;;;;;;;;16134:151;;;;;;:::i;:::-;;:::i;:::-;;;619:14:184;;612:22;594:41;;582:2;567:18;16134:151:72;454:187:184;20168:131:72;20271:23;20168:131;;;-1:-1:-1;;;;;808:39:184;;;790:58;;778:2;763:18;20168:131:72;646:208:184;25292:541:72;;;;;;:::i;:::-;;:::i;:::-;;;1033:10:184;1021:23;;;1003:42;;991:2;976:18;25292:541:72;859:192:184;15830:145:72;;;;;;:::i;:::-;15921:7;15943:27;;;:19;:27;;;;;;-1:-1:-1;;;;;15943:27:72;;15830:145;;;;;;;;:::i;16758:159::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;21250:126::-;21351:20;21250:126;;17051:128;;;:::i;17933:146::-;;;;;;:::i;:::-;;:::i;26219:575::-;;;;;;:::i;:::-;;:::i;18385:353::-;;;;;;:::i;:::-;;:::i;19670:104::-;19760:9;19670:104;;14712:390;;;;;;:::i;:::-;;:::i;:::-;;;;3673:14:184;;3666:22;3648:41;;-1:-1:-1;;;;;3725:32:184;;;3720:2;3705:18;;3698:60;3621:18;14712:390:72;3480:284:184;10589:484:72;;;;;;:::i;:::-;;:::i;:::-;;21715:2934;;;:::i;15519:130::-;;;;;;:::i;:::-;;:::i;2061:52::-;;2112:1;2061:52;;19409:116;19509:10;19409:116;;9480:709;;;:::i;7733:1416::-;;;:::i;19185:109::-;19282:6;19185:109;;20967:114;21062:14;20967:114;;24770:131;;;:::i;16446:153::-;;;;;;:::i;:::-;;:::i;1912:54::-;;1965:1;1912:54;;19903:114;19998:14;19903:114;;18929:149;;;;;;:::i;:::-;;:::i;6061:754::-;;;:::i;17425:296::-;;;;;;:::i;:::-;;:::i;11734:2670::-;;;;;;:::i;:::-;;:::i;20700:117::-;20797:15;20700:117;;15251:120;;;;;;:::i;:::-;;:::i;16134:151::-;16219:4;16238:42;16219:4;16272:6;16238:20;:42::i;:::-;16231:49;16134:151;-1:-1:-1;;16134:151:72:o;25292:541::-;25375:6;25410;25421:14;25397:38;;;25389:90;;;;-1:-1:-1;;;25389:90:72;;;;;;160:25:184;;148:2;133:18;;14:177;25389:90:72;;;;;;;;;;25486:16;25505:51;25520:35;:6;25540:14;25520:35;:::i;:::-;25505:14;:51::i;:::-;25486:70;-1:-1:-1;25660:6:72;1965:1;25570:54;;;25562:106;;;;-1:-1:-1;;;25562:106:72;;;;;;160:25:184;;148:2;133:18;;14:177;25562:106:72;;25675:17;25695:51;:10;1965:1;25695:51;:::i;:::-;25776:40;;-1:-1:-1;;;25776:40:72;;;;;160:25:184;;;25675:71:72;;-1:-1:-1;25759:69:72;;-1:-1:-1;;;;;25776:6:72;:27;;;;133:18:184;;25776:40:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25759:67;:69::i;:::-;25752:76;25292:541;-1:-1:-1;;;;25292:541:72:o;16758:159::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16885:27:72;;;;;;:15;:27;;;;;;;16878:34;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;16878:34:72;;;;;;;;;-1:-1:-1;;;16878:34:72;;;;;;;;-1:-1:-1;;;16878:34:72;;;;;;;;;;;;;;;;;;;16758:159;-1:-1:-1;;16758:159:72:o;17051:128::-;17126:7;17148:26;:17;:24;:26::i;:::-;17141:33;;17051:128;:::o;17933:146::-;18024:7;18046:28;:17;18067:6;18046:20;:28::i;26219:575::-;26303:6;26338;26349:14;26325:38;;;26317:90;;;;-1:-1:-1;;;26317:90:72;;;;;;160:25:184;;148:2;133:18;;14:177;26317:90:72;;26414:19;26436:35;:6;26456:14;26436:35;:::i;:::-;26414:57;;26477:16;26496:29;26511:13;26496:14;:29::i;:::-;26477:48;-1:-1:-1;26627:6:72;2112:1;26539:52;;;26531:104;;;;-1:-1:-1;;;26531:104:72;;;;;;160:25:184;;148:2;133:18;;14:177;26531:104:72;;26642:15;26660:49;:10;2112:1;26660:49;:::i;:::-;26739:38;;-1:-1:-1;;;26739:38:72;;;;;160:25:184;;;26642:67:72;;-1:-1:-1;26722:67:72;;-1:-1:-1;;;;;26739:6:72;:27;;;;133:18:184;;26739:38:72;14:177:184;26722:67:72;26715:74;26219:575;-1:-1:-1;;;;;26219:575:72:o;18385:353::-;18514:7;18531:15;18549:23;18565:6;18549:15;:23::i;:::-;18531:41;-1:-1:-1;18646:6:72;18597:15;18586:26;;;;18578:76;;;;-1:-1:-1;;;18578:76:72;;;;;;160:25:184;;148:2;133:18;;14:177;18578:76:72;-1:-1:-1;18667:66:72;:17;18716:6;18724:8;18667:48;:66::i;14712:390::-;14793:11;;;14853:32;14876:9;14866:6;14853:32;:::i;:::-;14830:55;;14911:15;14895:12;:31;14891:78;;-1:-1:-1;14944:5:72;;;;-1:-1:-1;14712:390:72;-1:-1:-1;;14712:390:72:o;14891:78::-;14975:11;14989:17;14999:6;14989:9;:17::i;:::-;15023:26;;;;:19;:26;;;;;;-1:-1:-1;;;;;15023:26:72;15064:22;;;;15023:26;;-1:-1:-1;14712:390:72;-1:-1:-1;;;;14712:390:72:o;10589:484::-;10745:10;10767:6;-1:-1:-1;;;;;10745:29:72;;;;10737:99;;;;-1:-1:-1;;;10737:99:72;;-1:-1:-1;;;;;5398:32:184;;;10737:99:72;;;5380:51:184;5467:32;;5447:18;;;5440:60;5353:18;;10737:99:72;5206:300:184;10737:99:72;-1:-1:-1;;;;;;;10872:26:72;;10843;10872;;;:15;:26;;;;;10932:28;-1:-1:-1;;;;;10932:26:72;;;:28::i;:::-;10904:56;;;;;;;-1:-1:-1;;;10904:56:72;-1:-1:-1;;;;10904:56:72;;;;;;-1:-1:-1;10966:25:72;;:36;;;11014:54;;;-1:-1:-1;;;;;5703:32:184;;5685:51;;5767:2;5752:18;;5745:34;;;-1:-1:-1;;;;;11014:54:72;;;;;5658:18:184;11014:54:72;;;;;;;;10731:342;10589:484;;;:::o;21715:2934::-;22184:4;-1:-1:-1;;;;;22140:49:72;22148:6;-1:-1:-1;;;;;22148:21:72;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;22140:49:72;;22136:76;;21715:2934::o;22136:76::-;22218:18;22239:17;:15;:17::i;:::-;22218:38;;22262:17;22282:41;:12;22308:14;22282:41;:::i;:::-;22262:61;-1:-1:-1;22334:47:72;:16;22262:61;22334:20;:47::i;:::-;22330:74;;;22391:7;;21715:2934::o;22330:74::-;1677:1:64;1668:10;;;22410:16:72;1732:20:64;;;;;;;;;;:28;;1703:1;1717:4;1709:12;;1703:19;1732:28;;;22572::72;1668:10:64;22572:15:72;:28::i;:::-;22554:46;-1:-1:-1;22738:11:72;22689:15;22678:26;;;;22670:81;;;;-1:-1:-1;;;22670:81:72;;;;;;160:25:184;;148:2;133:18;;14:177;22670:81:72;-1:-1:-1;22758:15:72;22776:45;:17;22812:8;22776:35;:45::i;:::-;22758:63;;22831:7;22842:1;22831:12;22827:39;;22853:7;;;;21715:2934::o;22827:39::-;23250:19;23272:44;23288:27;:11;23313:1;23288:27;:::i;23272:44::-;23250:66;;23345:12;23326:31;;:15;:31;23322:58;;23367:7;;;;;21715:2934::o;23322:58::-;23434:13;23450:29;23467:11;23450:16;:29::i;:::-;23500:46;;-1:-1:-1;;;23500:46:72;;23523:22;;;23500:46;;;160:25:184;23434:45:72;;-1:-1:-1;23485:12:72;;-1:-1:-1;;;;;23500:6:72;:22;;;;133:18:184;;23500:46:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23485:61;;23552:13;23620:7;23597:11;23610:4;23586:29;;;;;;;;6718:25:184;;;6774:2;6759:18;;6752:34;6706:2;6691:18;;6517:275;23586:29:72;;;;;;;;;;;;;23576:40;;;;;;23568:49;;:59;;;;:::i;:::-;23552:75;-1:-1:-1;23633:16:72;23652:65;:17;23552:75;23708:8;23652:48;:65::i;:::-;23724:32;;;;:19;:32;;;;;;;;:43;;-1:-1:-1;;;;;;23724:43:72;-1:-1:-1;;;;;23724:43:72;;;;;;;;23803:25;;:15;:25;;;;;23724:43;;-1:-1:-1;24143:14:72;24128:11;;;;:29;;;;;;;;:::i;:::-;;24124:84;;24167:34;:17;24192:8;24167:24;:34::i;:::-;;24124:84;24214:30;;-1:-1:-1;;24214:30:72;24228:16;24214:30;;;-1:-1:-1;24367:105:72;:57;:27;24382:11;24367:14;:27::i;:::-;24408:15;24367:57;:::i;:::-;24438:6;-1:-1:-1;;;;;24438:31:72;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24367:105;:::i;:::-;24341:131;;24496:96;24560:20;24514:6;-1:-1:-1;;;;;24514:27:72;;24542:13;24514:42;;;;;;;;;;;;;160:25:184;;148:2;133:18;;14:177;24514:42:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24497:83;;;;:::i;24496:96::-;24478:114;;;;;;;-1:-1:-1;;;24478:114:72;-1:-1:-1;;;;24478:114:72;;;;;;24604:40;;-1:-1:-1;;;;;24604:40:72;;;24622:11;;24604:40;;24478:15;;24604:40;21777:2872;;;;;;;;;;;21715:2934::o;15519:130::-;15602:5;15622:22;15637:6;15622:14;:22::i;9480:709::-;9571:10;9551:17;9616:26;;;:15;:26;;;;;9672:14;9657:11;;;;:29;;;;;;;;:::i;:::-;9738:11;;9722:14;;9738:11;;;;;9657:29;9649:102;;;;-1:-1:-1;;;9649:102:72;;;;;;;;;:::i;:::-;-1:-1:-1;;9785:15:72;;-1:-1:-1;;;9785:15:72;;;;9766;:34;;;;9758:113;;;;-1:-1:-1;;;9758:113:72;;7567:10:184;7555:23;;;9758:113:72;;;7537:42:184;7595:18;;;7588:34;7510:18;;9758:113:72;7364:264:184;9758:113:72;-1:-1:-1;;9903:11:72;;-1:-1:-1;;;;;9903:11:72;;;;;;;9934:14;9925:23;;;9921:99;;;9958:24;-1:-1:-1;;;;;9968:14:72;9958:24;;;:::i;:::-;;;9921:99;;;-1:-1:-1;10012:1:72;9921:99;-1:-1:-1;;;;;10033:26:72;;;;;;:15;:26;;;;;10026:33;;-1:-1:-1;;;;;;10026:33:72;;;;;;10070:10;;10066:73;;10090:42;-1:-1:-1;;;;;10090:10:72;:23;10114:9;10125:6;10090:23;:42::i;:::-;10166:9;-1:-1:-1;;;;;10150:34:72;;10177:6;10150:34;;;;160:25:184;;148:2;133:18;;14:177;10150:34:72;;;;;;;;9545:644;;;9480:709::o;7733:1416::-;8058:18;:16;:18::i;:::-;8103:10;8127:37;:17;8103:10;8127:26;:37::i;:::-;8204:9;8119:96;;;;;-1:-1:-1;;;8119:96:72;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;8251:26:72;;8222;8251;;;:15;:26;;;;;8306:13;8291:11;;;;:28;;;;;;;;:::i;:::-;8370:11;;8355:13;;8370:11;;;;;8291:28;8283:100;;;;-1:-1:-1;;;8283:100:72;;;;;;;;;:::i;:::-;-1:-1:-1;8390:35:72;;-1:-1:-1;8390:17:72;8415:9;8390:24;:35::i;:::-;-1:-1:-1;8431:28:72;;-1:-1:-1;;8431:28:72;8445:14;8431:28;;;-1:-1:-1;8784:50:72;:17;:15;:17::i;:::-;8815:18;8819:14;8815:1;:18;:::i;8784:50::-;8760:74;;8840:19;8862:32;8878:15;8862;:32::i;:::-;8840:54;;8923:12;8905:30;;:15;:30;8901:182;;;8963:26;:15;:24;:26::i;:::-;8945:44;;;;;;;-1:-1:-1;;;8945:44:72;-1:-1:-1;;;;8945:44:72;;;;;;8901:182;;;9028:48;9044:31;:15;9073:1;9044:31;:::i;9028:48::-;9010:66;;;;;;;-1:-1:-1;;;9010:66:72;-1:-1:-1;;;;9010:66:72;;;;;;8901:182;9128:15;;9094:50;;-1:-1:-1;;;9128:15:72;;;;;1003:42:184;;-1:-1:-1;;;;;9094:50:72;;;;;991:2:184;976:18;9094:50:72;859:192:184;24770:131:72;24841:5;24861:35;24871:6;-1:-1:-1;;;;;24871:22:72;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24861:9;:35::i;16446:153::-;16532:4;16551:43;:17;16586:6;16551:21;:43::i;18929:149::-;19016:4;19035:38;:17;19062:10;19035:26;:38::i;6061:754::-;6227:63;6243:46;:17;:15;:17::i;:::-;6274:14;6243:46;:::i;6227:63::-;-1:-1:-1;6317:10:72;6343:37;:17;6317:10;6343:26;:37::i;:::-;6342:38;6424:9;6334:101;;;;;-1:-1:-1;;;6334:101:72;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;6471:26:72;;6442;6471;;;:15;:26;;;;;;6511:11;;;;:26;;;;;;;;:::i;:::-;6586:11;;6573;;6586;;;;;6511:26;6503:96;;;;-1:-1:-1;;;6503:96:72;;;;;;;;;:::i;:::-;-1:-1:-1;6606:32:72;;-1:-1:-1;6606:17:72;6628:9;6606:21;:32::i;:::-;-1:-1:-1;6645:27:72;;-1:-1:-1;;;;;6692:9:72;6678:23;;;;-1:-1:-1;;6678:23:72;;;;;;;6659:13;6678:23;;;6708:64;;-1:-1:-1;;;;;6708:10:72;:27;;6736:9;;6755:4;;6708:27;:64::i;:::-;6784:26;;-1:-1:-1;;;;;6784:26:72;;;;;;;;6125:690;;6061:754::o;17425:296::-;17520:7;17535:15;17553:23;17569:6;17553:15;:23::i;:::-;17535:41;-1:-1:-1;17650:6:72;17601:15;17590:26;;;;17582:76;;;;-1:-1:-1;;;17582:76:72;;;;;;160:25:184;;148:2;133:18;;14:177;17582:76:72;-1:-1:-1;17671:45:72;:17;17707:8;17671:35;:45::i;:::-;17664:52;17425:296;-1:-1:-1;;;17425:296:72:o;11734:2670::-;11832:43;:17;11867:6;11832:21;:43::i;:::-;11831:44;11914:6;11823:99;;;;;-1:-1:-1;;;11823:99:72;;;;;;160:25:184;;148:2;133:18;;14:177;11823:99:72;-1:-1:-1;11929:16:72;11948:27;;;:19;:27;;;;;;-1:-1:-1;;;;;11948:27:72;11968:6;11989:22;11981:81;;;;-1:-1:-1;;;11981:81:72;;;;;;160:25:184;;148:2;133:18;;14:177;11981:81:72;-1:-1:-1;;;;;;12098:25:72;;12069:26;12098:25;;;:15;:25;;;;;12152:16;12137:11;;;;:31;;;;;;;;:::i;:::-;12222:11;;12204:16;;12222:11;;;;;12137:31;12129:106;;;;-1:-1:-1;;;12129:106:72;;;;;;;;;:::i;:::-;-1:-1:-1;;12269:15:72;;-1:-1:-1;;;12269:15:72;;;;12250;:34;;;;12242:113;;;;-1:-1:-1;;;12242:113:72;;7567:10:184;7555:23;;;12242:113:72;;;7537:42:184;7595:18;;;7588:34;7510:18;;12242:113:72;7364:264:184;12242:113:72;;;12543:22;12568;12583:6;12568:14;:22::i;:::-;12543:47;-1:-1:-1;12625:4:72;12596:26;12635:245;12659:15;12655:1;:19;12635:245;;;12689:11;12703:32;:16;12733:1;12703:32;:::i;:::-;12755:36;;-1:-1:-1;;;12755:36:72;;;;;160:25:184;;;12689:46:72;;-1:-1:-1;12804:4:72;;-1:-1:-1;;;;;12755:6:72;:29;;;;133:18:184;;12755:36:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12747:62:72;;12743:131;;12845:5;12821:29;;12860:5;;;12743:131;-1:-1:-1;12676:3:72;;12635:245;;;-1:-1:-1;12901:4:72;12886:12;12944:22;;:56;;;;-1:-1:-1;12970:25:72;;-1:-1:-1;;;12970:25:72;;;;:30;12944:56;12940:1231;;13572:25;;-1:-1:-1;;;13572:25:72;;;;;:30;13568:70;;13624:5;13614:15;;13568:70;13725:7;:73;;;;;13773:4;:25;;;;;;;;;;;;13736:62;;:6;-1:-1:-1;;;;;13736:32:72;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:62;13725:73;13721:113;;;13820:5;13810:15;;13721:113;13921:7;:83;;;;-1:-1:-1;13979:25:72;;;;13949;;13932:43;;-1:-1:-1;;;13932:43:72;;-1:-1:-1;;;13949:25:72;;;;;13932:43;;;1003:42:184;13932:6:72;-1:-1:-1;;;;;13932:16:72;;;;976:18:184;;13932:43:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:72;;13921:83;13917:123;;;14026:5;14016:15;;13917:123;14053:7;14048:117;;-1:-1:-1;14118:38:72;;14085:23;-1:-1:-1;;;;;14072:36:72;;;;14118:38;;:11;;:38;;14085:23;;14118:38;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;14118:38:72;;;;;-1:-1:-1;;;;;14118:38:72;;;;;;14048:117;14177:28;;-1:-1:-1;;;;;;14211:29:72;14191:14;14211:29;;;-1:-1:-1;14177:28:72;14246:25;;;:38;;;1677:1:64;1668:10;;;1732:20;;;;;;;;;;:28;;1717:4;1709:12;;1703:19;;;;1732:28;;;;;14346:53:72;;;8832:14:184;;8825:22;8807:41;;8879:2;8864:18;;8857:34;;;-1:-1:-1;;;;;14346:53:72;;;14361:6;;14346:53;;8780:18:184;14346:53:72;;;;;;;11817:2587;;;;;;11734:2670;:::o;15251:120::-;15329:5;15349:17;15359:6;15349:9;:17::i;1028:217:64:-;1144:1;1135:10;;;1102:4;1206:20;;;;;;;;;;;1170:1;1184:4;1176:12;;1170:19;1206:27;:32;;1028:217;;;;:::o;398:120:89:-;450:5;479:35;511:2;492;479:35;:::i;26977:130:72:-;27038:5;27069:32;27092:9;27082:6;27069:32;:::i;15296:213:62:-;15352:6;15382:16;15374:24;;15370:103;;;15421:41;;-1:-1:-1;;;15421:41:62;;15452:2;15421:41;;;9256:36:184;9308:18;;;9301:34;;;9229:18;;15421:41:62;9075:266:184;15370:103:62;-1:-1:-1;15496:5:62;15296:213::o;7731:155:144:-;7807:7;7829:52;7847:5;7854:26;:15;:24;:26::i;:::-;7829:17;:52::i;5787:188::-;5875:7;5897:73;5928:5;5935:6;5943:26;:15;:24;:26::i;:::-;6403:7;6420:12;6435:36;6453:5;6460:10;6435:17;:36::i;:::-;6420:51;-1:-1:-1;6485:6:144;6420:51;6485:13;;;6477:74;;;;-1:-1:-1;;;6477:74:144;;;;;6718:25:184;;;;6759:18;;;6752:34;6691:18;;6477:74:144;6517:275:184;6477:74:144;-1:-1:-1;;6676:12:144;6691:35;;;:27;;;:35;;;;;:59;;6739:10;6691:47;:59::i;:::-;6676:74;;6771:16;:4;-1:-1:-1;;;;;6771:14:144;;:16::i;:::-;6756:32;6256:537;-1:-1:-1;;;;;;6256:537:144:o;26848:125:72:-;26904:5;26935:32;26958:9;26948:6;26935:32;:::i;276:120:89:-;328:5;357:35;389:2;370;357:35;:::i;8247:167:144:-;8353:7;8375:34;:5;8398:10;8375:22;:34::i;:::-;-1:-1:-1;;;;;8368:41:144;;8247:167;-1:-1:-1;;;8247:167:144:o;3008:266::-;-1:-1:-1;;;;;3130:37:144;;3097:4;3130:37;;;:27;;;:37;;;;;;;;3109:58;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3109:58:144;;;;;;;;;3173:46;;3207:5;3200:12;;;;;3173:46;3232:37;3240:5;3247;:11;;;3260:8;3232:7;:37::i;1219:160:46:-;1328:43;;-1:-1:-1;;;;;9916:32:184;;;1328:43:46;;;9898:51:184;9965:18;;;9958:34;;;1301:71:46;;1321:5;;1343:14;;;;;9871:18:184;;1328:43:46;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1328:43:46;;;;;;;;;;;1301:19;:71::i;:::-;1219:160;;;:::o;9666:164:144:-;-1:-1:-1;;;;;9781:37:144;9762:4;9781:37;;;:27;;;;;:37;;;;;:44;;;;9666:164::o;2127:620::-;2213:4;-1:-1:-1;;;;;2233:22:144;;2225:75;;;;-1:-1:-1;;;2225:75:144;;;;;;;;;;;;-1:-1:-1;;;;;2350:37:144;;;;;;:27;;;:37;;;;;:44;;;2346:77;;;-1:-1:-1;2411:5:144;2404:12;;2346:77;2429:13;2445:19;:5;:17;:19::i;:::-;2510:35;;;;;;;;2525:4;2510:35;;-1:-1:-1;;;;;2510:35:144;;;;;;;;;;-1:-1:-1;;;;;2470:37:144;;-1:-1:-1;2470:37:144;;;:27;;;:37;;;;;;:75;;;;;;-1:-1:-1;;;;;;2470:75:144;;;;;;-1:-1:-1;;;;;;2470:75:144;;;;;;;;;;;2510:35;;-1:-1:-1;2565:26:144;:15;:24;:26::i;:::-;2552:39;;2598:75;2638:3;2643:29;2651:8;-1:-1:-1;;;;;2643:27:144;;:29::i;:::-;-1:-1:-1;;;;;2598:34:144;;;;;;:27;;;:34;;;;;;:75;:39;:75::i;:::-;-1:-1:-1;2679:45:144;;-1:-1:-1;2695:3:144;2700:23;2701:9;:5;2709:1;2701:9;:::i;:::-;-1:-1:-1;;;;;2700:21:144;;:23::i;:::-;2679:5;;:45;:15;:45::i;:::-;-1:-1:-1;2738:4:144;;2127:620;-1:-1:-1;;;;;;2127:620:144:o;1618:188:46:-;1745:53;;-1:-1:-1;;;;;10423:32:184;;;1745:53:46;;;10405:51:184;10492:32;;;10472:18;;;10465:60;10541:18;;;10534:34;;;1718:81:46;;1738:5;;1760:18;;;;;10378::184;;1745:53:46;10203:371:184;1718:81:46;1618:188;;;;:::o;2114:297:65:-;2226:24;;2193:7;;;2274:50;2226:4;2312:3;2193:7;2226:24;2274:18;:50::i;:::-;2260:64;-1:-1:-1;2341:8:65;;:63;;2356:41;2370:4;2389:7;2395:1;2389:3;:7;:::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;;7642:28;;7421:265;2356:41;:48;-1:-1:-1;;;2356:48:65;;-1:-1:-1;;;;;2356:48:65;2341:63;;;2352:1;2334:70;2114:297;-1:-1:-1;;;;;2114:297:65:o;7228:218:62:-;7285:7;-1:-1:-1;;;;;7308:25:62;;7304:105;;;7356:42;;-1:-1:-1;;;7356:42:62;;7387:3;7356:42;;;9256:36:184;9308:18;;;9301:34;;;9229:18;;7356:42:62;9075:266:184;4039:1503:144;4145:4;;4179:19;:5;:17;:19::i;:::-;4157:41;;4218:11;-1:-1:-1;;;;;4208:21:144;:6;-1:-1:-1;;;;;4208:21:144;;4204:106;;4246:57;;-1:-1:-1;;;4246:57:144;;-1:-1:-1;;;;;11043:32:184;;;4246:57:144;;;11025:51:184;11112:32;;11092:18;;;11085:60;10998:18;;4246:57:144;10851:300:184;4204:106:144;4406:32;;;;;;;;-1:-1:-1;4406:32:144;;;;;;;;;;-1:-1:-1;;;;;4366:37:144;;;;:27;;;:37;;;;;;:72;;;;;;-1:-1:-1;;;;;;4366:72:144;;;;;;-1:-1:-1;;;;;;4366:72:144;;;-1:-1:-1;;;;;4366:72:144;;;;;;;;;;;;;4773:15;-1:-1:-1;4773:11:144;:15;:::i;:::-;4753:35;;4794:10;4807:26;:15;:24;:26::i;:::-;4794:39;;4955:6;-1:-1:-1;;;;;4942:19:144;:9;-1:-1:-1;;;;;4942:19:144;;4938:323;;-1:-1:-1;;;;;5003:38:144;;4971:21;5003:38;;;:27;;;:38;;;;;:59;;:47;;:45;:47::i;:::-;-1:-1:-1;;;;;5003:57:144;;:59::i;:::-;4971:92;;5117:48;;;;;;;;5132:4;5117:48;;;;;;5145:18;:6;-1:-1:-1;;;;;5145:16:144;;:18::i;:::-;-1:-1:-1;;;;;5117:48:144;;;;;;-1:-1:-1;;;;;5072:42:144;;;;;;:27;;;:42;;;;;;;;:93;;;;;;;;;;;;;;-1:-1:-1;;;;;;5072:93:144;;;;;;;-1:-1:-1;;;;;;5072:93:144;;;;;;;;;;;;;5173:81;;5214:3;;5219:34;;:32;:34::i;:::-;-1:-1:-1;;;;;5173:35:144;;;;;;:27;;;:35;;;;;;:81;:40;:81::i;:::-;;;4963:298;4938:323;-1:-1:-1;;;;;5337:38:144;;5394:1;5337:38;;;:27;;;:38;;;;;:60;;5381:3;;5337:43;:60::i;:::-;;;5475:45;5491:3;5496:23;5497:9;-1:-1:-1;;;;;5496:21:144;;:23::i;:::-;5475:5;;:45;:15;:45::i;:::-;-1:-1:-1;5533:4:144;;4039:1503;-1:-1:-1;;;;;;;;4039:1503:144:o;7686:720:46:-;7766:18;7794:19;7932:4;7929:1;7922:4;7916:11;7909:4;7903;7899:15;7896:1;7889:5;7882;7877:60;7989:7;7979:176;;8033:4;8027:11;8078:16;8075:1;8070:3;8055:40;8124:16;8119:3;8112:29;7979:176;-1:-1:-1;;8232:1:46;8226:8;8182:16;;-1:-1:-1;8258:15:46;;:68;;8310:11;8325:1;8310:16;;8258:68;;;-1:-1:-1;;;;;8276:26:46;;;:31;8258:68;8254:146;;;8382:5;8349:40;;-1:-1:-1;;;8349:40:46;;;;;;;;:::i;3442:206:65:-;3537:24;;3504:7;;3578:8;;:63;;3593:41;3607:4;3626:7;3632:1;3626:3;:7;:::i;3593:41::-;:48;-1:-1:-1;;;3593:48:65;;-1:-1:-1;;;;;3593:48:65;3578:63;;;3589:1;3571:70;3442:206;-1:-1:-1;;;3442:206:65:o;3156:218:62:-;3213:7;-1:-1:-1;;;;;3236:25:62;;3232:105;;;3284:42;;-1:-1:-1;;;3284:42:62;;3315:3;3284:42;;;9256:36:184;9308:18;;;9301:34;;;9229:18;;3284:42:62;9075:266:184;1277:210:65;1389:16;;1442:38;1450:4;1469:3;1474:5;1442:7;:38::i;:::-;1435:45;;;;1277:210;;;;;;;:::o;6061:433::-;6218:7;6237:230;6250:4;6244:3;:10;6237:230;;;6270:11;6284:23;6297:3;6302:4;6284:12;:23::i;:::-;7531:28;7594:20;;;7659:4;7646:18;;6270:37;;-1:-1:-1;6325:35:65;;;;7642:28;;6325:29;;;:35;6321:136;;;6387:3;6380:10;;6321:136;;;6435:7;:3;6441:1;6435:7;:::i;:::-;6429:13;;6321:136;6256:211;6237:230;;;-1:-1:-1;6483:4:65;6061:433;-1:-1:-1;;;6061:433:65:o;4789:922::-;4970:11;;4910:16;;;;4996:7;;4992:713;;5019:26;5048:28;5062:4;5068:7;5074:1;5068:3;:7;:::i;5048:28::-;5107:9;;;;-1:-1:-1;5107:9:65;;;;;-1:-1:-1;;;5150:11:65;;-1:-1:-1;;;;;5150:11:65;;5235:13;;;;5231:89;;;5275:30;;-1:-1:-1;;;5275:30:65;;;;;;;;;;;5231:89;5394:3;5383:14;;:7;:14;;;5379:163;;5417:19;;;;-1:-1:-1;;;;;;;;5417:19:65;;;;;;5379:163;;;5485:41;;;;;;;;;;;;;;;-1:-1:-1;;;;;5485:41:65;;;;;;;;;;5475:52;;;;;;;-1:-1:-1;5475:52:65;;;;;;;;;;;;;;-1:-1:-1;;;5475:52:65;;;;;;;;;;5379:163;5563:9;-1:-1:-1;5574:5:65;;-1:-1:-1;5555:25:65;;-1:-1:-1;;;5555:25:65;4992:713;-1:-1:-1;;5621:41:65;;;;;;;;;;;;;;;-1:-1:-1;;;;;5621:41:65;;;;;;;;;;5611:52;;;;;;;-1:-1:-1;5611:52:65;;;;;;;;;;;;;-1:-1:-1;;;5611:52:65;;;;;;;;;;;;-1:-1:-1;;5655:5:65;5677:17;;3595:153:61;3657:7;3730:11;3740:1;3731:5;;;3730:11;:::i;:::-;3720:21;;3721:5;;;3720:21;:::i;196:253:184:-;282:6;335:2;323:9;314:7;310:23;306:32;303:52;;;351:1;348;341:12;303:52;-1:-1:-1;396:23:184;;196:253;-1:-1:-1;196:253:184:o;1056:203::-;-1:-1:-1;;;;;1220:32:184;;;;1202:51;;1190:2;1175:18;;1056:203::o;1264:131::-;-1:-1:-1;;;;;1339:31:184;;1329:42;;1319:70;;1385:1;1382;1375:12;1319:70;1264:131;:::o;1400:247::-;1459:6;1512:2;1500:9;1491:7;1487:23;1483:32;1480:52;;;1528:1;1525;1518:12;1480:52;1567:9;1554:23;1586:31;1611:5;1586:31;:::i;1652:127::-;1713:10;1708:3;1704:20;1701:1;1694:31;1744:4;1741:1;1734:15;1768:4;1765:1;1758:15;1784:234;1862:1;1855:5;1852:12;1842:143;;1907:10;1902:3;1898:20;1895:1;1888:31;1942:4;1939:1;1932:15;1970:4;1967:1;1960:15;1842:143;1994:18;;1784:234::o;2023:584::-;2179:4;2221:3;2210:9;2206:19;2198:27;;2234:48;2272:9;2263:6;2257:13;2234:48;:::i;:::-;-1:-1:-1;;;;;2342:4:184;2334:6;2330:17;2324:24;2320:57;2313:4;2302:9;2298:20;2291:87;2446:10;2438:4;2430:6;2426:17;2420:24;2416:41;2409:4;2398:9;2394:20;2387:71;2526:10;2518:4;2510:6;2506:17;2500:24;2496:41;2489:4;2478:9;2474:20;2467:71;2594:4;2586:6;2582:17;2576:24;2569:4;2558:9;2554:20;2547:54;2023:584;;;;:::o;2843:373::-;2938:6;2946;2999:2;2987:9;2978:7;2974:23;2970:32;2967:52;;;3015:1;3012;3005:12;2967:52;-1:-1:-1;;3060:23:184;;;3180:2;3165:18;;;3152:32;;-1:-1:-1;2843:373:184:o;3769:497::-;3846:6;3854;3862;3915:2;3903:9;3894:7;3890:23;3886:32;3883:52;;;3931:1;3928;3921:12;3883:52;3970:9;3957:23;3989:31;4014:5;3989:31;:::i;:::-;4039:5;-1:-1:-1;4096:2:184;4081:18;;4068:32;-1:-1:-1;;;;;4131:33:184;;4119:46;;4109:74;;4179:1;4176;4169:12;4109:74;3769:497;;4202:7;;-1:-1:-1;;;4256:2:184;4241:18;;;;4228:32;;3769:497::o;4690:262::-;4792:6;4845:2;4833:9;4824:7;4820:23;4816:32;4813:52;;;4861:1;4858;4851:12;4813:52;-1:-1:-1;4906:16:184;;4690:262;-1:-1:-1;4690:262:184:o;4957:127::-;5018:10;5013:3;5009:20;5006:1;4999:31;5049:4;5046:1;5039:15;5073:4;5070:1;5063:15;5089:112;5121:1;5147;5137:35;;5152:18;;:::i;:::-;-1:-1:-1;5186:9:184;;5089:112::o;5790:273::-;5882:6;5935:2;5923:9;5914:7;5910:23;5906:32;5903:52;;;5951:1;5948;5941:12;5903:52;5983:9;5977:16;6002:31;6027:5;6002:31;:::i;6797:127::-;6858:10;6853:3;6849:20;6846:1;6839:31;6889:4;6886:1;6879:15;6913:4;6910:1;6903:15;6929:125;6994:9;;;7015:10;;;7012:36;;;7028:18;;:::i;7059:300::-;7241:2;7226:18;;7253:41;7230:9;7276:6;7253:41;:::i;:::-;7303:50;7349:2;7338:9;7334:18;7326:6;7303:50;:::i;7633:128::-;7700:9;;;7721:11;;;7718:37;;;7735:18;;:::i;8416:218::-;-1:-1:-1;;;;;8522:34:184;;;8486;;;8482:75;;8569:36;;8566:62;;;8608:18;;:::i;8902:168::-;8975:9;;;9006;;9023:15;;;9017:22;;9003:37;8993:71;;9044:18;;:::i;9599:120::-;9639:1;9665;9655:35;;9670:18;;:::i;:::-;-1:-1:-1;9704:9:184;;9599:120::o;10003:195::-;-1:-1:-1;;;;;10072:27:184;;;10101;;;10068:61;;10141:28;;10138:54;;;10172:18;;:::i;11156:198::-;-1:-1:-1;;;;;11256:27:184;;;11227;;;11223:61;;11296:29;;11293:55;;;11328:18;;:::i","linkReferences":{},"immutableReferences":{"63190":[{"start":1005,"length":32},{"start":1512,"length":32},{"start":2066,"length":32},{"start":2337,"length":32},{"start":2606,"length":32},{"start":3021,"length":32},{"start":3372,"length":32},{"start":3543,"length":32},{"start":4665,"length":32},{"start":5647,"length":32},{"start":5879,"length":32},{"start":6065,"length":32}],"63192":[{"start":1043,"length":32},{"start":1295,"length":32},{"start":1381,"length":32},{"start":1854,"length":32},{"start":1928,"length":32},{"start":2766,"length":32},{"start":4426,"length":32},{"start":4836,"length":32}],"63195":[{"start":951,"length":32},{"start":4129,"length":32},{"start":5112,"length":32}],"63197":[{"start":807,"length":32},{"start":5034,"length":32}],"63199":[{"start":1116,"length":32},{"start":3969,"length":32},{"start":4021,"length":32}],"63201":[{"start":521,"length":32},{"start":6200,"length":32}],"63203":[{"start":433,"length":32},{"start":2198,"length":32},{"start":6506,"length":32},{"start":6749,"length":32}],"63205":[{"start":1219,"length":32},{"start":2239,"length":32},{"start":3334,"length":32},{"start":5563,"length":32}],"63207":[{"start":704,"length":32},{"start":3510,"length":32}]}},"methodIdentifiers":{"LAG_IN_EPOCHS_FOR_RANDAO()":"7a27d3a3","LAG_IN_EPOCHS_FOR_SET_SIZE()":"c504312a","getActiveDuration()":"ef9e36e5","getBondSize()":"37722a7f","getBondToken()":"83d6f7f1","getCandidateAtIndex(uint256)":"3349b59f","getCandidateAtIndexForHatch(uint256,uint256)":"359346d5","getCandidateCount()":"30a56347","getCandidateCountForHatch(uint256)":"d7c4ccf5","getCandidateInfo(address)":"28bde1e1","getCurrentHatch()":"ae40f1bf","getDesignatedProposer(uint256)":"19db12d2","getFailedHatchPunishment()":"181803d9","getFirstEpoch(uint256)":"735b69b6","getFrequency()":"0a42f86f","getHatch(uint256)":"ff549fe1","getLagInHatches()":"ad7c1321","getProposingExitDelay()":"2a2629f6","getRollup()":"a4d2342a","getSeedTimestamp(uint256)":"33fac65e","getSetTimestamp(uint256)":"182cad59","getWithdrawalTax()":"d0e4f574","initiateExit()":"90f72273","isCandidate(address)":"d51b9e93","isHatchOpen(uint256)":"3a30aefe","isHatchPrepared(uint256)":"147d97bd","isHatchValidated(uint256)":"ba4f6a78","joinCandidateSet()":"d6f1c601","leaveCandidateSet()":"8a35146c","selectCandidates()":"6fb9935c","updateSubmittedArchive(address,uint128,bytes32)":"46c32618","validateProofSubmission(uint256)":"eeacfa8c"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rollup\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_bondToken\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"_bondSize\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_withdrawalTax\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"_failedHatchPunishment\",\"type\":\"uint96\"},{\"internalType\":\"uint256\",\"name\":\"_frequency\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_activeDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_lagInHatches\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_proposingExitDelay\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AddressSnapshotLib__CannotAddAddressZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"size\",\"type\":\"uint256\"}],\"name\":\"AddressSnapshotLib__IndexOutOfBounds\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__AlreadyInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__AlreadyValidated\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__HatchTooEarly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EscapeHatch__InvalidConfiguration\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum Status\",\"name\":\"expected\",\"type\":\"uint8\"},{\"internalType\":\"enum Status\",\"name\":\"actual\",\"type\":\"uint8\"}],\"name\":\"EscapeHatch__InvalidStatus\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NoDesignatedProposer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentTime\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__NotExitableYet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"EscapeHatch__NotInCandidateSet\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"rollup\",\"type\":\"address\"}],\"name\":\"EscapeHatch__OnlyRollup\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"}],\"name\":\"EscapeHatch__SetUnstable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"checkpointNumber\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"archive\",\"type\":\"bytes32\"}],\"name\":\"ArchiveUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"exitableAt\",\"type\":\"uint256\"}],\"name\":\"CandidateExitInitiated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountReturned\",\"type\":\"uint256\"}],\"name\":\"CandidateExited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"CandidateJoined\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"candidate\",\"type\":\"address\"}],\"name\":\"CandidateSelected\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"Hatch\",\"name\":\"hatch\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"punishment\",\"type\":\"uint256\"}],\"name\":\"ProofValidated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_RANDAO\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LAG_IN_EPOCHS_FOR_SET_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondSize\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBondToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"},{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateAtIndexForHatch\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCandidateCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getCandidateCountForHatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"getCandidateInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"enum Status\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"uint96\",\"name\":\"amount\",\"type\":\"uint96\"},{\"internalType\":\"uint32\",\"name\":\"exitableAt\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"lastCheckpointNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"lastSubmittedArchive\",\"type\":\"bytes32\"}],\"internalType\":\"struct CandidateInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getDesignatedProposer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFailedHatchPunishment\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getFirstEpoch\",\"outputs\":[{\"internalType\":\"Epoch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFrequency\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"getHatch\",\"outputs\":[{\"internalType\":\"Hatch\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLagInHatches\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProposingExitDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRollup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSeedTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"getSetTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawalTax\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"\",\"type\":\"uint96\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initiateExit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_candidate\",\"type\":\"address\"}],\"name\":\"isCandidate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Epoch\",\"name\":\"_epoch\",\"type\":\"uint256\"}],\"name\":\"isHatchOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isOpen\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"proposer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchPrepared\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"isHatchValidated\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"joinCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"leaveCandidateSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"selectCandidates\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_proposer\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_checkpointNumber\",\"type\":\"uint128\"},{\"internalType\":\"bytes32\",\"name\":\"_archive\",\"type\":\"bytes32\"}],\"name\":\"updateSubmittedArchive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"Hatch\",\"name\":\"_hatch\",\"type\":\"uint256\"}],\"name\":\"validateProofSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Aztec Labs\",\"details\":\"The escape hatch opens for ACTIVE_DURATION epochs every FREQUENCY epochs. A candidate is randomly selected from a bonded candidate set using snapshotted data to prevent bias. Key security properties: - Candidates must post a significant bond (BOND_SIZE) - Candidates are punished if they fail to propose or prove (FAILED_HATCH_PUNISHMENT) - All exits incur a tax (WITHDRAWAL_TAX) - Candidate set is snapshotted before RANDAO to prevent manipulation - Candidate does NOT receive access to governance\",\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"kind\":\"dev\",\"methods\":{\"getActiveDuration()\":{\"returns\":{\"_0\":\"The number of epochs an escape hatch remains open\"}},\"getBondSize()\":{\"returns\":{\"_0\":\"The amount of tokens required to join the candidate set\"}},\"getBondToken()\":{\"returns\":{\"_0\":\"The ERC20 token used for candidate bonds\"}},\"getCandidateAtIndex(uint256)\":{\"params\":{\"_index\":\"The index in the candidate set\"},\"returns\":{\"_0\":\"The candidate address at the given index\"}},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\",\"_index\":\"The index in the snapshot\"},\"returns\":{\"_0\":\"The candidate address at the given index in the snapshot\"}},\"getCandidateCount()\":{\"returns\":{\"_0\":\"The number of candidates in the active set\"}},\"getCandidateCountForHatch(uint256)\":{\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The number of candidates in the snapshot for this hatch\"}},\"getCandidateInfo(address)\":{\"params\":{\"_candidate\":\"The candidate address\"},\"returns\":{\"_0\":\"The candidate's information\"}},\"getCurrentHatch()\":{\"returns\":{\"_0\":\"The current hatch number\"}},\"getDesignatedProposer(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The designated proposer address (address(0) if none)\"}},\"getFailedHatchPunishment()\":{\"returns\":{\"_0\":\"The amount deducted from bond on failed hatch\"}},\"getFirstEpoch(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"The first epoch of the hatch\"}},\"getFrequency()\":{\"returns\":{\"_0\":\"The number of epochs between escape hatch windows\"}},\"getHatch(uint256)\":{\"params\":{\"_epoch\":\"The epoch\"},\"returns\":{\"_0\":\"The hatch number\"}},\"getLagInHatches()\":{\"returns\":{\"_0\":\"The number of hatches ahead candidates are selected for\"}},\"getProposingExitDelay()\":{\"returns\":{\"_0\":\"The additional seconds a proposer must wait after hatch ends before exiting\"}},\"getRollup()\":{\"returns\":{\"_0\":\"The rollup contract address\"}},\"getSeedTimestamp(uint256)\":{\"details\":\"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the RANDAO seed is sampled for this hatch\"}},\"getSetTimestamp(uint256)\":{\"details\":\"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.\",\"params\":{\"_hatch\":\"The target hatch (the one being prepared/proposed for)\"},\"returns\":{\"_0\":\"The timestamp at which the candidate set was frozen for this hatch\"}},\"getWithdrawalTax()\":{\"returns\":{\"_0\":\"The amount deducted from bond on exit\"}},\"initiateExit()\":{\"custom:reverts\":\"EscapeHatch__NotInCandidateSet if caller is not in the candidate set (including when caller was just selected as proposer by selectCandidates)EscapeHatch__InvalidStatus if caller's status is not ACTIVE\",\"details\":\"The exit may be immediate or delayed depending on timing relative to next hatch. Calls selectCandidates() first, which may select the caller as the designated proposer for an upcoming hatch. If the caller is selected, their status transitions to PROPOSING and they are removed from $activeCandidates, causing the subsequent checks to revert. This is intentional - a designated proposer cannot exit and must instead follow the PROPOSING -> validateProofSubmission -> EXITING -> leaveCandidateSet flow.\"},\"isCandidate(address)\":{\"params\":{\"_candidate\":\"The address to check\"},\"returns\":{\"_0\":\"True if the address is in the active candidate set\"}},\"isHatchOpen(uint256)\":{\"params\":{\"_epoch\":\"The epoch to check\"},\"returns\":{\"isOpen\":\"True if the epoch is within the escape hatch active duration\",\"proposer\":\"The designated proposer for this hatch (address(0) if none or not open)\"}},\"isHatchPrepared(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been prepared\"}},\"isHatchValidated(uint256)\":{\"params\":{\"_hatch\":\"The hatch number\"},\"returns\":{\"_0\":\"True if the hatch has been validated\"}},\"joinCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__HatchTooEarly if called during early period when exit would revertEscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status\",\"details\":\"Transfers BOND_SIZE tokens from the caller\"},\"leaveCandidateSet()\":{\"custom:reverts\":\"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached\",\"details\":\"Only callable after exitableAt timestamp has passed\"},\"selectCandidates()\":{\"custom:reverts\":\"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)\",\"details\":\"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection.\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"custom:reverts\":\"EscapeHatch__OnlyRollup if caller is not the Rollup contract\",\"params\":{\"_archive\":\"The archive root of the proposed checkpoint\",\"_checkpointNumber\":\"The checkpoint number being proposed, safely downcasted to 32 bits\",\"_proposer\":\"The escape hatch proposer\"}},\"validateProofSubmission(uint256)\":{\"custom:reverts\":\"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp\",\"details\":\"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.\",\"params\":{\"_hatch\":\"The hatch to validate\"}}},\"title\":\"EscapeHatch\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"LAG_IN_EPOCHS_FOR_RANDAO()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable RANDAO\"},\"LAG_IN_EPOCHS_FOR_SET_SIZE()\":{\"notice\":\"Number of epochs to look back from the START of the hatch for stable candidate set\"},\"getActiveDuration()\":{\"notice\":\"Get the active duration of each escape hatch in epochs\"},\"getBondSize()\":{\"notice\":\"Get the required bond size for candidates\"},\"getBondToken()\":{\"notice\":\"Get the bond token address\"},\"getCandidateAtIndex(uint256)\":{\"notice\":\"Get the candidate address at a given index in the current active set\"},\"getCandidateAtIndexForHatch(uint256,uint256)\":{\"notice\":\"Get the candidate address at a given index in the snapshot for a target hatch\"},\"getCandidateCount()\":{\"notice\":\"Get the current number of active candidates\"},\"getCandidateCountForHatch(uint256)\":{\"notice\":\"Get the number of candidates in the snapshot for a target hatch\"},\"getCandidateInfo(address)\":{\"notice\":\"Get information about a candidate\"},\"getCurrentHatch()\":{\"notice\":\"Get the current hatch based on the current epoch\"},\"getDesignatedProposer(uint256)\":{\"notice\":\"Get the designated proposer for a hatch\"},\"getFailedHatchPunishment()\":{\"notice\":\"Get the punishment for failing to fulfill proposer duties\"},\"getFirstEpoch(uint256)\":{\"notice\":\"Get the first epoch of a hatch\"},\"getFrequency()\":{\"notice\":\"Get the frequency of escape hatches in epochs\"},\"getHatch(uint256)\":{\"notice\":\"Convert an epoch to its corresponding hatch number\"},\"getLagInHatches()\":{\"notice\":\"Get the lag in hatches for candidate selection\"},\"getProposingExitDelay()\":{\"notice\":\"Get the additional exit delay after proposing\"},\"getRollup()\":{\"notice\":\"Get the rollup contract address\"},\"getSeedTimestamp(uint256)\":{\"notice\":\"Get the seed timestamp for a target hatch's RANDAO sampling\"},\"getSetTimestamp(uint256)\":{\"notice\":\"Get the freeze timestamp for a target hatch's candidate snapshot\"},\"getWithdrawalTax()\":{\"notice\":\"Get the withdrawal tax applied when exiting\"},\"initiateExit()\":{\"notice\":\"Initiate exit from the candidate set\"},\"isCandidate(address)\":{\"notice\":\"Check if an address is in the candidate set\"},\"isHatchOpen(uint256)\":{\"notice\":\"Check if an epoch is within an open escape hatch period\"},\"isHatchPrepared(uint256)\":{\"notice\":\"Check if a hatch has been prepared\"},\"isHatchValidated(uint256)\":{\"notice\":\"Check if a hatch has been validated\"},\"joinCandidateSet()\":{\"notice\":\"Join the escape hatch candidate set by depositing the required bond\"},\"leaveCandidateSet()\":{\"notice\":\"Complete exit from the candidate set and reclaim bond minus tax\"},\"selectCandidates()\":{\"notice\":\"Prepare the designated proposer for an upcoming escape hatch\"},\"updateSubmittedArchive(address,uint128,bytes32)\":{\"notice\":\"Update the last submitted archive for a proposer during escape hatch\"},\"validateProofSubmission(uint256)\":{\"notice\":\"Validate that the designated proposer fulfilled their duty\"}},\"notice\":\"The escape hatch provides censorship resistance by allowing a designated proposer to bypass the committee and propose blocks during periodic \\\"escape hatch\\\" windows.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/EscapeHatch.sol\":\"EscapeHatch\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@generated/=generated/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca\",\"dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb\",\"dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc\"]},\"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57\",\"dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn\"]},\"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167\",\"dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol\":{\"keccak256\":\"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e\",\"dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"src/core/EscapeHatch.sol\":{\"keccak256\":\"0x1034b24d9cdd1d2402440dd82d6171b665b8b3287552782747ea19b6f8ad69fe\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://cf6f454e126bc05805977b0503f6e555daaf0c5437f776d4dca401fb2d168ad6\",\"dweb:/ipfs/QmU5fKyTSRgbcfEdspbmzttcRicLShD3sBP2hoYgUoCmhB\"]},\"src/core/interfaces/IEscapeHatch.sol\":{\"keccak256\":\"0x1a499acad8813b56e7d9cdcff3152e36196482794e62302e95a28603f5915747\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18da3711ad1fbc413336c252709e1ad32d51092336fbe6c2428b48768f58352c\",\"dweb:/ipfs/QmdkMJiH1pdcuoLe5zPHeMtnFhZ1k7PLZJtoWQUcpcm4bJ\"]},\"src/core/interfaces/IFeeJuicePortal.sol\":{\"keccak256\":\"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6\",\"dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt\"]},\"src/core/interfaces/IInstance.sol\":{\"keccak256\":\"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550\",\"dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS\"]},\"src/core/interfaces/IRollup.sol\":{\"keccak256\":\"0x4885f9bbf279f63143fa0ccd21ce4918fd34eef9ce4ba871c78c22ae6c174f8b\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c3eac7f06a1db468466f6e977fc204b4106808d0293ca57d336004ed33cc0add\",\"dweb:/ipfs/QmUzzFrVi15V2WRFsgpSmDQBfPUbbA4ochmZD55VhovJBR\"]},\"src/core/interfaces/ISequencerRewardCalculator.sol\":{\"keccak256\":\"0xb7fb4ad1c171762783aecdd5e85036e71990438fc11e1121842b31c431ff0c67\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15bf6fea8074c7a5f71860b325786d2dd5b625cbfb5b0bd4d0fc4f1a5f566d5a\",\"dweb:/ipfs/QmTH4XovGivVCs4Hp6PT3UVKLrSCPPtv1mmtvUeALVCnAZ\"]},\"src/core/interfaces/ISlasher.sol\":{\"keccak256\":\"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b\",\"dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk\"]},\"src/core/interfaces/IStaking.sol\":{\"keccak256\":\"0x81ddf8fa0cf8a213d690845fd4d3e31e45c543e5876612e94607cdb753804f1d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7e0ae2a10903274cca7231306660dd6d5d1e5632238618b390aa7f4dfa5422f3\",\"dweb:/ipfs/QmTMXRYdNGnmecbUdREFfgsLwnMsRjDseLVXsvPqQoiago\"]},\"src/core/interfaces/IValidatorSelection.sol\":{\"keccak256\":\"0xe22dc335f3fd5f5cbf10928fa7e9e945ea8a04fa99362ec6e2022c862d7baca4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e26be09d3c823c545a2252467e13b68d366f3e711e15085be09f565ac436acc9\",\"dweb:/ipfs/QmS1ddcZteAjeojaJJz1ZgRPdynzpNu1HSSPbmEjJNe99G\"]},\"src/core/interfaces/IVerifier.sol\":{\"keccak256\":\"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb\",\"dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe\"]},\"src/core/interfaces/messagebridge/IInbox.sol\":{\"keccak256\":\"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f\",\"dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm\"]},\"src/core/interfaces/messagebridge/IOutbox.sol\":{\"keccak256\":\"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30\",\"dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ\"]},\"src/core/libraries/ConstantsGen.sol\":{\"keccak256\":\"0xe328f94338f5563669e04618c3ec21ec38b9f21ab24d5de698d80cf38f977dfa\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3d9872c9a78d7241053e9ce3eadf192d18a9cb4b95c0ac120470d92435b7216e\",\"dweb:/ipfs/QmcRnfbW8sNWwRHPik4wvkA7CTY1BTjuf2ydu3jN5otQJT\"]},\"src/core/libraries/DataStructures.sol\":{\"keccak256\":\"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4\",\"dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS\"]},\"src/core/libraries/Errors.sol\":{\"keccak256\":\"0x282e22d0eb9cd8f22f7bfaef3c3e3cad5461734d6e421f392b372a146c83d467\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5c250d031a44b257109f81417bb89c0e5b99d44bb17a55379695061afa9d3ef1\",\"dweb:/ipfs/QmenxQJyukQT7KkCsfXV6by3VU6qumEUnK4EH4mqHAw6iK\"]},\"src/core/libraries/HatchMath.sol\":{\"keccak256\":\"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2\",\"dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd\"]},\"src/core/libraries/SlashRoundLib.sol\":{\"keccak256\":\"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6\",\"dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9\"]},\"src/core/libraries/StakingQueue.sol\":{\"keccak256\":\"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f\",\"dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T\"]},\"src/core/libraries/TimeLib.sol\":{\"keccak256\":\"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b\",\"dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P\"]},\"src/core/libraries/compressed-data/CheckpointLog.sol\":{\"keccak256\":\"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e\",\"dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ\"]},\"src/core/libraries/compressed-data/StakingQueueConfig.sol\":{\"keccak256\":\"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76\",\"dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn\"]},\"src/core/libraries/compressed-data/Tips.sol\":{\"keccak256\":\"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1\",\"dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34\"]},\"src/core/libraries/compressed-data/fees/FeeConfig.sol\":{\"keccak256\":\"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298\",\"dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS\"]},\"src/core/libraries/compressed-data/fees/FeeStructs.sol\":{\"keccak256\":\"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157\",\"dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ\"]},\"src/core/libraries/crypto/Hash.sol\":{\"keccak256\":\"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d\",\"dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW\"]},\"src/core/libraries/crypto/SampleLib.sol\":{\"keccak256\":\"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70\",\"dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv\"]},\"src/core/libraries/rollup/AttestationLib.sol\":{\"keccak256\":\"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9\",\"dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN\"]},\"src/core/libraries/rollup/BlobLib.sol\":{\"keccak256\":\"0x5b0d454bd38592154954f1da4cc59f50a036d0a28a169401abd9b5fdb88a4fe1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://68cf3a3fa979a6cfdc618e66621a0233263a83c259b17f6193fb0339796bee9d\",\"dweb:/ipfs/QmcRKQmFf8mZxWKUT7Vgg3LnTxVsCen5f8TnMqCQMGi2j6\"]},\"src/core/libraries/rollup/CoordinationSignatureLib.sol\":{\"keccak256\":\"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729\",\"dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc\"]},\"src/core/libraries/rollup/FeeLib.sol\":{\"keccak256\":\"0x78cccc8618137ebda0ca1cb68071a6458eff5c1e4eecce22de77c7479cb2f917\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://eb96d87ba3229de5d5a8e8cd9e1c29438789e578f915d787f2f7c0788f380679\",\"dweb:/ipfs/Qma3VYid6EyGtNCLertDyViT1Z8Ma1vNnc7EAEmJfxf8t9\"]},\"src/core/libraries/rollup/FieldLib.sol\":{\"keccak256\":\"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac\",\"dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R\"]},\"src/core/libraries/rollup/ProposeLib.sol\":{\"keccak256\":\"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156\",\"dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy\"]},\"src/core/libraries/rollup/ProposedHeaderLib.sol\":{\"keccak256\":\"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e\",\"dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD\"]},\"src/core/libraries/rollup/RewardLib.sol\":{\"keccak256\":\"0x3a73a07577c713179be2de8df601445e79c606afb42f74bed33d1000c6f14ff8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e432e402f6721bf70849ae3d731dcc669abeeb7df8399c878cc946fea0657a1a\",\"dweb:/ipfs/QmYuGKQvN9iFhQpKLo6Rd7oTkMZx6VfdrJFh6tVgLEDg5M\"]},\"src/core/libraries/rollup/STFLib.sol\":{\"keccak256\":\"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0\",\"dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM\"]},\"src/core/libraries/rollup/SequencerRewardCalculatorLib.sol\":{\"keccak256\":\"0x2d5e8efc5a87bec1d50a8c9df0696a8248e0905ab62dcd7ec6a51527ad33b604\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://15d4a7d1f265fc1a248762702373534fcae9d85df5150e5e1a45f79b94736ed4\",\"dweb:/ipfs/QmdAT5Aw6JSg5GJnTikfDtJHnJZuMib7L8GB3yQ4jMuiFr\"]},\"src/core/libraries/rollup/StakingLib.sol\":{\"keccak256\":\"0x6e3c96f937701c67570d902aca8d2f9a1ee35942e17b1e5a375b264582a6fe8c\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://ddb78c290af17a9574b89104177d2f1079c5abeb462446722b8fb09e03659ea6\",\"dweb:/ipfs/QmURXaGC2SRKZc36NQZ4SXqNtgY5MpYQRamS3Shn2GMAoe\"]},\"src/core/libraries/rollup/ValidatorSelectionLib.sol\":{\"keccak256\":\"0xea94ff99c5e47c51bbd4ffe8282447c7aae23065e255ec2d2806a11901ab1752\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4e5c466c3c0ca5834c41714ddd64e7e5a34e6c37a5d57ddbed40b567582746bb\",\"dweb:/ipfs/QmUYZ4KgwoUhxQCMtazUgj8tN6wkRHcakZ5rg5EjQq1XuU\"]},\"src/core/reward-boost/RewardBooster.sol\":{\"keccak256\":\"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1\",\"dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb\"]},\"src/core/slashing/Slasher.sol\":{\"keccak256\":\"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51\",\"dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9\"]},\"src/governance/Bn254LibWrapper.sol\":{\"keccak256\":\"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c\",\"dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8\"]},\"src/governance/GSE.sol\":{\"keccak256\":\"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273\",\"dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU\"]},\"src/governance/GSEPayload.sol\":{\"keccak256\":\"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e\",\"dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y\"]},\"src/governance/Governance.sol\":{\"keccak256\":\"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf\",\"dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw\"]},\"src/governance/interfaces/IBn254LibWrapper.sol\":{\"keccak256\":\"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9\",\"dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej\"]},\"src/governance/interfaces/IEmpire.sol\":{\"keccak256\":\"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a\",\"dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo\"]},\"src/governance/interfaces/IGovernance.sol\":{\"keccak256\":\"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff\",\"dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa\"]},\"src/governance/interfaces/IGovernanceProposer.sol\":{\"keccak256\":\"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f\",\"dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2\"]},\"src/governance/interfaces/IPayload.sol\":{\"keccak256\":\"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c\",\"dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin\"]},\"src/governance/interfaces/IProposerPayload.sol\":{\"keccak256\":\"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167\",\"dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o\"]},\"src/governance/interfaces/IRegistry.sol\":{\"keccak256\":\"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724\",\"dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn\"]},\"src/governance/interfaces/IRewardDistributor.sol\":{\"keccak256\":\"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76\",\"dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h\"]},\"src/governance/libraries/AddressSnapshotLib.sol\":{\"keccak256\":\"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402\",\"dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp\"]},\"src/governance/libraries/CheckpointedUintLib.sol\":{\"keccak256\":\"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1\",\"dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q\"]},\"src/governance/libraries/ConfigurationLib.sol\":{\"keccak256\":\"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a\",\"dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy\"]},\"src/governance/libraries/DepositDelegationLib.sol\":{\"keccak256\":\"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb\",\"dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb\"]},\"src/governance/libraries/Errors.sol\":{\"keccak256\":\"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa\",\"dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv\"]},\"src/governance/libraries/ProposalLib.sol\":{\"keccak256\":\"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192\",\"dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT\"]},\"src/governance/libraries/compressed-data/Ballot.sol\":{\"keccak256\":\"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012\",\"dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM\"]},\"src/governance/libraries/compressed-data/Configuration.sol\":{\"keccak256\":\"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482\",\"dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv\"]},\"src/governance/libraries/compressed-data/Proposal.sol\":{\"keccak256\":\"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6\",\"dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN\"]},\"src/governance/proposer/EmpireBase.sol\":{\"keccak256\":\"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209\",\"dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35\"]},\"src/governance/proposer/GovernanceProposer.sol\":{\"keccak256\":\"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607\",\"dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m\"]},\"src/mock/libraries/BlobLib.sol\":{\"keccak256\":\"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837\",\"dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9\"]},\"src/shared/libraries/BN254Lib.sol\":{\"keccak256\":\"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a\",\"dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52\"]},\"src/shared/libraries/CompressedTimeMath.sol\":{\"keccak256\":\"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3\",\"dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB\"]},\"src/shared/libraries/SignatureLib.sol\":{\"keccak256\":\"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c\",\"dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2\"]},\"src/shared/libraries/TimeMath.sol\":{\"keccak256\":\"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914\",\"dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_rollup","type":"address"},{"internalType":"address","name":"_bondToken","type":"address"},{"internalType":"uint96","name":"_bondSize","type":"uint96"},{"internalType":"uint96","name":"_withdrawalTax","type":"uint96"},{"internalType":"uint96","name":"_failedHatchPunishment","type":"uint96"},{"internalType":"uint256","name":"_frequency","type":"uint256"},{"internalType":"uint256","name":"_activeDuration","type":"uint256"},{"internalType":"uint256","name":"_lagInHatches","type":"uint256"},{"internalType":"uint256","name":"_proposingExitDelay","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AddressSnapshotLib__CannotAddAddressZero"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"uint256","name":"size","type":"uint256"}],"type":"error","name":"AddressSnapshotLib__IndexOutOfBounds"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__AlreadyInCandidateSet"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__AlreadyValidated"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__HatchTooEarly"},{"inputs":[],"type":"error","name":"EscapeHatch__InvalidConfiguration"},{"inputs":[{"internalType":"enum Status","name":"expected","type":"uint8"},{"internalType":"enum Status","name":"actual","type":"uint8"}],"type":"error","name":"EscapeHatch__InvalidStatus"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__NoDesignatedProposer"},{"inputs":[{"internalType":"uint256","name":"exitableAt","type":"uint256"},{"internalType":"uint256","name":"currentTime","type":"uint256"}],"type":"error","name":"EscapeHatch__NotExitableYet"},{"inputs":[{"internalType":"address","name":"candidate","type":"address"}],"type":"error","name":"EscapeHatch__NotInCandidateSet"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"rollup","type":"address"}],"type":"error","name":"EscapeHatch__OnlyRollup"},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256"}],"type":"error","name":"EscapeHatch__SetUnstable"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"uint128","name":"checkpointNumber","type":"uint128","indexed":false},{"internalType":"bytes32","name":"archive","type":"bytes32","indexed":false}],"type":"event","name":"ArchiveUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"exitableAt","type":"uint256","indexed":false}],"type":"event","name":"CandidateExitInitiated","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true},{"internalType":"uint256","name":"amountReturned","type":"uint256","indexed":false}],"type":"event","name":"CandidateExited","anonymous":false},{"inputs":[{"internalType":"address","name":"candidate","type":"address","indexed":true}],"type":"event","name":"CandidateJoined","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"candidate","type":"address","indexed":true}],"type":"event","name":"CandidateSelected","anonymous":false},{"inputs":[{"internalType":"Hatch","name":"hatch","type":"uint256","indexed":true},{"internalType":"address","name":"proposer","type":"address","indexed":true},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"punishment","type":"uint256","indexed":false}],"type":"event","name":"ProofValidated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_RANDAO","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LAG_IN_EPOCHS_FOR_SET_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getActiveDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondSize","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBondToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndex","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"_index","type":"uint256"},{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateAtIndexForHatch","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCandidateCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCandidateCountForHatch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"getCandidateInfo","outputs":[{"internalType":"struct CandidateInfo","name":"","type":"tuple","components":[{"internalType":"enum Status","name":"status","type":"uint8"},{"internalType":"uint96","name":"amount","type":"uint96"},{"internalType":"uint32","name":"exitableAt","type":"uint32"},{"internalType":"uint32","name":"lastCheckpointNumber","type":"uint32"},{"internalType":"bytes32","name":"lastSubmittedArchive","type":"bytes32"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDesignatedProposer","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFailedHatchPunishment","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getFirstEpoch","outputs":[{"internalType":"Epoch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHatch","outputs":[{"internalType":"Hatch","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getLagInHatches","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getProposingExitDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSeedTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"getSetTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWithdrawalTax","outputs":[{"internalType":"uint96","name":"","type":"uint96"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initiateExit"},{"inputs":[{"internalType":"address","name":"_candidate","type":"address"}],"stateMutability":"view","type":"function","name":"isCandidate","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Epoch","name":"_epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchOpen","outputs":[{"internalType":"bool","name":"isOpen","type":"bool"},{"internalType":"address","name":"proposer","type":"address"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchPrepared","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"view","type":"function","name":"isHatchValidated","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"joinCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"leaveCandidateSet"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"selectCandidates"},{"inputs":[{"internalType":"address","name":"_proposer","type":"address"},{"internalType":"uint128","name":"_checkpointNumber","type":"uint128"},{"internalType":"bytes32","name":"_archive","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateSubmittedArchive"},{"inputs":[{"internalType":"Hatch","name":"_hatch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"validateProofSubmission"}],"devdoc":{"kind":"dev","methods":{"getActiveDuration()":{"returns":{"_0":"The number of epochs an escape hatch remains open"}},"getBondSize()":{"returns":{"_0":"The amount of tokens required to join the candidate set"}},"getBondToken()":{"returns":{"_0":"The ERC20 token used for candidate bonds"}},"getCandidateAtIndex(uint256)":{"params":{"_index":"The index in the candidate set"},"returns":{"_0":"The candidate address at the given index"}},"getCandidateAtIndexForHatch(uint256,uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)","_index":"The index in the snapshot"},"returns":{"_0":"The candidate address at the given index in the snapshot"}},"getCandidateCount()":{"returns":{"_0":"The number of candidates in the active set"}},"getCandidateCountForHatch(uint256)":{"params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The number of candidates in the snapshot for this hatch"}},"getCandidateInfo(address)":{"params":{"_candidate":"The candidate address"},"returns":{"_0":"The candidate's information"}},"getCurrentHatch()":{"returns":{"_0":"The current hatch number"}},"getDesignatedProposer(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The designated proposer address (address(0) if none)"}},"getFailedHatchPunishment()":{"returns":{"_0":"The amount deducted from bond on failed hatch"}},"getFirstEpoch(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"The first epoch of the hatch"}},"getFrequency()":{"returns":{"_0":"The number of epochs between escape hatch windows"}},"getHatch(uint256)":{"params":{"_epoch":"The epoch"},"returns":{"_0":"The hatch number"}},"getLagInHatches()":{"returns":{"_0":"The number of hatches ahead candidates are selected for"}},"getProposingExitDelay()":{"returns":{"_0":"The additional seconds a proposer must wait after hatch ends before exiting"}},"getRollup()":{"returns":{"_0":"The rollup contract address"}},"getSeedTimestamp(uint256)":{"details":"This is after the freeze timestamp to prevent manipulation of the candidate set based on known RANDAO values.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the RANDAO seed is sampled for this hatch"}},"getSetTimestamp(uint256)":{"details":"The snapshot taken at this timestamp determines who was eligible to be selected as proposer for this hatch.","params":{"_hatch":"The target hatch (the one being prepared/proposed for)"},"returns":{"_0":"The timestamp at which the candidate set was frozen for this hatch"}},"getWithdrawalTax()":{"returns":{"_0":"The amount deducted from bond on exit"}},"initiateExit()":{"custom:reverts":"EscapeHatch__NotInCandidateSet if caller is not in the candidate set (including when caller was just selected as proposer by selectCandidates)EscapeHatch__InvalidStatus if caller's status is not ACTIVE","details":"The exit may be immediate or delayed depending on timing relative to next hatch. Calls selectCandidates() first, which may select the caller as the designated proposer for an upcoming hatch. If the caller is selected, their status transitions to PROPOSING and they are removed from $activeCandidates, causing the subsequent checks to revert. This is intentional - a designated proposer cannot exit and must instead follow the PROPOSING -> validateProofSubmission -> EXITING -> leaveCandidateSet flow."},"isCandidate(address)":{"params":{"_candidate":"The address to check"},"returns":{"_0":"True if the address is in the active candidate set"}},"isHatchOpen(uint256)":{"params":{"_epoch":"The epoch to check"},"returns":{"isOpen":"True if the epoch is within the escape hatch active duration","proposer":"The designated proposer for this hatch (address(0) if none or not open)"}},"isHatchPrepared(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been prepared"}},"isHatchValidated(uint256)":{"params":{"_hatch":"The hatch number"},"returns":{"_0":"True if the hatch has been validated"}},"joinCandidateSet()":{"custom:reverts":"EscapeHatch__HatchTooEarly if called during early period when exit would revertEscapeHatch__AlreadyInCandidateSet if caller is already in the candidate setEscapeHatch__InvalidStatus if caller has a non-NONE status","details":"Transfers BOND_SIZE tokens from the caller"},"leaveCandidateSet()":{"custom:reverts":"EscapeHatch__InvalidStatus if caller's status is not EXITINGEscapeHatch__NotExitableYet if exitableAt has not been reached","details":"Only callable after exitableAt timestamp has passed"},"selectCandidates()":{"custom:reverts":"EscapeHatch__SetUnstable if called before the freeze timestamp (defense in depth)","details":"Called permissionlessly to set up the next hatch. Uses snapshotted candidate set and RANDAO for unbiased selection."},"updateSubmittedArchive(address,uint128,bytes32)":{"custom:reverts":"EscapeHatch__OnlyRollup if caller is not the Rollup contract","params":{"_archive":"The archive root of the proposed checkpoint","_checkpointNumber":"The checkpoint number being proposed, safely downcasted to 32 bits","_proposer":"The escape hatch proposer"}},"validateProofSubmission(uint256)":{"custom:reverts":"EscapeHatch__AlreadyValidated if the hatch has already been validatedEscapeHatch__NoDesignatedProposer if no proposer was designated for the hatchEscapeHatch__InvalidStatus if proposer's status is not PROPOSINGEscapeHatch__NotExitableYet if called before exitableAt timestamp","details":"Checks that blocks were proposed and proven. Applies punishment if not. This is the ONLY way to transition from PROPOSING to EXITING.","params":{"_hatch":"The hatch to validate"}}},"version":1},"userdoc":{"kind":"user","methods":{"LAG_IN_EPOCHS_FOR_RANDAO()":{"notice":"Number of epochs to look back from the START of the hatch for stable RANDAO"},"LAG_IN_EPOCHS_FOR_SET_SIZE()":{"notice":"Number of epochs to look back from the START of the hatch for stable candidate set"},"getActiveDuration()":{"notice":"Get the active duration of each escape hatch in epochs"},"getBondSize()":{"notice":"Get the required bond size for candidates"},"getBondToken()":{"notice":"Get the bond token address"},"getCandidateAtIndex(uint256)":{"notice":"Get the candidate address at a given index in the current active set"},"getCandidateAtIndexForHatch(uint256,uint256)":{"notice":"Get the candidate address at a given index in the snapshot for a target hatch"},"getCandidateCount()":{"notice":"Get the current number of active candidates"},"getCandidateCountForHatch(uint256)":{"notice":"Get the number of candidates in the snapshot for a target hatch"},"getCandidateInfo(address)":{"notice":"Get information about a candidate"},"getCurrentHatch()":{"notice":"Get the current hatch based on the current epoch"},"getDesignatedProposer(uint256)":{"notice":"Get the designated proposer for a hatch"},"getFailedHatchPunishment()":{"notice":"Get the punishment for failing to fulfill proposer duties"},"getFirstEpoch(uint256)":{"notice":"Get the first epoch of a hatch"},"getFrequency()":{"notice":"Get the frequency of escape hatches in epochs"},"getHatch(uint256)":{"notice":"Convert an epoch to its corresponding hatch number"},"getLagInHatches()":{"notice":"Get the lag in hatches for candidate selection"},"getProposingExitDelay()":{"notice":"Get the additional exit delay after proposing"},"getRollup()":{"notice":"Get the rollup contract address"},"getSeedTimestamp(uint256)":{"notice":"Get the seed timestamp for a target hatch's RANDAO sampling"},"getSetTimestamp(uint256)":{"notice":"Get the freeze timestamp for a target hatch's candidate snapshot"},"getWithdrawalTax()":{"notice":"Get the withdrawal tax applied when exiting"},"initiateExit()":{"notice":"Initiate exit from the candidate set"},"isCandidate(address)":{"notice":"Check if an address is in the candidate set"},"isHatchOpen(uint256)":{"notice":"Check if an epoch is within an open escape hatch period"},"isHatchPrepared(uint256)":{"notice":"Check if a hatch has been prepared"},"isHatchValidated(uint256)":{"notice":"Check if a hatch has been validated"},"joinCandidateSet()":{"notice":"Join the escape hatch candidate set by depositing the required bond"},"leaveCandidateSet()":{"notice":"Complete exit from the candidate set and reclaim bond minus tax"},"selectCandidates()":{"notice":"Prepare the designated proposer for an upcoming escape hatch"},"updateSubmittedArchive(address,uint128,bytes32)":{"notice":"Update the last submitted archive for a proposer during escape hatch"},"validateProofSubmission(uint256)":{"notice":"Validate that the designated proposer fulfilled their duty"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@generated/=generated/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":100},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/EscapeHatch.sol":"EscapeHatch"},"evmVersion":"prague","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x4251fed1ac036ad28996501522371736318527d7bf2bf7d66fbd2769d6c4771b","urls":["bzz-raw://b2df261bd4de240f54c5829faeaf0ffc919a01f1497cf7ffd8a9a544bdec8fca","dweb:/ipfs/Qmb9ndUuv9RZPKJXZGzjVuhmNuoizxuGRn4QMBmdmLcxS3"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x8447b57b63810fe2e367c09496a966f143ec0e825d71ddb9fce2506cff84b618","urls":["bzz-raw://996cb48f793bf151555045b37138e36b3cdb31d6bc6552d3149285260be00cfb","dweb:/ipfs/QmcLaTTMNVbkMx58xhkp6GeFt4V3GtSyupZuaKG3vYW2Zc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x9e82c00fb176503860139c6bbf593b1a954ee7ff97ab2969656571382b9b58a2","urls":["bzz-raw://34b4eb157b44d4441315db65561ba7cf0fe909dc598c2cfd7080d203077d5b57","dweb:/ipfs/QmcNdvK3kDUAUr48urHxoeHd1TqVDya4YfZTM66i4goEJn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0x2c33f654cefbbe80a9b436b5792cfe8bda2e87f139f110073c99762558db252f","urls":["bzz-raw://dc7ebd80046a52f28978cf46a24ff3e4c8568264ab6bb138038951c75d576167","dweb:/ipfs/QmQQjXVr4CbDR3DXd8GHEqn3JSJYTnbBHMJp9tvc29yXrc"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol":{"keccak256":"0x3616f1b0d0a9ee1ca8f0953ecaceb9230e36f691c7974d30f964212acff52d2b","urls":["bzz-raw://d4bebdd07b31ac28e3e596ac6f0333da90a4e332405aa7d65f3a3a7e0b4cf15e","dweb:/ipfs/QmckoDU5bBnye2UtPcrfJNahLD2FbxrnPP9nrREMWPpnug"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"src/core/EscapeHatch.sol":{"keccak256":"0x1034b24d9cdd1d2402440dd82d6171b665b8b3287552782747ea19b6f8ad69fe","urls":["bzz-raw://cf6f454e126bc05805977b0503f6e555daaf0c5437f776d4dca401fb2d168ad6","dweb:/ipfs/QmU5fKyTSRgbcfEdspbmzttcRicLShD3sBP2hoYgUoCmhB"],"license":"Apache-2.0"},"src/core/interfaces/IEscapeHatch.sol":{"keccak256":"0x1a499acad8813b56e7d9cdcff3152e36196482794e62302e95a28603f5915747","urls":["bzz-raw://18da3711ad1fbc413336c252709e1ad32d51092336fbe6c2428b48768f58352c","dweb:/ipfs/QmdkMJiH1pdcuoLe5zPHeMtnFhZ1k7PLZJtoWQUcpcm4bJ"],"license":"Apache-2.0"},"src/core/interfaces/IFeeJuicePortal.sol":{"keccak256":"0xce84c8907395b4c11cc6dd8035d8e14560153450f9d88340cfb8abb914c66639","urls":["bzz-raw://f5eb389f1a6e9adbb2f24dad7a6c0bc706d49decad82ba9b582c288e12eddda6","dweb:/ipfs/QmNM3uQmJYn9B6RAHSMUT3TZMR6R75okjJErUEsuRjxGXt"],"license":"Apache-2.0"},"src/core/interfaces/IInstance.sol":{"keccak256":"0xa533299c53255b83b8e1b655781f36ba5bbe168849db712fb4a9312f57f9f1bb","urls":["bzz-raw://fc593975d89f7b465c6822a5a79621d559ea12b24498b9c503019ad80cd89550","dweb:/ipfs/QmdtJZ3fvL6RfYLBkJBYUMSU6u2e2kREK59w6LQpr68CVS"],"license":"Apache-2.0"},"src/core/interfaces/IRollup.sol":{"keccak256":"0x4885f9bbf279f63143fa0ccd21ce4918fd34eef9ce4ba871c78c22ae6c174f8b","urls":["bzz-raw://c3eac7f06a1db468466f6e977fc204b4106808d0293ca57d336004ed33cc0add","dweb:/ipfs/QmUzzFrVi15V2WRFsgpSmDQBfPUbbA4ochmZD55VhovJBR"],"license":"Apache-2.0"},"src/core/interfaces/ISequencerRewardCalculator.sol":{"keccak256":"0xb7fb4ad1c171762783aecdd5e85036e71990438fc11e1121842b31c431ff0c67","urls":["bzz-raw://15bf6fea8074c7a5f71860b325786d2dd5b625cbfb5b0bd4d0fc4f1a5f566d5a","dweb:/ipfs/QmTH4XovGivVCs4Hp6PT3UVKLrSCPPtv1mmtvUeALVCnAZ"],"license":"Apache-2.0"},"src/core/interfaces/ISlasher.sol":{"keccak256":"0xf7dc3b2795b2806dbec7c94c33665abcf00a35ee65802a47f6222faf8641d302","urls":["bzz-raw://d7c9283746c66f04df5a133145b3196fc176e06e2fe6b3285056ffac68a09e9b","dweb:/ipfs/QmPxTkM1eMNFny3yibc69p1GqWvPkno5fzBjyju89h7CNk"],"license":"Apache-2.0"},"src/core/interfaces/IStaking.sol":{"keccak256":"0x81ddf8fa0cf8a213d690845fd4d3e31e45c543e5876612e94607cdb753804f1d","urls":["bzz-raw://7e0ae2a10903274cca7231306660dd6d5d1e5632238618b390aa7f4dfa5422f3","dweb:/ipfs/QmTMXRYdNGnmecbUdREFfgsLwnMsRjDseLVXsvPqQoiago"],"license":"Apache-2.0"},"src/core/interfaces/IValidatorSelection.sol":{"keccak256":"0xe22dc335f3fd5f5cbf10928fa7e9e945ea8a04fa99362ec6e2022c862d7baca4","urls":["bzz-raw://e26be09d3c823c545a2252467e13b68d366f3e711e15085be09f565ac436acc9","dweb:/ipfs/QmS1ddcZteAjeojaJJz1ZgRPdynzpNu1HSSPbmEjJNe99G"],"license":"Apache-2.0"},"src/core/interfaces/IVerifier.sol":{"keccak256":"0xf5b6025ff3d59b8922bb45fb05786764e74109b4a349d206b8a7979f46484c55","urls":["bzz-raw://98ec47ac3e15b1d8f2c80854ed6fd83e655e9e96341bb827f3be8e6b47f4c7fb","dweb:/ipfs/QmcmUkLgM7fb7mEaJTiWJWrZTW2kAWtRcYS6imBfmueALe"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IInbox.sol":{"keccak256":"0x1149c904c8b3bd2942628fbab5480cdc044e831d51963f9e6946f1974cc162bd","urls":["bzz-raw://af2f1f49feba389b0bdbf427c4a85fac2908699585e5babd75f77cf14416ed5f","dweb:/ipfs/QmZYjZyhicCpTcwPuWTjTTUxnaBnfv5bTMWDgxyDGqy8Gm"],"license":"Apache-2.0"},"src/core/interfaces/messagebridge/IOutbox.sol":{"keccak256":"0xf66d0bb4f6d978acf91a036737cd4326bfab16a4030d10510d2976e4218ed8ad","urls":["bzz-raw://e796eea21d552b2ca4d0446bb096e2c980ab84816d9dd1398113293ae8128b30","dweb:/ipfs/QmNuGgRtPFgRe3asa68vDMcWpyfDFqQ5w5j5U7yWD1EsyZ"],"license":"Apache-2.0"},"src/core/libraries/ConstantsGen.sol":{"keccak256":"0xe328f94338f5563669e04618c3ec21ec38b9f21ab24d5de698d80cf38f977dfa","urls":["bzz-raw://3d9872c9a78d7241053e9ce3eadf192d18a9cb4b95c0ac120470d92435b7216e","dweb:/ipfs/QmcRnfbW8sNWwRHPik4wvkA7CTY1BTjuf2ydu3jN5otQJT"],"license":"Apache-2.0"},"src/core/libraries/DataStructures.sol":{"keccak256":"0x5ea9d1097f0b53eafbd72332d4c5c517307e5a056266befe5b46f5f43ee3d83c","urls":["bzz-raw://1a742311dc3c5ead2d5361549f017d20f46c40a4e74e879823ac168cf5b572d4","dweb:/ipfs/QmTNDc1fiPti41QqJTJQoV9uduB6eXaQhbfq1hfVVjVNvS"],"license":"Apache-2.0"},"src/core/libraries/Errors.sol":{"keccak256":"0x282e22d0eb9cd8f22f7bfaef3c3e3cad5461734d6e421f392b372a146c83d467","urls":["bzz-raw://5c250d031a44b257109f81417bb89c0e5b99d44bb17a55379695061afa9d3ef1","dweb:/ipfs/QmenxQJyukQT7KkCsfXV6by3VU6qumEUnK4EH4mqHAw6iK"],"license":"Apache-2.0"},"src/core/libraries/HatchMath.sol":{"keccak256":"0xca787b2889e281c8db132043312aa9513315669782981689824344c910833fe4","urls":["bzz-raw://77ec2f6b5919d53d3a7128f6006155f2566a84e7a56cd26e9d5e6d1514ccd7a2","dweb:/ipfs/Qmc3Z2quujEwxQU1JBfrxhkiULaczspBsTMjXibqXCjFyd"],"license":"Apache-2.0"},"src/core/libraries/SlashRoundLib.sol":{"keccak256":"0x6773eea1fa593e5c1e16fcd3a8341b537bf5ed7ee2f10472649dfd542e3ade8e","urls":["bzz-raw://756bdaa3facd4034149eeb3553ae99777b646c3e16abf8d41f9558e74249baa6","dweb:/ipfs/QmNpb62diGKNKf5pcynejjhNex9c6PTkZnVUeuLvJ2qCZ9"],"license":"Apache-2.0"},"src/core/libraries/StakingQueue.sol":{"keccak256":"0xbbeafda1659a92be14ec5b77838952a089f075cc1d0c5f348b6ff336ea6a1a98","urls":["bzz-raw://f3c8bdb1de77dab697ef4442f72fa4830c757059f8d948d2f3aeb7f6983aa64f","dweb:/ipfs/QmSDYdTnFo8nx34q3fdJCKpy8DCnKBQ4isxr49o4sY5T6T"],"license":"Apache-2.0"},"src/core/libraries/TimeLib.sol":{"keccak256":"0x865b760fe681ee74a93b49491d897a98091432ebc2923ff17717ddb6d26d31ab","urls":["bzz-raw://4ccdfb80464d8e58a95a68314fe2dd33f4a1634ab0695a9a4e9c180a50cc592b","dweb:/ipfs/QmNUUFN7RTjiicZCkci6eEnfromVTPS2MVE4CkbqoneV6P"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/CheckpointLog.sol":{"keccak256":"0x613513b7eb7855ff619c9eb3f1589fcfb0d7675e15c5261034ac353a62c5cabf","urls":["bzz-raw://110e7cc1eae76116a6682a9044cf9031744a7a8c46164987e246923169618d5e","dweb:/ipfs/QmcuhMXiGWjAbYGYYXKrTCLNYguQZpgxpWVWteJezYKVzQ"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/StakingQueueConfig.sol":{"keccak256":"0x32b00fd08e1754d9d9c9b377ae0a0ea887ace519db0ec6d252e1b2216891068e","urls":["bzz-raw://4ecea0a1ff8536819d37d3800b2915249b5c854d9dc611e91aae81df6acf7d76","dweb:/ipfs/Qmf3FgXCf1MP78p5B76kQnwx8yXFXncutVzQhV2fteBvVn"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/Tips.sol":{"keccak256":"0xdf872f54470e59b86349871e2c12075e8daaad85894f90e64f92538daf5f4008","urls":["bzz-raw://493e4bc02c6e9acbb5bfaa68f19bf4defb409211b701784e43d2ca6cbc11ccd1","dweb:/ipfs/QmSUahndZ78LBx6WdozXWL6QkqxZXzrXpHna2kGwCqgy34"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeConfig.sol":{"keccak256":"0xd5593d342fd9e75cf10d9c126d5aa46eab6707221111d81757e0f5c3473c23fd","urls":["bzz-raw://5cdfdfa94ea9d7b93cb80bdbd9e81c80fc7d71de890d88bb957960d0d5734298","dweb:/ipfs/QmQ2VjHtpja19AxDnGg2Q5hCck678PUrfLDuwUNvcyo4YS"],"license":"Apache-2.0"},"src/core/libraries/compressed-data/fees/FeeStructs.sol":{"keccak256":"0x23304769b5d5098b6d6b1092be483f34c0c901d7e14667404e8c5335dad8b501","urls":["bzz-raw://9ef5000b6a27a338f60dad80f73ea03d6560afc46c063d8d52932574d82cf157","dweb:/ipfs/QmSzdqmERrrCqdfqy4jXhdiyokyNRLvi4qLp85iw8rR9iJ"],"license":"Apache-2.0"},"src/core/libraries/crypto/Hash.sol":{"keccak256":"0x0e2bad615ee34b98ffdc7b81558e78ad3701cf8e02dc0fa4721555b4cdb861cb","urls":["bzz-raw://8f69943a9ad3fba8a12ae34b3d60815c4339ea66a5ec75beb781d22a872c2d4d","dweb:/ipfs/QmTfjRk9vBaxfziFgwYzWgTWFEvbB8EEudkcYupPw6qLXW"],"license":"Apache-2.0"},"src/core/libraries/crypto/SampleLib.sol":{"keccak256":"0x59e87e7d6a1e966c0f73bd919825ff7d81dc898625fe9fd20e6786e10b43783e","urls":["bzz-raw://a931d31192faf6d9d9c82fc7099a776b5886d90dd0a2a9ee8093cc680dfdef70","dweb:/ipfs/QmbQjTTf96tr2WSiuoWK8k984dGuXKooZWZ5o9EL7wEPhv"],"license":"Apache-2.0"},"src/core/libraries/rollup/AttestationLib.sol":{"keccak256":"0xf2111c30dc0d6c81d4f990990dfa37813932180e2b94739050356c5942f316e3","urls":["bzz-raw://fc4d8c42797fa58646094be9e108a60a278f2c2beea06bd7b06b00933b00c5b9","dweb:/ipfs/QmdNPs36gak9y4YoCQq2ttv1nj8ALyab6f9P7SoozECrfN"],"license":"Apache-2.0"},"src/core/libraries/rollup/BlobLib.sol":{"keccak256":"0x5b0d454bd38592154954f1da4cc59f50a036d0a28a169401abd9b5fdb88a4fe1","urls":["bzz-raw://68cf3a3fa979a6cfdc618e66621a0233263a83c259b17f6193fb0339796bee9d","dweb:/ipfs/QmcRKQmFf8mZxWKUT7Vgg3LnTxVsCen5f8TnMqCQMGi2j6"],"license":"Apache-2.0"},"src/core/libraries/rollup/CoordinationSignatureLib.sol":{"keccak256":"0x939c2aa29f536822f1f35db30af3b783986612bb35a210c583247f764c39dfae","urls":["bzz-raw://6f5e71fe318f83063eda2027992740e7be7e0274887b4c11ab00ef3199398729","dweb:/ipfs/QmPGkRVfkoLj8bi95vyySrtFeTaUGf62qcWoBy1nZRjZQc"],"license":"Apache-2.0"},"src/core/libraries/rollup/FeeLib.sol":{"keccak256":"0x78cccc8618137ebda0ca1cb68071a6458eff5c1e4eecce22de77c7479cb2f917","urls":["bzz-raw://eb96d87ba3229de5d5a8e8cd9e1c29438789e578f915d787f2f7c0788f380679","dweb:/ipfs/Qma3VYid6EyGtNCLertDyViT1Z8Ma1vNnc7EAEmJfxf8t9"],"license":"Apache-2.0"},"src/core/libraries/rollup/FieldLib.sol":{"keccak256":"0xd09f77d3aa6d7efc844e99bd496a145171613825bc45d35e1518889098f91e95","urls":["bzz-raw://499d0aeb3c7b6801e49f7554110a194ebeca73bec4ddf4b00ea8dd64fcc4b2ac","dweb:/ipfs/QmQf7EeP4kwTGPR2xfDK2MpNAqqcAY4vWZ3faEKn6JEW8R"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposeLib.sol":{"keccak256":"0x90d4fff721a1bcdbb555aad73a040ac1f0c3a61e286b0f291f47248129d8a777","urls":["bzz-raw://988c7390ba413ae25939df5a9f8850649106627ddf453a60b472e31c32a97156","dweb:/ipfs/QmXNPKm6y3bgTmjfeTMrY4sfBUFT4fLxZsMBBSC13Nt6oy"],"license":"Apache-2.0"},"src/core/libraries/rollup/ProposedHeaderLib.sol":{"keccak256":"0x43a9fa530b7cb948c1d7c436bddafdd8ddd8c022c67e25045372bc68b9e5018c","urls":["bzz-raw://904e4aa94b322f68c605dd34ea38bb77343437e2f2203c3e650cf7a7bb3aa19e","dweb:/ipfs/QmX3H4PMwh57L5Zv3LFrHjkNmgVZiik4FmzSyJhnTJcqPD"],"license":"Apache-2.0"},"src/core/libraries/rollup/RewardLib.sol":{"keccak256":"0x3a73a07577c713179be2de8df601445e79c606afb42f74bed33d1000c6f14ff8","urls":["bzz-raw://e432e402f6721bf70849ae3d731dcc669abeeb7df8399c878cc946fea0657a1a","dweb:/ipfs/QmYuGKQvN9iFhQpKLo6Rd7oTkMZx6VfdrJFh6tVgLEDg5M"],"license":"Apache-2.0"},"src/core/libraries/rollup/STFLib.sol":{"keccak256":"0xcb2ae0566bd5b0834f8ec2f73d78037f25d4d65894bff1ab8abcb9f8c65c7bc0","urls":["bzz-raw://35689b10ee3d4fff126625efa170fe77c617441fd7902d7376488af5061a79e0","dweb:/ipfs/QmUzDZoMrpJAuhVYVGSruX4mj9jTJmSZncvoTHbsyZL7eM"],"license":"Apache-2.0"},"src/core/libraries/rollup/SequencerRewardCalculatorLib.sol":{"keccak256":"0x2d5e8efc5a87bec1d50a8c9df0696a8248e0905ab62dcd7ec6a51527ad33b604","urls":["bzz-raw://15d4a7d1f265fc1a248762702373534fcae9d85df5150e5e1a45f79b94736ed4","dweb:/ipfs/QmdAT5Aw6JSg5GJnTikfDtJHnJZuMib7L8GB3yQ4jMuiFr"],"license":"Apache-2.0"},"src/core/libraries/rollup/StakingLib.sol":{"keccak256":"0x6e3c96f937701c67570d902aca8d2f9a1ee35942e17b1e5a375b264582a6fe8c","urls":["bzz-raw://ddb78c290af17a9574b89104177d2f1079c5abeb462446722b8fb09e03659ea6","dweb:/ipfs/QmURXaGC2SRKZc36NQZ4SXqNtgY5MpYQRamS3Shn2GMAoe"],"license":"Apache-2.0"},"src/core/libraries/rollup/ValidatorSelectionLib.sol":{"keccak256":"0xea94ff99c5e47c51bbd4ffe8282447c7aae23065e255ec2d2806a11901ab1752","urls":["bzz-raw://4e5c466c3c0ca5834c41714ddd64e7e5a34e6c37a5d57ddbed40b567582746bb","dweb:/ipfs/QmUYZ4KgwoUhxQCMtazUgj8tN6wkRHcakZ5rg5EjQq1XuU"],"license":"Apache-2.0"},"src/core/reward-boost/RewardBooster.sol":{"keccak256":"0x1cffe0dcbc06775ad415b06cd3591f74331bad3b154a3305ea6c5a081915fce0","urls":["bzz-raw://a2fcdbdcc260b3330bae0bc61227f652f9cb68e175fbc7d4173bf1d2dfaa92d1","dweb:/ipfs/QmddUmciRbznTTfBpbZf2p3R9sC1oePRF9C3Swnq8qU3Xb"],"license":"Apache-2.0"},"src/core/slashing/Slasher.sol":{"keccak256":"0xc3040cd1813a6064a6afda9ca8b1f65f5cba2e7359050c48507d2f71d3606786","urls":["bzz-raw://73f73fac9ffe650304c68a49635604806b86b0a5baadbf59ef36931e7937bc51","dweb:/ipfs/QmaMMMXycUeybJyf2ZowJgQ1Wo4ZC7g5kyp1BHWfj8dkD9"],"license":"Apache-2.0"},"src/governance/Bn254LibWrapper.sol":{"keccak256":"0xea39571de45fe0fec82d9e760998677eb2432e08c6cdb00c41efa58caf56e607","urls":["bzz-raw://1e470b821f3d87fa0c988c5f23a8deed3849bffd2527b3b4ee137a90e0c1264c","dweb:/ipfs/QmW3M4HyRLDruV5AYXCKicFCiiczmwnSTtnwVKUnQSm7a8"],"license":"Apache-2.0"},"src/governance/GSE.sol":{"keccak256":"0xc19fa4868d78030e2411dd5cef6d0da09645ade1d1ea0c4374b284a89feb722a","urls":["bzz-raw://d06396c249566d0e9de5d34eade2bf27c4d583005c0129787bf6c413dcd9e273","dweb:/ipfs/QmcimKKiV9KqobS5wzPsKYzyYu5WezCF3gyHkekf5tjrUU"],"license":"Apache-2.0"},"src/governance/GSEPayload.sol":{"keccak256":"0x40e5385b008f0335b50e066c647bb906685511c9fef206ce90a3391468558bae","urls":["bzz-raw://a129e87e1d57cf0813b14108cbdbcdd4c114b20f3f2d67477302d6d050120c7e","dweb:/ipfs/QmRcQQkeDhkrmQha3nkA8qvXnGmF6nLhZMKAhMx61A7a5y"],"license":"Apache-2.0"},"src/governance/Governance.sol":{"keccak256":"0x07770c3d80369adae51be8e361f63a2aa5ec489b354b10c8590be1e294dfe2e5","urls":["bzz-raw://7219becf3467ea8368dba0bd093ba932b165cf3f214e7286f652e2730bf42eaf","dweb:/ipfs/QmTSCDhSQBTKhzGUk12phxhqohSba6yopYMzF5T5XPFUWw"],"license":"Apache-2.0"},"src/governance/interfaces/IBn254LibWrapper.sol":{"keccak256":"0xdd0a3de8b8ff67cf2bf090d04b4a37aa6d604f402db3328387d2466d2354464a","urls":["bzz-raw://daef0234547509cd7ae3a7babf0e50a8d1ca2894f1817e3e2409a50fd32947b9","dweb:/ipfs/QmbwSedqnBfsqRnUq8XcXzoeoyhZTXJWJ9rpJn61BAJfej"],"license":"Apache-2.0"},"src/governance/interfaces/IEmpire.sol":{"keccak256":"0xe6a8a8c3fef8e6f9f5118bd40c63e951b13a59d5f885bbb979d38745ef760ed3","urls":["bzz-raw://940c1fe4138d7364ccdb7d5635ea90bafa1da274f680039b0b54ee8c2a275a9a","dweb:/ipfs/QmX2EeoVyES18BMgcbKVDb36MCq8ooDVR98m2RmnmZjEAo"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernance.sol":{"keccak256":"0xe420d305fbe7c35f4620cd1e0f05f9f4c5a91532621d21a64ea553a3d9a3c005","urls":["bzz-raw://1900ac41f945aa692d5228f134ae63840081d284bf89fdd2a06b45424fe359ff","dweb:/ipfs/QmePFZ1xv5qfftJVDLc98XUVFsrpuKAbKZiro7MoMDTpoa"],"license":"Apache-2.0"},"src/governance/interfaces/IGovernanceProposer.sol":{"keccak256":"0x2be820a5452c481ffd329d68c46d0af6a286934963f26b36d363cd34fb0e5817","urls":["bzz-raw://f58839d1504e11e7da42b7f5a03fb9b9d8cc39ab4c16cfb86fa44c4de08df76f","dweb:/ipfs/QmR6jUJozP9tfpZuSduk66E8n7WuL3zzsR3WHZ7BR2ZBX2"],"license":"Apache-2.0"},"src/governance/interfaces/IPayload.sol":{"keccak256":"0x5844ea725ce56ac8adeb20b2d37aa431ca087f68a65a7ca91f981be7458737c3","urls":["bzz-raw://5ea670db51b2ccfac05a684b95458ecc015c9d12a6567c3f73d473386533f58c","dweb:/ipfs/QmRUB8mckkGQ4nNsErRhnKMsD9SSkokRSpnr5XZC9dZdin"],"license":"Apache-2.0"},"src/governance/interfaces/IProposerPayload.sol":{"keccak256":"0x89068dd464c0bfb7d447c0e99728277e03c7c4b864208ead20321f0590187248","urls":["bzz-raw://4d1d9ba5f8b7da374d773acde9514ca6607ad31a3e83950caa097bdb8b0f9167","dweb:/ipfs/Qmd7tWAD2Ubz434zZPJvuyAGsHYpXBHvVhVefLFzUudD2o"],"license":"Apache-2.0"},"src/governance/interfaces/IRegistry.sol":{"keccak256":"0xc3678c04c0945d3dc1d8007df3dc7f8b25d8108b0b25134842ffc5169f996ce8","urls":["bzz-raw://71e4e401f1a6f561262755cc2e1c347cd3aa79e67d2e52ca547864f49de01724","dweb:/ipfs/QmPvoKFEDTb41DSC3MmDMqtM3trj5oZb1Jj2jtQSnNfHBn"],"license":"Apache-2.0"},"src/governance/interfaces/IRewardDistributor.sol":{"keccak256":"0xf263f75be83d0b0e3c8f17ec7fc2558d3543df788dcb2db6f1ee158208134f14","urls":["bzz-raw://b2b65819a5f9ecd2237957e987bb69160d3076ccaf9f76f925a936e574d63d76","dweb:/ipfs/QmNgWESeo6UUvgW7rCMP3d4o8mUqSSbKrwbicH4kaUrm7h"],"license":"Apache-2.0"},"src/governance/libraries/AddressSnapshotLib.sol":{"keccak256":"0x1006e58059e0a1f0fef102f2f11f5649dffc7f2eb066fce51845e65a064f4210","urls":["bzz-raw://de385ab9eb3bb66d7be1218b49ae9bba7d88797bcb375b9a7481a209d303a402","dweb:/ipfs/QmZe6DTv3cACfdXNSMhbMhoefg31LW3uLxHLDC7nZhb4Yp"],"license":"Apache-2.0"},"src/governance/libraries/CheckpointedUintLib.sol":{"keccak256":"0xcd73cf7a62e4ac5cc79f7f8df8b35d5c5e4df5b8a3478bcbc2b29c9aa89ea4b4","urls":["bzz-raw://f56f37060d39d3c9276f23c96be7f6b1ea44676312dbaa1ab16ab3bff6acebf1","dweb:/ipfs/QmPDUEEgdbpTTs9r3fvdMYJo9akCRsWcJXyarBhQgcKb5q"],"license":"Apache-2.0"},"src/governance/libraries/ConfigurationLib.sol":{"keccak256":"0x7cb65bdbd8d077f3cfc01b065fb3a57628db36cd46f68885c74b9131198c2149","urls":["bzz-raw://e37bde50f5f739f479feb95fbe81ed24ee47f841b99f066ecf6782e758d1978a","dweb:/ipfs/QmebPE5REUpYRB8dikUebcGtyk9uy44G9mbchKJtHxJAgy"],"license":"Apache-2.0"},"src/governance/libraries/DepositDelegationLib.sol":{"keccak256":"0x37fbca65ccabec9d901bd71d684dceec7c59fa5a05438fd209ea0d5e16e764c0","urls":["bzz-raw://e42f2622978abc3ac84223a6b206201898d0269d20bf81539636c0999a0db9eb","dweb:/ipfs/QmW4BgTjR6BuPxwxreKarUeK1u8gx3p9yFdDD4EsC5hkyb"],"license":"Apache-2.0"},"src/governance/libraries/Errors.sol":{"keccak256":"0x8861ea7508138c83e89f186ce17accb42a6eee7d1d2e52841975d4ba676daae4","urls":["bzz-raw://b0d5b01c2b0a20c3c70a7ab2b8405d083a063bf5758beb87a4d488bda76078fa","dweb:/ipfs/QmfGH6CTCPA6nVA6KidcTSvaJ6MQZkv6KiuDVBTARGBTRv"],"license":"Apache-2.0"},"src/governance/libraries/ProposalLib.sol":{"keccak256":"0x616ffbb24c4454ca9e223e85ff01e8dca139723d5cd312d5d6f6111d79782a90","urls":["bzz-raw://192f9be3355a7a94d19ae4e5b397e5db19dde64ccc671e149da06dfaa2577192","dweb:/ipfs/QmTDcm7XEFLe7o5cXUmuu5wQDyprU78AVMymiWvrmP4tHT"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Ballot.sol":{"keccak256":"0xca07dc8cf36ac2beae7674804af144b34b3c5848153351c17d996e9b3293cd5d","urls":["bzz-raw://6911cc49f1d6977c12f652063c14891697c1ffe49fdf36903c32a8ad73cbd012","dweb:/ipfs/QmQBEZARCAAj1ZLcswkH6FwP1RP8uuNjYTHqthmE9Z5RnM"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Configuration.sol":{"keccak256":"0x40744f275af22d33c38fd9c6a7b822292c9c87b17ac2c78abbef4eb8356fd9f9","urls":["bzz-raw://73c685be7e934516207827a59cbbeb7fc1164e7659dd3ec857a91cfea765b482","dweb:/ipfs/QmQfudRpSSQnG9u4XV8iA2UAyDzQPFqWzpZy5NZbaD6htv"],"license":"Apache-2.0"},"src/governance/libraries/compressed-data/Proposal.sol":{"keccak256":"0x72cf619a21c8e95875c63d4361cbe1a815d9d67f36f3fe32b6c9ca4d9ab0d33a","urls":["bzz-raw://d80f47beb3f91da3cc68264c86fc8fb8f0e4abaf9d92243ab3206407fceed5c6","dweb:/ipfs/QmYyrBTDMfkTBu6EcKcSMR7JyfphZ5xH1VCQ8EHMQUvsoN"],"license":"Apache-2.0"},"src/governance/proposer/EmpireBase.sol":{"keccak256":"0x747b20e201dab632a831c12f1fee9ee52cc80a2098c77e8b6c7b09b0f3ba2bc0","urls":["bzz-raw://b7d4a0475ca364f75aa2a1d17ed9e6970f0be605126f2efe26d53c791d4a5209","dweb:/ipfs/Qma5tkTcy94PqE9vtQybQSyH9LWaHR8V3ubwDPZwiUNT35"],"license":"Apache-2.0"},"src/governance/proposer/GovernanceProposer.sol":{"keccak256":"0xa2829df5b65856c9f1d6bf490fb50616f14402ff8eece2e32b63828b8b9337c3","urls":["bzz-raw://8ad52830a7a3aed3477bf55f92c3d68cb1c16a5cf1d636227ab76a306c846607","dweb:/ipfs/QmRonyZQZj5D1e2g4Y6Tmj2AEUnekL4pGmgdMT4ycRAM8m"],"license":"Apache-2.0"},"src/mock/libraries/BlobLib.sol":{"keccak256":"0xa1b19239c5c64ba1b0c9f83ec0a30059f10ded12bf40d5d7c3f65974752b3121","urls":["bzz-raw://5cbce7d0dd0096232d60ec5c6920f211ffcaa46c8675b1129c1f939a1ee84837","dweb:/ipfs/QmSS2qUhzUuZY1qHDjWUGvHuMqMG3cjHoHeDVvgWsjMdA9"],"license":"Apache-2.0"},"src/shared/libraries/BN254Lib.sol":{"keccak256":"0x0c3a5b7dabde2f5c81f19e1a4a212308a8636b5bb4a16bb1a518d58ef4feb6f5","urls":["bzz-raw://870be6219c7081ed081cee2fa9ad1e7f3efff623ae1a59aed966f2bdcee65b7a","dweb:/ipfs/QmNzohb1TazCgaT1e55CMDuuG7AHdGrGA6jvT4wzxdAM52"],"license":"Apache-2.0"},"src/shared/libraries/CompressedTimeMath.sol":{"keccak256":"0x361023cf30593e7e27417c91af3702e75235fcab251e4ad5ac2e47306a730ec1","urls":["bzz-raw://9b192242472b3126c97a4a4e4fa792809a6bf20b548a57e677f5260c0dbf3ad3","dweb:/ipfs/QmfK4WAucepcqzMLu11rs68HJazwfegVsgK5tTco82SooB"],"license":"Apache-2.0"},"src/shared/libraries/SignatureLib.sol":{"keccak256":"0xb69989f57384383341d1bb4693fb1e6ce31a2ab6c0fadb48bf088078a332a56a","urls":["bzz-raw://f199be27853a14d746c567c5e3a473f474e84cfd3d119a6404e6ceff4e986e5c","dweb:/ipfs/QmWsLozeiKLQbTSEUDVZK2ASEX3EodKxT4DdA9BA6bD6N2"],"license":"Apache-2.0"},"src/shared/libraries/TimeMath.sol":{"keccak256":"0x8da20dc8b4ce296b7c11f117a3381bfe5cd611a3512a74a500e2e54e0353417f","urls":["bzz-raw://18c74be98a4e31e8a16356e573514f639a8fc43928e741f6ead81dd755e9a914","dweb:/ipfs/QmPDEdYYEj3DhXjrCDPuudJbhsBaNj1sK6hH94Z86168Q3"],"license":"Apache-2.0"}},"version":1},"id":72}
|