@aztec-foundation/l1-artifacts 6.0.0-rc.2 → 6.0.0-rc.5
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":"_args","type":"tuple","internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","components":[{"name":"owner","type":"address","internalType":"address"},{"name":"stakingAsset","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"faucetAmount","type":"uint256","internalType":"uint256"},{"name":"zkPassportVerifier","type":"address","internalType":"contract ZKPassportRootVerifier"},{"name":"unhinged","type":"address[]","internalType":"address[]"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"skipBindCheck","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_FAUCET_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_AGE","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"STAKING_ASSET","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMintableERC20"}],"stateMutability":"view"},{"type":"function","name":"VALIDITY_PERIOD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToNullifier","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"_params","type":"tuple","internalType":"struct ProofVerificationParams","components":[{"name":"version","type":"bytes32","internalType":"bytes32"},{"name":"proofVerificationData","type":"tuple","internalType":"struct ProofVerificationData","components":[{"name":"vkeyHash","type":"bytes32","internalType":"bytes32"},{"name":"proof","type":"bytes","internalType":"bytes"},{"name":"publicInputs","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"committedInputs","type":"bytes","internalType":"bytes"},{"name":"serviceConfig","type":"tuple","internalType":"struct ServiceConfig","components":[{"name":"validityPeriodInSeconds","type":"uint256","internalType":"uint256"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"devMode","type":"bool","internalType":"bool"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"faucetAmount","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":"isUnhinged","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"isUnhinged","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"nullifiers","inputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNullifier","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDomain","inputs":[{"name":"_domain","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFaucetAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setScope","inputs":[{"name":"_scope","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSkipBindCheck","inputs":[{"name":"_skipBindCheck","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setZKPassportVerifier","inputs":[{"name":"_zkPassportVerifier","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validDomain","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"validScope","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"zkPassportVerifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ZKPassportRootVerifier"}],"stateMutability":"view"},{"type":"event","name":"Claimed","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"DomainUpdated","inputs":[{"name":"newDomain","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"FaucetAmountUpdated","inputs":[{"name":"newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NullifierReset","inputs":[{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ScopeUpdated","inputs":[{"name":"newScope","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SkipBindCheckUpdated","inputs":[{"name":"_skipBindCheck","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"UnhingedAdded","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UnhingedRemoved","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ZKPassportVerifierUpdated","inputs":[{"name":"_verifier","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ExtraDiscloseDataNonZero","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidAge","inputs":[]},{"type":"error","name":"InvalidBoundAddress","inputs":[{"name":"_expected","type":"address","internalType":"address"},{"name":"_received","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidChainId","inputs":[{"name":"_expected","type":"uint256","internalType":"uint256"},{"name":"_received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidCountry","inputs":[]},{"type":"error","name":"InvalidDomain","inputs":[]},{"type":"error","name":"InvalidFaceMatch","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidScope","inputs":[]},{"type":"error","name":"InvalidValidityPeriod","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SybilDetected","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60c060405234801561000f575f5ffd5b50604051611f0e380380611f0e83398101604081905261002e91610444565b80516001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100668161025f565b5060208101516001600160a01b0390811660805260408201511660a052606081015161009c5769d3c21bcecceda10000006100a2565b80606001515b60058190556040519081527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200160405180910390a15f5b8160a001515181101561018957600160025f8460a00151848151811061010457610104610564565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160a00151818151811061015757610157610564565b60200260200101516001600160a01b03165f516020611eee5f395f51905f5260405160405180910390a26001016100dc565b5080516001600160a01b039081165f90815260026020526040808220805460ff19166001179055835190519216915f516020611eee5f395f51905f529190a26080810151600180546001600160a01b0319166001600160a01b0390921691821790556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a260c081015160069061022590826105fc565b5060e081015160079061023890826105fc565b50610100015160018054911515600160a01b0260ff60a01b199092169190911790556106b6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156102e5576102e56102ae565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610313576103136102ae565b604052919050565b6001600160a01b038116811461032f575f5ffd5b50565b805161033d8161031b565b919050565b5f82601f830112610351575f5ffd5b81516001600160401b0381111561036a5761036a6102ae565b8060051b61037a602082016102eb565b91825260208185018101929081019086841115610395575f5ffd5b6020860192505b838310156103c05782516103af8161031b565b82526020928301929091019061039c565b9695505050505050565b5f82601f8301126103d9575f5ffd5b81516001600160401b038111156103f2576103f26102ae565b610405601f8201601f19166020016102eb565b818152846020838601011115610419575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b8051801515811461033d575f5ffd5b5f60208284031215610454575f5ffd5b81516001600160401b03811115610469575f5ffd5b8201610120818503121561047b575f5ffd5b6104836102c2565b61048c82610332565b815261049a60208301610332565b60208201526104ab60408301610332565b6040820152606082810151908201526104c660808301610332565b608082015260a08201516001600160401b038111156104e3575f5ffd5b6104ef86828501610342565b60a08301525060c08201516001600160401b0381111561050d575f5ffd5b610519868285016103ca565b60c08301525060e08201516001600160401b03811115610537575f5ffd5b610543868285016103ca565b60e0830152506105566101008301610435565b610100820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061058c57607f821691505b6020821081036105aa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105f757805f5260205f20601f840160051c810160208510156105d55750805b601f840160051c820191505b818110156105f4575f81556001016105e1565b50505b505050565b81516001600160401b03811115610615576106156102ae565b610629816106238454610578565b846105b0565b6020601f82116001811461065b575f83156106445750848201515b5f19600385901b1c1916600184901b1784556105f4565b5f84815260208120601f198516915b8281101561068a578785015182556020948501946001909201910161066a565b50848210156106a757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a0516117fb6106f35f395f81816101a4015261088501525f818161016701528181610622015281816106ec01526107cd01526117fb5ff3fe608060405234801561000f575f5ffd5b506004361061015e575f3560e01c806381d2fd9c116100ca578063c4797ec511610084578063c4797ec514610300578063c47ca04c14610313578063c8f832bf1461031b578063dd71369c1461032e578063e5eab0961461034d578063f2fde38b14610360578063fc67935414610373575f5ffd5b806381d2fd9c146102a85780638da5cb5b146102bb578063939af6cd146102cb5780639c281430146102de578063a4d2342a146102e7578063bdbf3df5146102ef575f5ffd5b8063281ab6861161011b578063281ab686146102225780632997e86b146102355780632fb60c1a146102675780633148bf091461027a5780634bc833321461028d578063715018a6146102a0575f5ffd5b806303c230e31461016257806306433b1b1461019f5780630c43cd88146101c65780631c04beac146101de5780631f4a2f59146101f85780632052e6401461020d575b5f5ffd5b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516101969190610f88565b60405180910390f35b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101d062093a8081565b604051908152602001610196565b6101e6601281565b60405160ff9091168152602001610196565b610200610395565b6040516101969190610fca565b61022061021b366004610ff7565b610421565b005b610220610230366004610ff7565b610472565b610257610243366004611012565b60036020525f908152604090205460ff1681565b6040519015158152602001610196565b610220610275366004611012565b6104c5565b610220610288366004611036565b61051f565b61022061029b3660046110e3565b610574565b6102206105b8565b6102206102b6366004611012565b6105cb565b5f546001600160a01b0316610189565b6102206102d936600461115c565b610608565b6101d060055481565b610189610882565b6101d069d3c21bcecceda100000081565b600154610189906001600160a01b031681565b610200610908565b610220610329366004610ff7565b610915565b6101d061033c366004610ff7565b60046020525f908152604090205481565b61022061035b3660046110e3565b610965565b61022061036e366004610ff7565b6109a9565b610257610381366004610ff7565b60026020525f908152604090205460ff1681565b600780546103a290611192565b80601f01602080910402602001604051908101604052809291908181526020018280546103ce90611192565b80156104195780601f106103f057610100808354040283529160200191610419565b820191905f5260205f20905b8154815290600101906020018083116103fc57829003601f168201915b505050505081565b6104296109ef565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b61047a6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104cd6109ef565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de5906105149083815260200190565b60405180910390a150565b6105276109ef565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061051490831515815260200190565b61057c6109ef565b60076105888282611216565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e9816040516105149190610fca565b6105c06109ef565b6105c95f610a1b565b565b6105d36109ef565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da90602001610514565b6005546040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610657903090600401610f88565b602060405180830381865afa158015610672573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069691906112d0565b10156106b557604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff161561079f5760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561073a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075e91906112e7565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107aa3383610a6a565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561081b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083f91906112e7565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190611302565b905090565b600680546103a290611192565b61091d6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61096d6109ef565b60066109798282611216565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef543816040516105149190610fca565b6109b16109ef565b6001600160a01b0381166109e3575f604051631e4fbdf760e01b81526004016109da9190610f88565b60405180910390fd5b6109ec81610a1b565b50565b5f546001600160a01b031633146105c9573360405163118cdaa760e01b81526004016109da9190610f88565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a78606083018361131d565b610a89906080810190606001611036565b15610aa7576040516309bde33960e01b815260040160405180910390fd5b6006604051610ab6919061133b565b604051908190039020610acc606084018461131d565b610ada9060208101906113ac565b604051610ae89291906113f5565b604051809103902014610b0e576040516375893cc160e11b815260040160405180910390fd5b6007604051610b1d919061133b565b604051908190039020610b33606084018461131d565b610b419060408101906113ac565b604051610b4f9291906113f5565b604051809103902014610b755760405163725a844f60e01b815260040160405180910390fd5b62093a80610b86606084018461131d565b3514610ba55760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610bd99087906004016114f9565b606060405180830381865afa158015610bf4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c189190611619565b909450909250905081610c3e576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c72576040516390a3baff60e01b81526004016109da91815260200190565b50600154600160a01b900460ff16610f4f575f6001600160a01b038216630af18ba6610ca160408801886113ac565b6040518363ffffffff1660e01b8152600401610cbe929190611659565b5f60405180830381865afa158015610cd8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cff9190810190611674565b8051909150866001600160a01b0382811690821614610d4457604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109da565b5050602081015146818114610d7557604051639fba672f60e01b8152600481019290925260248201526044016109da565b505060408101515115610d9b5760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610db25790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610df757610df7611739565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3157610e31611739565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e6b57610e6b611739565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610ea557610ea5611739565b60209081029190910101525f6001600160a01b03841663d3fb610f83610ece60408b018b6113ac565b6040518463ffffffff1660e01b8152600401610eec9392919061174d565b602060405180830381865afa158015610f07573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2b91906112e7565b905080610f4b576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b6001600160a01b0391909116815260200190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fdc6020830184610f9c565b9392505050565b6001600160a01b03811681146109ec575f5ffd5b5f60208284031215611007575f5ffd5b8135610fdc81610fe3565b5f60208284031215611022575f5ffd5b5035919050565b80151581146109ec575f5ffd5b5f60208284031215611046575f5ffd5b8135610fdc81611029565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561108757611087611051565b60405290565b604051601f8201601f191681016001600160401b03811182821017156110b5576110b5611051565b604052919050565b5f6001600160401b038211156110d5576110d5611051565b50601f01601f191660200190565b5f602082840312156110f3575f5ffd5b81356001600160401b03811115611108575f5ffd5b8201601f81018413611118575f5ffd5b803561112b611126826110bd565b61108d565b81815285602083850101111561113f575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f6020828403121561116c575f5ffd5b81356001600160401b03811115611181575f5ffd5b820160808185031215610fdc575f5ffd5b600181811c908216806111a657607f821691505b6020821081036111c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561121157805f5260205f20601f840160051c810160208510156111ef5750805b601f840160051c820191505b8181101561120e575f81556001016111fb565b50505b505050565b81516001600160401b0381111561122f5761122f611051565b6112438161123d8454611192565b846111ca565b6020601f821160018114611275575f831561125e5750848201515b5f19600385901b1c1916600184901b17845561120e565b5f84815260208120601f198516915b828110156112a45787850151825560209485019460019092019101611284565b50848210156112c157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112e0575f5ffd5b5051919050565b5f602082840312156112f7575f5ffd5b8151610fdc81611029565b5f60208284031215611312575f5ffd5b8151610fdc81610fe3565b5f8235607e19833603018112611331575f5ffd5b9190910192915050565b5f5f835461134881611192565b60018216801561135f5760018114611374576113a1565b60ff19831686528115158202860193506113a1565b865f5260205f205f5b838110156113995781548882015260019091019060200161137d565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c1575f5ffd5b8301803591506001600160401b038211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b83016020810192503590506001600160401b03811115611437575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611481575f5ffd5b90910192915050565b803582525f61149c6020830183611404565b608060208601526114b1608086018284611445565b9150506114c16040840184611404565b85830360408701526114d4838284611445565b9250505060608301356114e681611029565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151b575f5ffd5b608060408401528301803560a08401526115386020820182611404565b606060c086015261154e61010086018284611445565b9150506040820135601e19833603018112611567575f5ffd5b6020920191820191356001600160401b03811115611583575f5ffd5b8060051b803603841315611595575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b7575f5ffd5b8084602085013780830193505050506115d36040850185611404565b84830360608601526115e9602084018284611445565b925050506115fa606085018561146d565b838203601f19016080850152611610828261148a565b95945050505050565b5f5f5f6060848603121561162b575f5ffd5b835161163681611029565b60208501516040860151919450925061164e81610fe3565b809150509250925092565b602081525f61166c602083018486611445565b949350505050565b5f60208284031215611684575f5ffd5b81516001600160401b03811115611699575f5ffd5b8201606081850312156116aa575f5ffd5b6116b2611065565b81516116bd81610fe3565b81526020828101519082015260408201516001600160401b038111156116e1575f5ffd5b80830192505084601f8301126116f5575f5ffd5b8151611703611126826110bd565b818152866020838601011115611717575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a457605f1987860301845261178f858351610f9c565b94506020938401939190910190600101611773565b5050505082810360208401526117bb818587611445565b969550505050505056fea26469706673582212203254ab2207f0909a7e30a3aa1b831dfa5e44903ca17f0c2b0d003f8e6aab0ba564736f6c634300081e00331a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b","sourceMap":"2662:6645:157:-:0;;;3912:751;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3970:11;;-1:-1:-1;;;;;1273:26:35;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:35;;1350:1;1322:31;;;4158:51:182;4131:18;;1322:31:35;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;4020:18:157::1;::::0;::::1;::::0;-1:-1:-1;;;;;3989:50:157;;::::1;;::::0;4056:14:::1;::::0;::::1;::::0;4045:25:::1;;::::0;4092:18:::1;::::0;::::1;::::0;:67:::1;;3405:16;4092:67;;;4117:5;:18;;;4092:67;4077:12;:82:::0;;;4170:33:::1;::::0;4366:25:182;;;4170:33:157::1;::::0;4354:2:182;4339:18;4170:33:157::1;;;;;;;4215:9;4210:148;4234:5;:14;;;:21;4230:1;:25;4210:148;;;4302:4;4270:10;:29;4281:5;:14;;;4296:1;4281:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4270:29:157::1;-1:-1:-1::0;;;;;4270:29:157::1;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;4333:5;:14;;;4348:1;4333:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4319:32:157::1;-1:-1:-1::0;;;;;;;;;;;4319:32:157::1;;;;;;;;;4257:3;;4210:148;;;-1:-1:-1::0;4374:11:157;;-1:-1:-1;;;;;4363:23:157;;::::1;;::::0;;;:10:::1;:23;::::0;;;;;:30;;-1:-1:-1;;4363:30:157::1;4389:4;4363:30;::::0;;4418:11;;4404:26;;;::::1;::::0;-1:-1:-1;;;;;;;;;;;4404:26:157;4363:23;4404:26:::1;4458:24;::::0;::::1;::::0;4437:18:::1;:45:::0;;-1:-1:-1;;;;;;4437:45:157::1;-1:-1:-1::0;;;;;4437:45:157;;::::1;::::0;;::::1;::::0;;4493:60:::1;::::0;::::1;::::0;-1:-1:-1;;4493:60:157::1;4574:12;::::0;::::1;::::0;4560:11:::1;::::0;:26:::1;::::0;:11;:26:::1;:::i;:::-;-1:-1:-1::0;4605:11:157::1;::::0;::::1;::::0;4592:10:::1;::::0;:24:::1;::::0;:10;:24:::1;:::i;:::-;-1:-1:-1::0;4639:19:157::1;;::::0;4623:13:::1;:35:::0;;;::::1;;-1:-1:-1::0;;;4623:35:157::1;-1:-1:-1::0;;;;4623:35:157;;::::1;::::0;;;::::1;::::0;;2662:6645;;2912:187:35;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:127:182:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:255;218:2;212:9;260:6;248:19;;-1:-1:-1;;;;;282:34:182;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:2;373:22;146:255;:::o;406:275::-;477:2;471:9;542:2;523:13;;-1:-1:-1;;519:27:182;507:40;;-1:-1:-1;;;;;562:34:182;;598:22;;;559:62;556:88;;;624:18;;:::i;:::-;660:2;653:22;406:275;;-1:-1:-1;406:275:182:o;686:131::-;-1:-1:-1;;;;;761:31:182;;751:42;;741:70;;807:1;804;797:12;741:70;686:131;:::o;822:138::-;901:13;;923:31;901:13;923:31;:::i;:::-;822:138;;;:::o;965:793::-;1030:5;1083:3;1076:4;1068:6;1064:17;1060:27;1050:55;;1101:1;1098;1091:12;1050:55;1128:13;;-1:-1:-1;;;;;1153:30:182;;1150:56;;;1186:18;;:::i;:::-;1232:6;1229:1;1225:14;1259:30;1283:4;1279:2;1275:13;1259:30;:::i;:::-;1325:19;;;1369:4;1401:15;;;1397:26;;;1360:14;;;;1435:15;;;1432:35;;;1463:1;1460;1453:12;1432:35;1499:4;1491:6;1487:17;1476:28;;1513:214;1529:6;1524:3;1521:15;1513:214;;;1604:3;1598:10;1621:31;1646:5;1621:31;:::i;:::-;1665:18;;1712:4;1546:14;;;;1703;;;;1513:214;;;1745:7;965:793;-1:-1:-1;;;;;;965:793:182:o;1763:556::-;1817:5;1870:3;1863:4;1855:6;1851:17;1847:27;1837:55;;1888:1;1885;1878:12;1837:55;1915:13;;-1:-1:-1;;;;;1940:30:182;;1937:56;;;1973:18;;:::i;:::-;2017:59;2064:2;2041:17;;-1:-1:-1;;2037:31:182;2070:4;2033:42;2017:59;:::i;:::-;2101:6;2092:7;2085:23;2155:3;2148:4;2139:6;2131;2127:19;2123:30;2120:39;2117:59;;;2172:1;2169;2162:12;2117:59;2230:6;2223:4;2215:6;2211:17;2204:4;2195:7;2191:18;2185:52;2286:1;2257:20;;;2279:4;2253:31;2246:42;;;;2261:7;1763:556;-1:-1:-1;;;1763:556:182:o;2324:164::-;2400:13;;2449;;2442:21;2432:32;;2422:60;;2478:1;2475;2468:12;2493:1514;2606:6;2659:2;2647:9;2638:7;2634:23;2630:32;2627:52;;;2675:1;2672;2665:12;2627:52;2702:16;;-1:-1:-1;;;;;2730:30:182;;2727:50;;;2773:1;2770;2763:12;2727:50;2796:22;;2852:6;2834:16;;;2830:29;2827:49;;;2872:1;2869;2862:12;2827:49;2898:22;;:::i;:::-;2943:33;2973:2;2943:33;:::i;:::-;2936:5;2929:48;3009:42;3047:2;3043;3039:11;3009:42;:::i;:::-;3004:2;2997:5;2993:14;2986:66;3084:42;3122:2;3118;3114:11;3084:42;:::i;:::-;3079:2;3068:14;;3061:66;3186:2;3178:11;;;3172:18;3206:14;;;3199:31;3263:43;3301:3;3293:12;;3263:43;:::i;:::-;3257:3;3246:15;;3239:68;3346:3;3338:12;;3332:19;-1:-1:-1;;;;;3363:32:182;;3360:52;;;3408:1;3405;3398:12;3360:52;3445:67;3504:7;3493:8;3489:2;3485:17;3445:67;:::i;:::-;3439:3;3428:15;;3421:92;-1:-1:-1;3552:3:182;3544:12;;3538:19;-1:-1:-1;;;;;3569:32:182;;3566:52;;;3614:1;3611;3604:12;3566:52;3651:56;3699:7;3688:8;3684:2;3680:17;3651:56;:::i;:::-;3645:3;3634:15;;3627:81;-1:-1:-1;3747:3:182;3739:12;;3733:19;-1:-1:-1;;;;;3764:32:182;;3761:52;;;3809:1;3806;3799:12;3761:52;3846:56;3894:7;3883:8;3879:2;3875:17;3846:56;:::i;:::-;3840:3;3833:5;3829:15;3822:81;;3936:40;3971:3;3967:2;3963:12;3936:40;:::i;:::-;3930:3;3919:15;;3912:65;3923:5;2493:1514;-1:-1:-1;;;;2493:1514:182:o;4402:127::-;4463:10;4458:3;4454:20;4451:1;4444:31;4494:4;4491:1;4484:15;4518:4;4515:1;4508:15;4534:380;4613:1;4609:12;;;;4656;;;4677:61;;4731:4;4723:6;4719:17;4709:27;;4677:61;4784:2;4776:6;4773:14;4753:18;4750:38;4747:161;;4830:10;4825:3;4821:20;4818:1;4811:31;4865:4;4862:1;4855:15;4893:4;4890:1;4883:15;4747:161;;4534:380;;;:::o;5045:518::-;5147:2;5142:3;5139:11;5136:421;;;5183:5;5180:1;5173:16;5227:4;5224:1;5214:18;5297:2;5285:10;5281:19;5278:1;5274:27;5268:4;5264:38;5333:4;5321:10;5318:20;5315:47;;;-1:-1:-1;5356:4:182;5315:47;5411:2;5406:3;5402:12;5399:1;5395:20;5389:4;5385:31;5375:41;;5466:81;5484:2;5477:5;5474:13;5466:81;;;5543:1;5529:16;;5510:1;5499:13;5466:81;;;5470:3;;5136:421;5045:518;;;:::o;5739:1299::-;5859:10;;-1:-1:-1;;;;;5881:30:182;;5878:56;;;5914:18;;:::i;:::-;5943:97;6033:6;5993:38;6025:4;6019:11;5993:38;:::i;:::-;5987:4;5943:97;:::i;:::-;6089:4;6120:2;6109:14;;6137:1;6132:649;;;;6825:1;6842:6;6839:89;;;-1:-1:-1;6894:19:182;;;6888:26;6839:89;-1:-1:-1;;5696:1:182;5692:11;;;5688:24;5684:29;5674:40;5720:1;5716:11;;;5671:57;6941:81;;6102:930;;6132:649;4992:1;4985:14;;;5029:4;5016:18;;-1:-1:-1;;6168:20:182;;;6286:222;6300:7;6297:1;6294:14;6286:222;;;6382:19;;;6376:26;6361:42;;6489:4;6474:20;;;;6442:1;6430:14;;;;6316:12;6286:222;;;6290:3;6536:6;6527:7;6524:19;6521:201;;;6597:19;;;6591:26;-1:-1:-1;;6680:1:182;6676:14;;;6692:3;6672:24;6668:37;6664:42;6649:58;6634:74;;6521:201;-1:-1:-1;;;;6768:1:182;6752:14;;;6748:22;6735:36;;-1:-1:-1;5739:1299:182:o;:::-;2662:6645:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061015e575f3560e01c806381d2fd9c116100ca578063c4797ec511610084578063c4797ec514610300578063c47ca04c14610313578063c8f832bf1461031b578063dd71369c1461032e578063e5eab0961461034d578063f2fde38b14610360578063fc67935414610373575f5ffd5b806381d2fd9c146102a85780638da5cb5b146102bb578063939af6cd146102cb5780639c281430146102de578063a4d2342a146102e7578063bdbf3df5146102ef575f5ffd5b8063281ab6861161011b578063281ab686146102225780632997e86b146102355780632fb60c1a146102675780633148bf091461027a5780634bc833321461028d578063715018a6146102a0575f5ffd5b806303c230e31461016257806306433b1b1461019f5780630c43cd88146101c65780631c04beac146101de5780631f4a2f59146101f85780632052e6401461020d575b5f5ffd5b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516101969190610f88565b60405180910390f35b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101d062093a8081565b604051908152602001610196565b6101e6601281565b60405160ff9091168152602001610196565b610200610395565b6040516101969190610fca565b61022061021b366004610ff7565b610421565b005b610220610230366004610ff7565b610472565b610257610243366004611012565b60036020525f908152604090205460ff1681565b6040519015158152602001610196565b610220610275366004611012565b6104c5565b610220610288366004611036565b61051f565b61022061029b3660046110e3565b610574565b6102206105b8565b6102206102b6366004611012565b6105cb565b5f546001600160a01b0316610189565b6102206102d936600461115c565b610608565b6101d060055481565b610189610882565b6101d069d3c21bcecceda100000081565b600154610189906001600160a01b031681565b610200610908565b610220610329366004610ff7565b610915565b6101d061033c366004610ff7565b60046020525f908152604090205481565b61022061035b3660046110e3565b610965565b61022061036e366004610ff7565b6109a9565b610257610381366004610ff7565b60026020525f908152604090205460ff1681565b600780546103a290611192565b80601f01602080910402602001604051908101604052809291908181526020018280546103ce90611192565b80156104195780601f106103f057610100808354040283529160200191610419565b820191905f5260205f20905b8154815290600101906020018083116103fc57829003601f168201915b505050505081565b6104296109ef565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b61047a6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104cd6109ef565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de5906105149083815260200190565b60405180910390a150565b6105276109ef565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061051490831515815260200190565b61057c6109ef565b60076105888282611216565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e9816040516105149190610fca565b6105c06109ef565b6105c95f610a1b565b565b6105d36109ef565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da90602001610514565b6005546040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610657903090600401610f88565b602060405180830381865afa158015610672573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069691906112d0565b10156106b557604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff161561079f5760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561073a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075e91906112e7565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107aa3383610a6a565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561081b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083f91906112e7565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190611302565b905090565b600680546103a290611192565b61091d6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61096d6109ef565b60066109798282611216565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef543816040516105149190610fca565b6109b16109ef565b6001600160a01b0381166109e3575f604051631e4fbdf760e01b81526004016109da9190610f88565b60405180910390fd5b6109ec81610a1b565b50565b5f546001600160a01b031633146105c9573360405163118cdaa760e01b81526004016109da9190610f88565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a78606083018361131d565b610a89906080810190606001611036565b15610aa7576040516309bde33960e01b815260040160405180910390fd5b6006604051610ab6919061133b565b604051908190039020610acc606084018461131d565b610ada9060208101906113ac565b604051610ae89291906113f5565b604051809103902014610b0e576040516375893cc160e11b815260040160405180910390fd5b6007604051610b1d919061133b565b604051908190039020610b33606084018461131d565b610b419060408101906113ac565b604051610b4f9291906113f5565b604051809103902014610b755760405163725a844f60e01b815260040160405180910390fd5b62093a80610b86606084018461131d565b3514610ba55760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610bd99087906004016114f9565b606060405180830381865afa158015610bf4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c189190611619565b909450909250905081610c3e576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c72576040516390a3baff60e01b81526004016109da91815260200190565b50600154600160a01b900460ff16610f4f575f6001600160a01b038216630af18ba6610ca160408801886113ac565b6040518363ffffffff1660e01b8152600401610cbe929190611659565b5f60405180830381865afa158015610cd8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cff9190810190611674565b8051909150866001600160a01b0382811690821614610d4457604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109da565b5050602081015146818114610d7557604051639fba672f60e01b8152600481019290925260248201526044016109da565b505060408101515115610d9b5760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610db25790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610df757610df7611739565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3157610e31611739565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e6b57610e6b611739565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610ea557610ea5611739565b60209081029190910101525f6001600160a01b03841663d3fb610f83610ece60408b018b6113ac565b6040518463ffffffff1660e01b8152600401610eec9392919061174d565b602060405180830381865afa158015610f07573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2b91906112e7565b905080610f4b576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b6001600160a01b0391909116815260200190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fdc6020830184610f9c565b9392505050565b6001600160a01b03811681146109ec575f5ffd5b5f60208284031215611007575f5ffd5b8135610fdc81610fe3565b5f60208284031215611022575f5ffd5b5035919050565b80151581146109ec575f5ffd5b5f60208284031215611046575f5ffd5b8135610fdc81611029565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561108757611087611051565b60405290565b604051601f8201601f191681016001600160401b03811182821017156110b5576110b5611051565b604052919050565b5f6001600160401b038211156110d5576110d5611051565b50601f01601f191660200190565b5f602082840312156110f3575f5ffd5b81356001600160401b03811115611108575f5ffd5b8201601f81018413611118575f5ffd5b803561112b611126826110bd565b61108d565b81815285602083850101111561113f575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f6020828403121561116c575f5ffd5b81356001600160401b03811115611181575f5ffd5b820160808185031215610fdc575f5ffd5b600181811c908216806111a657607f821691505b6020821081036111c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561121157805f5260205f20601f840160051c810160208510156111ef5750805b601f840160051c820191505b8181101561120e575f81556001016111fb565b50505b505050565b81516001600160401b0381111561122f5761122f611051565b6112438161123d8454611192565b846111ca565b6020601f821160018114611275575f831561125e5750848201515b5f19600385901b1c1916600184901b17845561120e565b5f84815260208120601f198516915b828110156112a45787850151825560209485019460019092019101611284565b50848210156112c157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112e0575f5ffd5b5051919050565b5f602082840312156112f7575f5ffd5b8151610fdc81611029565b5f60208284031215611312575f5ffd5b8151610fdc81610fe3565b5f8235607e19833603018112611331575f5ffd5b9190910192915050565b5f5f835461134881611192565b60018216801561135f5760018114611374576113a1565b60ff19831686528115158202860193506113a1565b865f5260205f205f5b838110156113995781548882015260019091019060200161137d565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c1575f5ffd5b8301803591506001600160401b038211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b83016020810192503590506001600160401b03811115611437575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611481575f5ffd5b90910192915050565b803582525f61149c6020830183611404565b608060208601526114b1608086018284611445565b9150506114c16040840184611404565b85830360408701526114d4838284611445565b9250505060608301356114e681611029565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151b575f5ffd5b608060408401528301803560a08401526115386020820182611404565b606060c086015261154e61010086018284611445565b9150506040820135601e19833603018112611567575f5ffd5b6020920191820191356001600160401b03811115611583575f5ffd5b8060051b803603841315611595575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b7575f5ffd5b8084602085013780830193505050506115d36040850185611404565b84830360608601526115e9602084018284611445565b925050506115fa606085018561146d565b838203601f19016080850152611610828261148a565b95945050505050565b5f5f5f6060848603121561162b575f5ffd5b835161163681611029565b60208501516040860151919450925061164e81610fe3565b809150509250925092565b602081525f61166c602083018486611445565b949350505050565b5f60208284031215611684575f5ffd5b81516001600160401b03811115611699575f5ffd5b8201606081850312156116aa575f5ffd5b6116b2611065565b81516116bd81610fe3565b81526020828101519082015260408201516001600160401b038111156116e1575f5ffd5b80830192505084601f8301126116f5575f5ffd5b8151611703611126826110bd565b818152866020838601011115611717575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a457605f1987860301845261178f858351610f9c565b94506020938401939190910190600101611773565b5050505082810360208401526117bb818587611445565b969550505050505056fea26469706673582212203254ab2207f0909a7e30a3aa1b831dfa5e44903ca17f0c2b0d003f8e6aab0ba564736f6c634300081e0033","sourceMap":"2662:6645:157:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3426:45;;;;;;;;;;;;:::i;:::-;;;;;;;;3475:35;;;;;3269:48;;3311:6;3269:48;;;;;620:25:182;;;608:2;593:18;3269:48:157;474:177:182;3198:34:157;;3230:2;3198:34;;;;;828:4:182;816:17;;;798:36;;786:2;771:18;3198:34:157;656:184:182;3883:24:157;;;:::i;:::-;;;;;;;:::i;5857:238::-;;;;;;:::i;:::-;;:::i;:::-;;6415:161;;;;;;:::i;:::-;;:::i;3658:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2148:14:182;;2141:22;2123:41;;2111:2;2096:18;3658:59:157;1983:187:182;5681:172:157;;;;;;:::i;:::-;;:::i;6751:185::-;;;;;;:::i;:::-;;:::i;6260:151::-;;;;;;:::i;:::-;;:::i;2293:101:35:-;;;:::i;5513:164:157:-;;;;;;:::i;:::-;;:::i;1638:85:35:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;1638:85;;4797:712:157;;;;;;:::i;:::-;;:::i;3794:27::-;;;;;;6940:140;;;:::i;3357:64::-;;3405:16;3357:64;;3515:44;;;;;-1:-1:-1;;;;;3515:44:157;;;3854:25;;;:::i;6580:167::-;;;;;;:::i;:::-;;:::i;3721:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;6099:157;;;;;;:::i;:::-;;:::i;2543:215:35:-;;;;;;:::i;:::-;;:::i;3596:58:157:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3883:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5857:238::-;1531:13:35;:11;:13::i;:::-;5973:18:157::1;:60:::0;;-1:-1:-1;;;;;;5973:60:157::1;-1:-1:-1::0;;;;;5973:60:157;::::1;::::0;;::::1;::::0;;;6044:46:::1;::::0;::::1;::::0;-1:-1:-1;;6044:46:157::1;5857:238:::0;:::o;6415:161::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6510:20:157;::::1;;::::0;;;:10:::1;:20;::::0;;;;;:27;;-1:-1:-1;;6510:27:157::1;6533:4;6510:27;::::0;;6548:23;::::1;::::0;6510:20;6548:23:::1;6415:161:::0;:::o;5681:172::-;1531:13:35;:11;:13::i;:::-;5806:5:157::1;5781:22:::0;;;:10:::1;:22;::::0;;;;;;:30;;-1:-1:-1;;5781:30:157::1;::::0;;5822:26;::::1;::::0;::::1;::::0;5792:10;620:25:182;;608:2;593:18;;474:177;5822:26:157::1;;;;;;;;5681:172:::0;:::o;6751:185::-;1531:13:35;:11;:13::i;:::-;6854::157::1;:30:::0;;;::::1;;-1:-1:-1::0;;;6854:30:157::1;-1:-1:-1::0;;;;6854:30:157;;::::1;;::::0;;6895:36:::1;::::0;::::1;::::0;::::1;::::0;6870:14;2148::182;2141:22;2123:41;;2111:2;2096:18;;1983:187;6260:151:157;1531:13:35;:11;:13::i;:::-;6356:10:157::1;:19;6369:6:::0;6356:10;:19:::1;:::i;:::-;;6386:20;6399:6;6386:20;;;;;;:::i;2293:101:35:-:0;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5513:164:157:-;1531:13:35;:11;:13::i;:::-;5611:12:157::1;:22:::0;;;5644:28:::1;::::0;620:25:182;;;5644:28:157::1;::::0;608:2:182;593:18;5644:28:157::1;474:177:182::0;4797:712:157;4986:12;;4944:38;;-1:-1:-1;;;4944:38:157;;-1:-1:-1;;;;;4944:13:157;:23;;;;:38;;4976:4;;4944:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;;4936:86;;;;-1:-1:-1;;;4936:86:157;;;;;;;;;;;;5044:10;5033:22;;;;:10;:22;;;;;;;;5029:211;;;5148:12;;5113:48;;-1:-1:-1;;;5113:48:157;;5136:10;5113:48;;;8294:51:182;8361:18;;;8354:34;;;;5113:13:157;-1:-1:-1;;;;;5113:22:157;;;;8267:18:182;;5113:48:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5194:12:157;;5174:45;;;8823:25:182;;;5216:1:157;8879:2:182;8864:18;;8857:34;5182:10:157;;5174:45;;8796:18:182;5174:45:157;;;;;;;4797:712;:::o;5029:211::-;5298:17;5318:43;5341:10;5353:7;5318:22;:43::i;:::-;5436:12;;5401:48;;-1:-1:-1;;;5401:48:157;;5424:10;5401:48;;;8294:51:182;8361:18;;;8354:34;;;;5298:63:157;;-1:-1:-1;5401:13:157;-1:-1:-1;;;;;5401:22:157;;;;8267:18:182;;5401:48:157;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5480:12:157;;5460:44;;;8823:25:182;;;8879:2;8864:18;;8857:34;;;5468:10:157;;5460:44;;8796:18:182;5460:44:157;;;;;;;4894:615;4797:712;:::o;6940:140::-;7015:7;7045:8;-1:-1:-1;;;;;7045:27:157;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7030:45;;6940:140;:::o;3854:25::-;;;;;;;:::i;6580:167::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6678:20:157;::::1;6701:5;6678:20:::0;;;:10:::1;:20;::::0;;;;;:28;;-1:-1:-1;;6678:28:157::1;::::0;;6717:25;::::1;::::0;6701:5;6717:25:::1;6580:167:::0;:::o;6099:157::-;1531:13:35;:11;:13::i;:::-;6197:11:157::1;:21;6211:7:::0;6197:11;:21:::1;:::i;:::-;;6229:22;6243:7;6229:22;;;;;;:::i;2543:215:35:-:0;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:35;::::1;2623:91;;2700:1;2672:31;;-1:-1:-1::0;;;2672:31:35::1;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;735:10:48;1855:23:35;1851:101;;735:10:48;1901:40:35;;-1:-1:-1;;;1901:40:35;;;;;;;;:::i;2912:187::-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;7281:2024:157:-;7396:17;7632:21;;;;:7;:21;:::i;:::-;:29;;;;;;;;;:::i;:::-;:38;7624:63;;;;-1:-1:-1;;;7624:63:157;;;;;;;;;;;;7768:11;7752:29;;;;;;:::i;:::-;;;;;;;;;7718:21;;;;:7;:21;:::i;:::-;:28;;;;;;;:::i;:::-;7702:46;;;;;;;:::i;:::-;;;;;;;;:79;7694:105;;;;-1:-1:-1;;;7694:105:157;;;;;;;;;;;;7878:10;7862:28;;;;;;:::i;:::-;;;;;;;;;7829:21;;;;:7;:21;:::i;:::-;:27;;;;;;;:::i;:::-;7813:45;;;;;;;:::i;:::-;;;;;;;;:77;7805:102;;;;-1:-1:-1;;;7805:102:157;;;;;;;;;;;;3311:6;7921:21;;;;:7;:21;:::i;:::-;:45;:64;7913:98;;;;-1:-1:-1;;;7913:98:157;;;;;;;;;;;;8098:18;;:34;;-1:-1:-1;;;8098:34:157;;8018:13;;;;-1:-1:-1;;;;;8098:18:157;;;;:25;;:34;;8124:7;;8098:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8066:66;;-1:-1:-1;8066:66:157;;-1:-1:-1;8066:66:157;-1:-1:-1;8066:66:157;8139:33;;;;-1:-1:-1;;;8139:33:157;;;;;;;;;;;;8187:21;;;;:10;:21;;;;;;8198:9;;8187:21;;8186:22;8178:57;;;;-1:-1:-1;;;8178:57:157;;;;;;620:25:182;;608:2;593:18;;474:177;8178:57:157;-1:-1:-1;8247:13:157;;-1:-1:-1;;;8247:13:157;;;;8242:948;;8270:26;-1:-1:-1;;;;;8299:19:157;;;8319:23;;;;:7;:23;:::i;:::-;8299:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8299:44:157;;;;;;;;;;;;:::i;:::-;8427:23;;8270:73;;-1:-1:-1;8454:5:157;-1:-1:-1;;;;;8427:32:157;;;;;;;8419:94;;;;-1:-1:-1;;;8419:94:157;;-1:-1:-1;;;;;17846:32:182;;;8419:94:157;;;17828:51:182;17915:32;;17895:18;;;17888:60;17801:18;;8419:94:157;17654:300:182;8419:94:157;-1:-1:-1;;8595:17:157;;;;8616:13;8595:34;;;8587:93;;;;-1:-1:-1;;;8587:93:157;;;;;8823:25:182;;;;8864:18;;;8857:34;8796:18;;8587:93:157;8649:248:182;8587:93:157;-1:-1:-1;;8746:20:157;;;;8740:34;:39;8732:76;;;;-1:-1:-1;;;8732:76:157;;;;;;;;;;;;8886:15;;;8899:1;8886:15;;;;;;;;;8850:33;;8886:15;;;;;;;;;;;;;;;;;;;;8850:51;;8932:3;;;;;;;;;;;;;-1:-1:-1;;;8932:3:157;;;8909:17;8927:1;8909:20;;;;;;;;:::i;:::-;;;;;;:26;;;;8966:3;;;;;;;;;;;;;-1:-1:-1;;;8966:3:157;;;8943:17;8961:1;8943:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9000:3;;;;;;;;;;;;;-1:-1:-1;;;9000:3:157;;;8977:17;8995:1;8977:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9034:3;;;;;;;;;;;;;-1:-1:-1;;;9034:3:157;;;9011:17;9029:1;9011:20;;;;;;;;:::i;:::-;;;;;;;;;;:26;9045:19;-1:-1:-1;;;;;9067:23:157;;;9091:17;9110:23;;;;:7;:23;:::i;:::-;9067:67;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9045:89;;9150:14;9142:41;;;;-1:-1:-1;;;9142:41:157;;;;;;;;;;;;8262:928;;;8242:948;-1:-1:-1;;9229:21:157;;;;:10;:21;;;;;;;;:28;;-1:-1:-1;;9229:28:157;9253:4;9229:28;;;-1:-1:-1;;;;;9263:25:157;;;;;:18;:25;;;;;;:37;;;-1:-1:-1;9240:9:157;7281:2024::o;14:228:182:-;-1:-1:-1;;;;;203:32:182;;;;185:51;;173:2;158:18;;14:228::o;845:289::-;887:3;925:5;919:12;952:6;947:3;940:19;1008:6;1001:4;994:5;990:16;983:4;978:3;974:14;968:47;1060:1;1053:4;1044:6;1039:3;1035:16;1031:27;1024:38;1123:4;1116:2;1112:7;1107:2;1099:6;1095:15;1091:29;1086:3;1082:39;1078:50;1071:57;;;845:289;;;;:::o;1139:220::-;1288:2;1277:9;1270:21;1251:4;1308:45;1349:2;1338:9;1334:18;1326:6;1308:45;:::i;:::-;1300:53;1139:220;-1:-1:-1;;;1139:220:182:o;1364:131::-;-1:-1:-1;;;;;1439:31:182;;1429:42;;1419:70;;1485:1;1482;1475:12;1500:247;1559:6;1612:2;1600:9;1591:7;1587:23;1583:32;1580:52;;;1628:1;1625;1618:12;1580:52;1667:9;1654:23;1686:31;1711:5;1686:31;:::i;1752:226::-;1811:6;1864:2;1852:9;1843:7;1839:23;1835:32;1832:52;;;1880:1;1877;1870:12;1832:52;-1:-1:-1;1925:23:182;;1752:226;-1:-1:-1;1752:226:182:o;2175:118::-;2261:5;2254:13;2247:21;2240:5;2237:32;2227:60;;2283:1;2280;2273:12;2298:241;2354:6;2407:2;2395:9;2386:7;2382:23;2378:32;2375:52;;;2423:1;2420;2413:12;2375:52;2462:9;2449:23;2481:28;2503:5;2481:28;:::i;2544:127::-;2605:10;2600:3;2596:20;2593:1;2586:31;2636:4;2633:1;2626:15;2660:4;2657:1;2650:15;2676:253;2748:2;2742:9;2790:4;2778:17;;-1:-1:-1;;;;;2810:34:182;;2846:22;;;2807:62;2804:88;;;2872:18;;:::i;:::-;2908:2;2901:22;2676:253;:::o;2934:275::-;3005:2;2999:9;3070:2;3051:13;;-1:-1:-1;;3047:27:182;3035:40;;-1:-1:-1;;;;;3090:34:182;;3126:22;;;3087:62;3084:88;;;3152:18;;:::i;:::-;3188:2;3181:22;2934:275;;-1:-1:-1;2934:275:182:o;3214:187::-;3263:4;-1:-1:-1;;;;;3288:6:182;3285:30;3282:56;;;3318:18;;:::i;:::-;-1:-1:-1;3384:2:182;3363:15;-1:-1:-1;;3359:29:182;3390:4;3355:40;;3214:187::o;3406:697::-;3475:6;3528:2;3516:9;3507:7;3503:23;3499:32;3496:52;;;3544:1;3541;3534:12;3496:52;3584:9;3571:23;-1:-1:-1;;;;;3609:6:182;3606:30;3603:50;;;3649:1;3646;3639:12;3603:50;3672:22;;3725:4;3717:13;;3713:27;-1:-1:-1;3703:55:182;;3754:1;3751;3744:12;3703:55;3794:2;3781:16;3819:53;3835:36;3864:6;3835:36;:::i;:::-;3819:53;:::i;:::-;3895:6;3888:5;3881:21;3943:7;3938:2;3929:6;3925:2;3921:15;3917:24;3914:37;3911:57;;;3964:1;3961;3954:12;3911:57;4019:6;4014:2;4010;4006:11;4001:2;3994:5;3990:14;3977:49;4071:1;4046:18;;;4066:2;4042:27;4035:38;;;;4050:5;3406:697;-1:-1:-1;;;;3406:697:182:o;4547:403::-;4649:6;4702:2;4690:9;4681:7;4677:23;4673:32;4670:52;;;4718:1;4715;4708:12;4670:52;4758:9;4745:23;-1:-1:-1;;;;;4783:6:182;4780:30;4777:50;;;4823:1;4820;4813:12;4777:50;4846:22;;4902:3;4884:16;;;4880:26;4877:46;;;4919:1;4916;4909:12;5376:380;5455:1;5451:12;;;;5498;;;5519:61;;5573:4;5565:6;5561:17;5551:27;;5519:61;5626:2;5618:6;5615:14;5595:18;5592:38;5589:161;;5672:10;5667:3;5663:20;5660:1;5653:31;5707:4;5704:1;5697:15;5735:4;5732:1;5725:15;5589:161;;5376:380;;;:::o;5887:518::-;5989:2;5984:3;5981:11;5978:421;;;6025:5;6022:1;6015:16;6069:4;6066:1;6056:18;6139:2;6127:10;6123:19;6120:1;6116:27;6110:4;6106:38;6175:4;6163:10;6160:20;6157:47;;;-1:-1:-1;6198:4:182;6157:47;6253:2;6248:3;6244:12;6241:1;6237:20;6231:4;6227:31;6217:41;;6308:81;6326:2;6319:5;6316:13;6308:81;;;6385:1;6371:16;;6352:1;6341:13;6308:81;;;6312:3;;5978:421;5887:518;;;:::o;6581:1299::-;6707:3;6701:10;-1:-1:-1;;;;;6726:6:182;6723:30;6720:56;;;6756:18;;:::i;:::-;6785:97;6875:6;6835:38;6867:4;6861:11;6835:38;:::i;:::-;6829:4;6785:97;:::i;:::-;6931:4;6962:2;6951:14;;6979:1;6974:649;;;;7667:1;7684:6;7681:89;;;-1:-1:-1;7736:19:182;;;7730:26;7681:89;-1:-1:-1;;6538:1:182;6534:11;;;6530:24;6526:29;6516:40;6562:1;6558:11;;;6513:57;7783:81;;6944:930;;6974:649;5834:1;5827:14;;;5871:4;5858:18;;-1:-1:-1;;7010:20:182;;;7128:222;7142:7;7139:1;7136:14;7128:222;;;7224:19;;;7218:26;7203:42;;7331:4;7316:20;;;;7284:1;7272:14;;;;7158:12;7128:222;;;7132:3;7378:6;7369:7;7366:19;7363:201;;;7439:19;;;7433:26;-1:-1:-1;;7522:1:182;7518:14;;;7534:3;7514:24;7510:37;7506:42;7491:58;7476:74;;7363:201;-1:-1:-1;;;;7610:1:182;7594:14;;;7590:22;7577:36;;-1:-1:-1;6581:1299:182:o;7885:230::-;7955:6;8008:2;7996:9;7987:7;7983:23;7979:32;7976:52;;;8024:1;8021;8014:12;7976:52;-1:-1:-1;8069:16:182;;7885:230;-1:-1:-1;7885:230:182:o;8399:245::-;8466:6;8519:2;8507:9;8498:7;8494:23;8490:32;8487:52;;;8535:1;8532;8525:12;8487:52;8567:9;8561:16;8586:28;8608:5;8586:28;:::i;8902:273::-;8994:6;9047:2;9035:9;9026:7;9022:23;9018:32;9015:52;;;9063:1;9060;9053:12;9015:52;9095:9;9089:16;9114:31;9139:5;9114:31;:::i;9180:331::-;9279:4;9337:11;9324:25;9431:3;9427:8;9416;9400:14;9396:29;9392:44;9372:18;9368:69;9358:97;;9451:1;9448;9441:12;9358:97;9472:33;;;;;9180:331;-1:-1:-1;;9180:331:182:o;9516:799::-;9646:3;9675:1;9708:6;9702:13;9738:36;9764:9;9738:36;:::i;:::-;9805:1;9790:17;;9816:133;;;;9963:1;9958:332;;;;9783:507;;9816:133;-1:-1:-1;;9849:24:182;;9837:37;;9922:14;;9915:22;9903:35;;9894:45;;;-1:-1:-1;9816:133:182;;9958:332;9989:6;9986:1;9979:17;10037:4;10034:1;10024:18;10064:1;10078:166;10092:6;10089:1;10086:13;10078:166;;;10172:14;;10159:11;;;10152:35;10228:1;10215:15;;;;10114:4;10107:12;10078:166;;;10082:3;;10273:6;10268:3;10264:16;10257:23;;9783:507;-1:-1:-1;10306:3:182;;9516:799;-1:-1:-1;;;;;9516:799:182:o;10320:522::-;10398:4;10404:6;10464:11;10451:25;10558:2;10554:7;10543:8;10527:14;10523:29;10519:43;10499:18;10495:68;10485:96;;10577:1;10574;10567:12;10485:96;10604:33;;10656:20;;;-1:-1:-1;;;;;;10688:30:182;;10685:50;;;10731:1;10728;10721:12;10685:50;10764:4;10752:17;;-1:-1:-1;10795:14:182;10791:27;;;10781:38;;10778:58;;;10832:1;10829;10822:12;10778:58;10320:522;;;;;:::o;10847:271::-;11030:6;11022;11017:3;11004:33;10986:3;11056:16;;11081:13;;;11056:16;10847:271;-1:-1:-1;10847:271:182:o;11123:500::-;11181:5;11188:6;11248:3;11235:17;11334:2;11330:7;11319:8;11303:14;11299:29;11295:43;11275:18;11271:68;11261:96;;11353:1;11350;11343:12;11261:96;11381:33;;11485:4;11472:18;;;-1:-1:-1;11433:21:182;;-1:-1:-1;;;;;;11502:30:182;;11499:50;;;11545:1;11542;11535:12;11499:50;11592:6;11576:14;11572:27;11565:5;11561:39;11558:59;;;11613:1;11610;11603:12;11628:266;11716:6;11711:3;11704:19;11768:6;11761:5;11754:4;11749:3;11745:14;11732:43;-1:-1:-1;11820:1:182;11795:16;;;11813:4;11791:27;;;11784:38;;;;11876:2;11855:15;;;-1:-1:-1;;11851:29:182;11842:39;;;11838:50;;11628:266::o;11899:299::-;11972:5;12031:3;12018:17;12117:3;12113:8;12102;12086:14;12082:29;12078:44;12058:18;12054:69;12044:97;;12137:1;12134;12127:12;12044:97;12159:33;;;;11899:299;-1:-1:-1;;11899:299:182:o;12203:804::-;12322:19;;12350:20;;12268:3;12413:55;12462:4;12451:16;;12335:5;12413:55;:::i;:::-;12500:4;12493;12488:3;12484:14;12477:28;12526:69;12589:4;12584:3;12580:14;12566:12;12552;12526:69;:::i;:::-;12514:81;;;12642:55;12691:4;12684:5;12680:16;12673:5;12642:55;:::i;:::-;12739:3;12733:4;12729:14;12722:4;12717:3;12713:14;12706:38;12767:63;12825:4;12809:14;12793;12767:63;:::i;:::-;12753:77;;;;12878:4;12871:5;12867:16;12854:30;12893;12915:7;12893:30;:::i;:::-;12969:7;12962:15;12955:23;12948:4;12943:3;12939:14;12932:47;;12995:6;12988:13;;;12203:804;;;;:::o;13012:2196::-;13225:2;13207:21;;;13269:20;;13305:18;;;13298:33;13188:4;;13379:15;;13366:29;13446:14;13442:27;;;-1:-1:-1;;13438:41:182;13414:66;;13404:94;;13494:1;13491;13484:12;13404:94;13589:4;13584:2;13569:18;;13562:32;13522:31;;13639:21;;13691:3;13676:19;;13669:36;13748:57;13801:2;13788:16;;13522:31;13748:57;:::i;:::-;13842:4;13836:3;13825:9;13821:19;13814:33;13870:74;13939:3;13928:9;13924:19;13910:12;13896;13870:74;:::i;:::-;13856:88;;;14007:2;13998:7;13994:16;13981:30;14094:2;14090:7;14080;14064:14;14060:28;14056:42;14034:20;14030:69;14020:97;;14113:1;14110;14103:12;14020:97;14256:2;14141:34;;14243:16;;;;14198:21;-1:-1:-1;;;;;14271:30:182;;14268:50;;;14314:1;14311;14304:12;14268:50;14344:6;14341:1;14337:14;14396:2;14380:14;14376:23;14367:7;14363:37;14360:57;;;14413:1;14410;14403:12;14360:57;14458:22;;;-1:-1:-1;;14454:37:182;14448:3;14433:19;;14426:66;14501:22;;;-1:-1:-1;;;;;14535:31:182;;14532:51;;;14579:1;14576;14569:12;14532:51;14631:2;14622:7;14617:2;14609:6;14605:15;14592:42;14665:2;14657:6;14653:15;14643:25;;;;;14715:55;14766:2;14758:6;14754:15;14746:6;14715:55;:::i;:::-;14816:18;;;14801:4;14786:20;;14779:71;14873:70;14836:2;14931:11;;14915:14;14899;14873:70;:::i;:::-;14859:84;;;;14974:72;15040:4;15032:6;15028:17;15020:6;14974:72;:::i;:::-;15088:22;;;-1:-1:-1;;15084:36:182;15077:4;15062:20;;15055:66;15138:64;15092:6;15179:14;15138:64;:::i;:::-;15130:72;13012:2196;-1:-1:-1;;;;;13012:2196:182:o;15213:465::-;15323:6;15331;15339;15392:2;15380:9;15371:7;15367:23;15363:32;15360:52;;;15408:1;15405;15398:12;15360:52;15440:9;15434:16;15459:28;15481:5;15459:28;:::i;:::-;15551:2;15536:18;;15530:25;15600:2;15585:18;;15579:25;15506:5;;-1:-1:-1;15530:25:182;-1:-1:-1;15613:33:182;15579:25;15613:33;:::i;:::-;15665:7;15655:17;;;15213:465;;;;;:::o;16209:244::-;16366:2;16355:9;16348:21;16329:4;16386:61;16443:2;16432:9;16428:18;16420:6;16412;16386:61;:::i;:::-;16378:69;16209:244;-1:-1:-1;;;;16209:244:182:o;16458:1191::-;16555:6;16608:2;16596:9;16587:7;16583:23;16579:32;16576:52;;;16624:1;16621;16614:12;16576:52;16657:9;16651:16;-1:-1:-1;;;;;16682:6:182;16679:30;16676:50;;;16722:1;16719;16712:12;16676:50;16745:22;;16801:4;16783:16;;;16779:27;16776:47;;;16819:1;16816;16809:12;16776:47;16845:22;;:::i;:::-;16897:2;16891:9;16909:33;16934:7;16909:33;:::i;:::-;16951:22;;17032:2;17024:11;;;17018:18;17052:14;;;17045:31;17115:2;17107:11;;17101:18;-1:-1:-1;;;;;17131:32:182;;17128:52;;;17176:1;17173;17166:12;17128:52;17207:8;17203:2;17199:17;17189:27;;;17254:7;17247:4;17243:2;17239:13;17235:27;17225:55;;17276:1;17273;17266:12;17225:55;17309:2;17303:9;17334:53;17350:36;17379:6;17350:36;:::i;17334:53::-;17410:6;17403:5;17396:21;17458:7;17453:2;17444:6;17440:2;17436:15;17432:24;17429:37;17426:57;;;17479:1;17476;17469:12;17426:57;17527:6;17522:2;17518;17514:11;17509:2;17502:5;17498:14;17492:42;17579:1;17554:18;;;17574:2;17550:27;17543:38;;;;17608:2;17597:14;;17590:29;17601:5;16458:1191;-1:-1:-1;;;;16458:1191:182:o;18212:127::-;18273:10;18268:3;18264:20;18261:1;18254:31;18304:4;18301:1;18294:15;18328:4;18325:1;18318:15;18344:948;18562:4;18610:2;18599:9;18595:18;18640:2;18629:9;18622:21;18663:6;18698;18692:13;18729:6;18721;18714:22;18767:2;18756:9;18752:18;18745:25;;18829:2;18819:6;18816:1;18812:14;18801:9;18797:30;18793:39;18779:53;;18867:4;18859:6;18855:17;18890:1;18900:259;18914:6;18911:1;18908:13;18900:259;;;19007:2;19003:7;18991:9;18983:6;18979:22;18975:36;18970:3;18963:49;19035:40;19068:6;19059;19053:13;19035:40;:::i;:::-;19025:50;-1:-1:-1;19110:4:182;19135:14;;;;19098:17;;;;;18936:1;18929:9;18900:259;;;18904:3;;;;19209:9;19201:6;19197:22;19190:4;19179:9;19175:20;19168:52;19237:49;19279:6;19271;19263;19237:49;:::i;:::-;19229:57;18344:948;-1:-1:-1;;;;;;18344:948:182:o","linkReferences":{},"immutableReferences":{"101942":[{"start":359,"length":32},{"start":1570,"length":32},{"start":1772,"length":32},{"start":1997,"length":32}],"101945":[{"start":420,"length":32},{"start":2181,"length":32}]}},"methodIdentifiers":{"DEFAULT_FAUCET_AMOUNT()":"bdbf3df5","MIN_AGE()":"1c04beac","REGISTRY()":"06433b1b","STAKING_ASSET()":"03c230e3","VALIDITY_PERIOD()":"0c43cd88","addUnhinged(address)":"281ab686","addressToNullifier(address)":"dd71369c","claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":"939af6cd","faucetAmount()":"9c281430","getRollup()":"a4d2342a","isUnhinged(address)":"fc679354","nullifiers(bytes32)":"2997e86b","owner()":"8da5cb5b","removeUnhinged(address)":"c8f832bf","renounceOwnership()":"715018a6","resetNullifier(bytes32)":"2fb60c1a","setDomain(string)":"e5eab096","setFaucetAmount(uint256)":"81d2fd9c","setScope(string)":"4bc83332","setSkipBindCheck(bool)":"3148bf09","setZKPassportVerifier(address)":"2052e640","transferOwnership(address)":"f2fde38b","validDomain()":"c47ca04c","validScope()":"1f4a2f59","zkPassportVerifier()":"c4797ec5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stakingAsset\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"faucetAmount\",\"type\":\"uint256\"},{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"zkPassportVerifier\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"unhinged\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"skipBindCheck\",\"type\":\"bool\"}],\"internalType\":\"struct StakingAssetHandler.StakingAssetHandlerArgs\",\"name\":\"_args\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ExtraDiscloseDataNonZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_expected\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_received\",\"type\":\"address\"}],\"name\":\"InvalidBoundAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_received\",\"type\":\"uint256\"}],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCountry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDomain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFaceMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidScope\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValidityPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"SybilDetected\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newDomain\",\"type\":\"string\"}],\"name\":\"DomainUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newAmount\",\"type\":\"uint256\"}],\"name\":\"FaucetAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"NullifierReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newScope\",\"type\":\"string\"}],\"name\":\"ScopeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"SkipBindCheckUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"}],\"name\":\"ZKPassportVerifierUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_FAUCET_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_AGE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REGISTRY\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_ASSET\",\"outputs\":[{\"internalType\":\"contract IMintableERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDITY_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"addUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"addressToNullifier\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"publicInputs\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct ProofVerificationData\",\"name\":\"proofVerificationData\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"validityPeriodInSeconds\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"devMode\",\"type\":\"bool\"}],\"internalType\":\"struct ServiceConfig\",\"name\":\"serviceConfig\",\"type\":\"tuple\"}],\"internalType\":\"struct ProofVerificationParams\",\"name\":\"_params\",\"type\":\"tuple\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"faucetAmount\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUnhinged\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isUnhinged\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"nullifiers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"removeUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"resetNullifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_domain\",\"type\":\"string\"}],\"name\":\"setDomain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setFaucetAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_scope\",\"type\":\"string\"}],\"name\":\"setScope\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"setSkipBindCheck\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_zkPassportVerifier\",\"type\":\"address\"}],\"name\":\"setZKPassportVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validDomain\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validScope\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zkPassportVerifier\",\"outputs\":[{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"params\":{\"_params\":\"- ZKPassport proof params (ignored for unhinged users)\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"notice\":\"Claim STK tokens from the faucet\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/mock/StakingAssetHandler.sol\":\"StakingAssetHandler\"},\"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/circuits/src/solidity/src/Constants.sol\":{\"keccak256\":\"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702\",\"dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp\"]},\"lib/circuits/src/solidity/src/DateUtils.sol\":{\"keccak256\":\"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab\",\"dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4\"]},\"lib/circuits/src/solidity/src/IProofVerifier.sol\":{\"keccak256\":\"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6\",\"dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm\"]},\"lib/circuits/src/solidity/src/IRootRegistry.sol\":{\"keccak256\":\"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72\",\"dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg\"]},\"lib/circuits/src/solidity/src/InputsExtractor.sol\":{\"keccak256\":\"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450\",\"dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH\"]},\"lib/circuits/src/solidity/src/StringUtils.sol\":{\"keccak256\":\"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11\",\"dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe\"]},\"lib/circuits/src/solidity/src/Types.sol\":{\"keccak256\":\"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c\",\"dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR\"]},\"lib/circuits/src/solidity/src/ZKPassportHelper.sol\":{\"keccak256\":\"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34\",\"dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5\"]},\"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol\":{\"keccak256\":\"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355\",\"dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s\"]},\"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol\":{\"keccak256\":\"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1\",\"dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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/mock/StakingAssetHandler.sol\":{\"keccak256\":\"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a\",\"dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv\"]},\"src/shared/interfaces/IMintableERC20.sol\":{\"keccak256\":\"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d\",\"dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","name":"_args","type":"tuple","components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"stakingAsset","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"uint256","name":"faucetAmount","type":"uint256"},{"internalType":"contract ZKPassportRootVerifier","name":"zkPassportVerifier","type":"address"},{"internalType":"address[]","name":"unhinged","type":"address[]"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"skipBindCheck","type":"bool"}]}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ExtraDiscloseDataNonZero"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidAge"},{"inputs":[{"internalType":"address","name":"_expected","type":"address"},{"internalType":"address","name":"_received","type":"address"}],"type":"error","name":"InvalidBoundAddress"},{"inputs":[{"internalType":"uint256","name":"_expected","type":"uint256"},{"internalType":"uint256","name":"_received","type":"uint256"}],"type":"error","name":"InvalidChainId"},{"inputs":[],"type":"error","name":"InvalidCountry"},{"inputs":[],"type":"error","name":"InvalidDomain"},{"inputs":[],"type":"error","name":"InvalidFaceMatch"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"InvalidScope"},{"inputs":[],"type":"error","name":"InvalidValidityPeriod"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"type":"error","name":"SybilDetected"},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"Claimed","anonymous":false},{"inputs":[{"internalType":"string","name":"newDomain","type":"string","indexed":false}],"type":"event","name":"DomainUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256","indexed":false}],"type":"event","name":"FaucetAmountUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"NullifierReset","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"newScope","type":"string","indexed":false}],"type":"event","name":"ScopeUpdated","anonymous":false},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool","indexed":false}],"type":"event","name":"SkipBindCheckUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"_verifier","type":"address","indexed":true}],"type":"event","name":"ZKPassportVerifierUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_FAUCET_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_AGE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REGISTRY","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_ASSET","outputs":[{"internalType":"contract IMintableERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VALIDITY_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addUnhinged"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"addressToNullifier","outputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}]},{"inputs":[{"internalType":"struct ProofVerificationParams","name":"_params","type":"tuple","components":[{"internalType":"bytes32","name":"version","type":"bytes32"},{"internalType":"struct ProofVerificationData","name":"proofVerificationData","type":"tuple","components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"}]},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"struct ServiceConfig","name":"serviceConfig","type":"tuple","components":[{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}]}]}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"faucetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"isUnhinged","outputs":[{"internalType":"bool","name":"isUnhinged","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nullifiers","outputs":[{"internalType":"bool","name":"exists","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUnhinged"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"resetNullifier"},{"inputs":[{"internalType":"string","name":"_domain","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setDomain"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFaucetAmount"},{"inputs":[{"internalType":"string","name":"_scope","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setScope"},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSkipBindCheck"},{"inputs":[{"internalType":"address","name":"_zkPassportVerifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setZKPassportVerifier"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"validDomain","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"validScope","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zkPassportVerifier","outputs":[{"internalType":"contract ZKPassportRootVerifier","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"params":{"_params":"- ZKPassport proof params (ignored for unhinged users)"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"notice":"Claim STK tokens from the faucet"}},"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/mock/StakingAssetHandler.sol":"StakingAssetHandler"},"evmVersion":"prague","libraries":{}},"sources":{"lib/circuits/src/solidity/src/Constants.sol":{"keccak256":"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7","urls":["bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702","dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/DateUtils.sol":{"keccak256":"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6","urls":["bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab","dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IProofVerifier.sol":{"keccak256":"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14","urls":["bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6","dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IRootRegistry.sol":{"keccak256":"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a","urls":["bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72","dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/InputsExtractor.sol":{"keccak256":"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da","urls":["bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450","dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/StringUtils.sol":{"keccak256":"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306","urls":["bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11","dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/Types.sol":{"keccak256":"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668","urls":["bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c","dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportHelper.sol":{"keccak256":"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16","urls":["bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34","dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol":{"keccak256":"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009","urls":["bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355","dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol":{"keccak256":"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd","urls":["bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1","dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw"],"license":"Apache-2.0"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"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/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"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/mock/StakingAssetHandler.sol":{"keccak256":"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3","urls":["bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a","dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv"],"license":"Apache-2.0"},"src/shared/interfaces/IMintableERC20.sol":{"keccak256":"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28","urls":["bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d","dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp"],"license":"Apache-2.0"}},"version":1},"id":157}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"_args","type":"tuple","internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","components":[{"name":"owner","type":"address","internalType":"address"},{"name":"stakingAsset","type":"address","internalType":"address"},{"name":"registry","type":"address","internalType":"contract IRegistry"},{"name":"faucetAmount","type":"uint256","internalType":"uint256"},{"name":"zkPassportVerifier","type":"address","internalType":"contract ZKPassportRootVerifier"},{"name":"unhinged","type":"address[]","internalType":"address[]"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"skipBindCheck","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_FAUCET_AMOUNT","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"MIN_AGE","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"REGISTRY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRegistry"}],"stateMutability":"view"},{"type":"function","name":"STAKING_ASSET","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IMintableERC20"}],"stateMutability":"view"},{"type":"function","name":"VALIDITY_PERIOD","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"addUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addressToNullifier","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"_params","type":"tuple","internalType":"struct ProofVerificationParams","components":[{"name":"version","type":"bytes32","internalType":"bytes32"},{"name":"proofVerificationData","type":"tuple","internalType":"struct ProofVerificationData","components":[{"name":"vkeyHash","type":"bytes32","internalType":"bytes32"},{"name":"proof","type":"bytes","internalType":"bytes"},{"name":"publicInputs","type":"bytes32[]","internalType":"bytes32[]"}]},{"name":"committedInputs","type":"bytes","internalType":"bytes"},{"name":"serviceConfig","type":"tuple","internalType":"struct ServiceConfig","components":[{"name":"validityPeriodInSeconds","type":"uint256","internalType":"uint256"},{"name":"domain","type":"string","internalType":"string"},{"name":"scope","type":"string","internalType":"string"},{"name":"devMode","type":"bool","internalType":"bool"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"faucetAmount","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":"isUnhinged","inputs":[{"name":"user","type":"address","internalType":"address"}],"outputs":[{"name":"isUnhinged","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"nullifiers","inputs":[{"name":"nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"exists","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeUnhinged","inputs":[{"name":"_address","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetNullifier","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDomain","inputs":[{"name":"_domain","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFaucetAmount","inputs":[{"name":"_amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setScope","inputs":[{"name":"_scope","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSkipBindCheck","inputs":[{"name":"_skipBindCheck","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setZKPassportVerifier","inputs":[{"name":"_zkPassportVerifier","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validDomain","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"validScope","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"zkPassportVerifier","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ZKPassportRootVerifier"}],"stateMutability":"view"},{"type":"event","name":"Claimed","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"DomainUpdated","inputs":[{"name":"newDomain","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"FaucetAmountUpdated","inputs":[{"name":"newAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NullifierReset","inputs":[{"name":"nullifier","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ScopeUpdated","inputs":[{"name":"newScope","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SkipBindCheckUpdated","inputs":[{"name":"_skipBindCheck","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"UnhingedAdded","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UnhingedRemoved","inputs":[{"name":"_address","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ZKPassportVerifierUpdated","inputs":[{"name":"_verifier","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ExtraDiscloseDataNonZero","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[]},{"type":"error","name":"InvalidAge","inputs":[]},{"type":"error","name":"InvalidBoundAddress","inputs":[{"name":"_expected","type":"address","internalType":"address"},{"name":"_received","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidChainId","inputs":[{"name":"_expected","type":"uint256","internalType":"uint256"},{"name":"_received","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidCountry","inputs":[]},{"type":"error","name":"InvalidDomain","inputs":[]},{"type":"error","name":"InvalidFaceMatch","inputs":[]},{"type":"error","name":"InvalidProof","inputs":[]},{"type":"error","name":"InvalidScope","inputs":[]},{"type":"error","name":"InvalidValidityPeriod","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"SybilDetected","inputs":[{"name":"_nullifier","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60c060405234801561000f575f5ffd5b50604051611f0e380380611f0e83398101604081905261002e91610444565b80516001600160a01b03811661005d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6100668161025f565b5060208101516001600160a01b0390811660805260408201511660a052606081015161009c5769d3c21bcecceda10000006100a2565b80606001515b60058190556040519081527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da9060200160405180910390a15f5b8160a001515181101561018957600160025f8460a00151848151811061010457610104610564565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff0219169083151502179055508160a00151818151811061015757610157610564565b60200260200101516001600160a01b03165f516020611eee5f395f51905f5260405160405180910390a26001016100dc565b5080516001600160a01b039081165f90815260026020526040808220805460ff19166001179055835190519216915f516020611eee5f395f51905f529190a26080810151600180546001600160a01b0319166001600160a01b0390921691821790556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a260c081015160069061022590826105fc565b5060e081015160079061023890826105fc565b50610100015160018054911515600160a01b0260ff60a01b199092169190911790556106b6565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b5f52604160045260245ffd5b60405161012081016001600160401b03811182821017156102e5576102e56102ae565b60405290565b604051601f8201601f191681016001600160401b0381118282101715610313576103136102ae565b604052919050565b6001600160a01b038116811461032f575f5ffd5b50565b805161033d8161031b565b919050565b5f82601f830112610351575f5ffd5b81516001600160401b0381111561036a5761036a6102ae565b8060051b61037a602082016102eb565b91825260208185018101929081019086841115610395575f5ffd5b6020860192505b838310156103c05782516103af8161031b565b82526020928301929091019061039c565b9695505050505050565b5f82601f8301126103d9575f5ffd5b81516001600160401b038111156103f2576103f26102ae565b610405601f8201601f19166020016102eb565b818152846020838601011115610419575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b8051801515811461033d575f5ffd5b5f60208284031215610454575f5ffd5b81516001600160401b03811115610469575f5ffd5b8201610120818503121561047b575f5ffd5b6104836102c2565b61048c82610332565b815261049a60208301610332565b60208201526104ab60408301610332565b6040820152606082810151908201526104c660808301610332565b608082015260a08201516001600160401b038111156104e3575f5ffd5b6104ef86828501610342565b60a08301525060c08201516001600160401b0381111561050d575f5ffd5b610519868285016103ca565b60c08301525060e08201516001600160401b03811115610537575f5ffd5b610543868285016103ca565b60e0830152506105566101008301610435565b610100820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061058c57607f821691505b6020821081036105aa57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156105f757805f5260205f20601f840160051c810160208510156105d55750805b601f840160051c820191505b818110156105f4575f81556001016105e1565b50505b505050565b81516001600160401b03811115610615576106156102ae565b610629816106238454610578565b846105b0565b6020601f82116001811461065b575f83156106445750848201515b5f19600385901b1c1916600184901b1784556105f4565b5f84815260208120601f198516915b8281101561068a578785015182556020948501946001909201910161066a565b50848210156106a757868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60805160a0516117fb6106f35f395f81816101a4015261088501525f818161016701528181610622015281816106ec01526107cd01526117fb5ff3fe608060405234801561000f575f5ffd5b506004361061015e575f3560e01c806381d2fd9c116100ca578063c4797ec511610084578063c4797ec514610300578063c47ca04c14610313578063c8f832bf1461031b578063dd71369c1461032e578063e5eab0961461034d578063f2fde38b14610360578063fc67935414610373575f5ffd5b806381d2fd9c146102a85780638da5cb5b146102bb578063939af6cd146102cb5780639c281430146102de578063a4d2342a146102e7578063bdbf3df5146102ef575f5ffd5b8063281ab6861161011b578063281ab686146102225780632997e86b146102355780632fb60c1a146102675780633148bf091461027a5780634bc833321461028d578063715018a6146102a0575f5ffd5b806303c230e31461016257806306433b1b1461019f5780630c43cd88146101c65780631c04beac146101de5780631f4a2f59146101f85780632052e6401461020d575b5f5ffd5b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516101969190610f88565b60405180910390f35b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101d062093a8081565b604051908152602001610196565b6101e6601281565b60405160ff9091168152602001610196565b610200610395565b6040516101969190610fca565b61022061021b366004610ff7565b610421565b005b610220610230366004610ff7565b610472565b610257610243366004611012565b60036020525f908152604090205460ff1681565b6040519015158152602001610196565b610220610275366004611012565b6104c5565b610220610288366004611036565b61051f565b61022061029b3660046110e3565b610574565b6102206105b8565b6102206102b6366004611012565b6105cb565b5f546001600160a01b0316610189565b6102206102d936600461115c565b610608565b6101d060055481565b610189610882565b6101d069d3c21bcecceda100000081565b600154610189906001600160a01b031681565b610200610908565b610220610329366004610ff7565b610915565b6101d061033c366004610ff7565b60046020525f908152604090205481565b61022061035b3660046110e3565b610965565b61022061036e366004610ff7565b6109a9565b610257610381366004610ff7565b60026020525f908152604090205460ff1681565b600780546103a290611192565b80601f01602080910402602001604051908101604052809291908181526020018280546103ce90611192565b80156104195780601f106103f057610100808354040283529160200191610419565b820191905f5260205f20905b8154815290600101906020018083116103fc57829003601f168201915b505050505081565b6104296109ef565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b61047a6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104cd6109ef565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de5906105149083815260200190565b60405180910390a150565b6105276109ef565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061051490831515815260200190565b61057c6109ef565b60076105888282611216565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e9816040516105149190610fca565b6105c06109ef565b6105c95f610a1b565b565b6105d36109ef565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da90602001610514565b6005546040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610657903090600401610f88565b602060405180830381865afa158015610672573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069691906112d0565b10156106b557604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff161561079f5760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561073a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075e91906112e7565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107aa3383610a6a565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561081b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083f91906112e7565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190611302565b905090565b600680546103a290611192565b61091d6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61096d6109ef565b60066109798282611216565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef543816040516105149190610fca565b6109b16109ef565b6001600160a01b0381166109e3575f604051631e4fbdf760e01b81526004016109da9190610f88565b60405180910390fd5b6109ec81610a1b565b50565b5f546001600160a01b031633146105c9573360405163118cdaa760e01b81526004016109da9190610f88565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a78606083018361131d565b610a89906080810190606001611036565b15610aa7576040516309bde33960e01b815260040160405180910390fd5b6006604051610ab6919061133b565b604051908190039020610acc606084018461131d565b610ada9060208101906113ac565b604051610ae89291906113f5565b604051809103902014610b0e576040516375893cc160e11b815260040160405180910390fd5b6007604051610b1d919061133b565b604051908190039020610b33606084018461131d565b610b419060408101906113ac565b604051610b4f9291906113f5565b604051809103902014610b755760405163725a844f60e01b815260040160405180910390fd5b62093a80610b86606084018461131d565b3514610ba55760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610bd99087906004016114f9565b606060405180830381865afa158015610bf4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c189190611619565b909450909250905081610c3e576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c72576040516390a3baff60e01b81526004016109da91815260200190565b50600154600160a01b900460ff16610f4f575f6001600160a01b038216630af18ba6610ca160408801886113ac565b6040518363ffffffff1660e01b8152600401610cbe929190611659565b5f60405180830381865afa158015610cd8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cff9190810190611674565b8051909150866001600160a01b0382811690821614610d4457604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109da565b5050602081015146818114610d7557604051639fba672f60e01b8152600481019290925260248201526044016109da565b505060408101515115610d9b5760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610db25790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610df757610df7611739565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3157610e31611739565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e6b57610e6b611739565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610ea557610ea5611739565b60209081029190910101525f6001600160a01b03841663d3fb610f83610ece60408b018b6113ac565b6040518463ffffffff1660e01b8152600401610eec9392919061174d565b602060405180830381865afa158015610f07573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2b91906112e7565b905080610f4b576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b6001600160a01b0391909116815260200190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fdc6020830184610f9c565b9392505050565b6001600160a01b03811681146109ec575f5ffd5b5f60208284031215611007575f5ffd5b8135610fdc81610fe3565b5f60208284031215611022575f5ffd5b5035919050565b80151581146109ec575f5ffd5b5f60208284031215611046575f5ffd5b8135610fdc81611029565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561108757611087611051565b60405290565b604051601f8201601f191681016001600160401b03811182821017156110b5576110b5611051565b604052919050565b5f6001600160401b038211156110d5576110d5611051565b50601f01601f191660200190565b5f602082840312156110f3575f5ffd5b81356001600160401b03811115611108575f5ffd5b8201601f81018413611118575f5ffd5b803561112b611126826110bd565b61108d565b81815285602083850101111561113f575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f6020828403121561116c575f5ffd5b81356001600160401b03811115611181575f5ffd5b820160808185031215610fdc575f5ffd5b600181811c908216806111a657607f821691505b6020821081036111c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561121157805f5260205f20601f840160051c810160208510156111ef5750805b601f840160051c820191505b8181101561120e575f81556001016111fb565b50505b505050565b81516001600160401b0381111561122f5761122f611051565b6112438161123d8454611192565b846111ca565b6020601f821160018114611275575f831561125e5750848201515b5f19600385901b1c1916600184901b17845561120e565b5f84815260208120601f198516915b828110156112a45787850151825560209485019460019092019101611284565b50848210156112c157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112e0575f5ffd5b5051919050565b5f602082840312156112f7575f5ffd5b8151610fdc81611029565b5f60208284031215611312575f5ffd5b8151610fdc81610fe3565b5f8235607e19833603018112611331575f5ffd5b9190910192915050565b5f5f835461134881611192565b60018216801561135f5760018114611374576113a1565b60ff19831686528115158202860193506113a1565b865f5260205f205f5b838110156113995781548882015260019091019060200161137d565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c1575f5ffd5b8301803591506001600160401b038211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b83016020810192503590506001600160401b03811115611437575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611481575f5ffd5b90910192915050565b803582525f61149c6020830183611404565b608060208601526114b1608086018284611445565b9150506114c16040840184611404565b85830360408701526114d4838284611445565b9250505060608301356114e681611029565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151b575f5ffd5b608060408401528301803560a08401526115386020820182611404565b606060c086015261154e61010086018284611445565b9150506040820135601e19833603018112611567575f5ffd5b6020920191820191356001600160401b03811115611583575f5ffd5b8060051b803603841315611595575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b7575f5ffd5b8084602085013780830193505050506115d36040850185611404565b84830360608601526115e9602084018284611445565b925050506115fa606085018561146d565b838203601f19016080850152611610828261148a565b95945050505050565b5f5f5f6060848603121561162b575f5ffd5b835161163681611029565b60208501516040860151919450925061164e81610fe3565b809150509250925092565b602081525f61166c602083018486611445565b949350505050565b5f60208284031215611684575f5ffd5b81516001600160401b03811115611699575f5ffd5b8201606081850312156116aa575f5ffd5b6116b2611065565b81516116bd81610fe3565b81526020828101519082015260408201516001600160401b038111156116e1575f5ffd5b80830192505084601f8301126116f5575f5ffd5b8151611703611126826110bd565b818152866020838601011115611717575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a457605f1987860301845261178f858351610f9c565b94506020938401939190910190600101611773565b5050505082810360208401526117bb818587611445565b969550505050505056fea26469706673582212203254ab2207f0909a7e30a3aa1b831dfa5e44903ca17f0c2b0d003f8e6aab0ba564736f6c634300081e00331a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b","sourceMap":"2662:6645:159:-:0;;;3912:751;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3970:11;;-1:-1:-1;;;;;1273:26:35;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:35;;1350:1;1322:31;;;4158:51:184;4131:18;;1322:31:35;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;-1:-1:-1;4020:18:159::1;::::0;::::1;::::0;-1:-1:-1;;;;;3989:50:159;;::::1;;::::0;4056:14:::1;::::0;::::1;::::0;4045:25:::1;;::::0;4092:18:::1;::::0;::::1;::::0;:67:::1;;3405:16;4092:67;;;4117:5;:18;;;4092:67;4077:12;:82:::0;;;4170:33:::1;::::0;4366:25:184;;;4170:33:159::1;::::0;4354:2:184;4339:18;4170:33:159::1;;;;;;;4215:9;4210:148;4234:5;:14;;;:21;4230:1;:25;4210:148;;;4302:4;4270:10;:29;4281:5;:14;;;4296:1;4281:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4270:29:159::1;-1:-1:-1::0;;;;;4270:29:159::1;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;4333:5;:14;;;4348:1;4333:17;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4319:32:159::1;-1:-1:-1::0;;;;;;;;;;;4319:32:159::1;;;;;;;;;4257:3;;4210:148;;;-1:-1:-1::0;4374:11:159;;-1:-1:-1;;;;;4363:23:159;;::::1;;::::0;;;:10:::1;:23;::::0;;;;;:30;;-1:-1:-1;;4363:30:159::1;4389:4;4363:30;::::0;;4418:11;;4404:26;;;::::1;::::0;-1:-1:-1;;;;;;;;;;;4404:26:159;4363:23;4404:26:::1;4458:24;::::0;::::1;::::0;4437:18:::1;:45:::0;;-1:-1:-1;;;;;;4437:45:159::1;-1:-1:-1::0;;;;;4437:45:159;;::::1;::::0;;::::1;::::0;;4493:60:::1;::::0;::::1;::::0;-1:-1:-1;;4493:60:159::1;4574:12;::::0;::::1;::::0;4560:11:::1;::::0;:26:::1;::::0;:11;:26:::1;:::i;:::-;-1:-1:-1::0;4605:11:159::1;::::0;::::1;::::0;4592:10:::1;::::0;:24:::1;::::0;:10;:24:::1;:::i;:::-;-1:-1:-1::0;4639:19:159::1;;::::0;4623:13:::1;:35:::0;;;::::1;;-1:-1:-1::0;;;4623:35:159::1;-1:-1:-1::0;;;;4623:35:159;;::::1;::::0;;;::::1;::::0;;2662:6645;;2912:187:35;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:127:184:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:255;218:2;212:9;260:6;248:19;;-1:-1:-1;;;;;282:34:184;;318:22;;;279:62;276:88;;;344:18;;:::i;:::-;380:2;373:22;146:255;:::o;406:275::-;477:2;471:9;542:2;523:13;;-1:-1:-1;;519:27:184;507:40;;-1:-1:-1;;;;;562:34:184;;598:22;;;559:62;556:88;;;624:18;;:::i;:::-;660:2;653:22;406:275;;-1:-1:-1;406:275:184:o;686:131::-;-1:-1:-1;;;;;761:31:184;;751:42;;741:70;;807:1;804;797:12;741:70;686:131;:::o;822:138::-;901:13;;923:31;901:13;923:31;:::i;:::-;822:138;;;:::o;965:793::-;1030:5;1083:3;1076:4;1068:6;1064:17;1060:27;1050:55;;1101:1;1098;1091:12;1050:55;1128:13;;-1:-1:-1;;;;;1153:30:184;;1150:56;;;1186:18;;:::i;:::-;1232:6;1229:1;1225:14;1259:30;1283:4;1279:2;1275:13;1259:30;:::i;:::-;1325:19;;;1369:4;1401:15;;;1397:26;;;1360:14;;;;1435:15;;;1432:35;;;1463:1;1460;1453:12;1432:35;1499:4;1491:6;1487:17;1476:28;;1513:214;1529:6;1524:3;1521:15;1513:214;;;1604:3;1598:10;1621:31;1646:5;1621:31;:::i;:::-;1665:18;;1712:4;1546:14;;;;1703;;;;1513:214;;;1745:7;965:793;-1:-1:-1;;;;;;965:793:184:o;1763:556::-;1817:5;1870:3;1863:4;1855:6;1851:17;1847:27;1837:55;;1888:1;1885;1878:12;1837:55;1915:13;;-1:-1:-1;;;;;1940:30:184;;1937:56;;;1973:18;;:::i;:::-;2017:59;2064:2;2041:17;;-1:-1:-1;;2037:31:184;2070:4;2033:42;2017:59;:::i;:::-;2101:6;2092:7;2085:23;2155:3;2148:4;2139:6;2131;2127:19;2123:30;2120:39;2117:59;;;2172:1;2169;2162:12;2117:59;2230:6;2223:4;2215:6;2211:17;2204:4;2195:7;2191:18;2185:52;2286:1;2257:20;;;2279:4;2253:31;2246:42;;;;2261:7;1763:556;-1:-1:-1;;;1763:556:184:o;2324:164::-;2400:13;;2449;;2442:21;2432:32;;2422:60;;2478:1;2475;2468:12;2493:1514;2606:6;2659:2;2647:9;2638:7;2634:23;2630:32;2627:52;;;2675:1;2672;2665:12;2627:52;2702:16;;-1:-1:-1;;;;;2730:30:184;;2727:50;;;2773:1;2770;2763:12;2727:50;2796:22;;2852:6;2834:16;;;2830:29;2827:49;;;2872:1;2869;2862:12;2827:49;2898:22;;:::i;:::-;2943:33;2973:2;2943:33;:::i;:::-;2936:5;2929:48;3009:42;3047:2;3043;3039:11;3009:42;:::i;:::-;3004:2;2997:5;2993:14;2986:66;3084:42;3122:2;3118;3114:11;3084:42;:::i;:::-;3079:2;3068:14;;3061:66;3186:2;3178:11;;;3172:18;3206:14;;;3199:31;3263:43;3301:3;3293:12;;3263:43;:::i;:::-;3257:3;3246:15;;3239:68;3346:3;3338:12;;3332:19;-1:-1:-1;;;;;3363:32:184;;3360:52;;;3408:1;3405;3398:12;3360:52;3445:67;3504:7;3493:8;3489:2;3485:17;3445:67;:::i;:::-;3439:3;3428:15;;3421:92;-1:-1:-1;3552:3:184;3544:12;;3538:19;-1:-1:-1;;;;;3569:32:184;;3566:52;;;3614:1;3611;3604:12;3566:52;3651:56;3699:7;3688:8;3684:2;3680:17;3651:56;:::i;:::-;3645:3;3634:15;;3627:81;-1:-1:-1;3747:3:184;3739:12;;3733:19;-1:-1:-1;;;;;3764:32:184;;3761:52;;;3809:1;3806;3799:12;3761:52;3846:56;3894:7;3883:8;3879:2;3875:17;3846:56;:::i;:::-;3840:3;3833:5;3829:15;3822:81;;3936:40;3971:3;3967:2;3963:12;3936:40;:::i;:::-;3930:3;3919:15;;3912:65;3923:5;2493:1514;-1:-1:-1;;;;2493:1514:184:o;4402:127::-;4463:10;4458:3;4454:20;4451:1;4444:31;4494:4;4491:1;4484:15;4518:4;4515:1;4508:15;4534:380;4613:1;4609:12;;;;4656;;;4677:61;;4731:4;4723:6;4719:17;4709:27;;4677:61;4784:2;4776:6;4773:14;4753:18;4750:38;4747:161;;4830:10;4825:3;4821:20;4818:1;4811:31;4865:4;4862:1;4855:15;4893:4;4890:1;4883:15;4747:161;;4534:380;;;:::o;5045:518::-;5147:2;5142:3;5139:11;5136:421;;;5183:5;5180:1;5173:16;5227:4;5224:1;5214:18;5297:2;5285:10;5281:19;5278:1;5274:27;5268:4;5264:38;5333:4;5321:10;5318:20;5315:47;;;-1:-1:-1;5356:4:184;5315:47;5411:2;5406:3;5402:12;5399:1;5395:20;5389:4;5385:31;5375:41;;5466:81;5484:2;5477:5;5474:13;5466:81;;;5543:1;5529:16;;5510:1;5499:13;5466:81;;;5470:3;;5136:421;5045:518;;;:::o;5739:1299::-;5859:10;;-1:-1:-1;;;;;5881:30:184;;5878:56;;;5914:18;;:::i;:::-;5943:97;6033:6;5993:38;6025:4;6019:11;5993:38;:::i;:::-;5987:4;5943:97;:::i;:::-;6089:4;6120:2;6109:14;;6137:1;6132:649;;;;6825:1;6842:6;6839:89;;;-1:-1:-1;6894:19:184;;;6888:26;6839:89;-1:-1:-1;;5696:1:184;5692:11;;;5688:24;5684:29;5674:40;5720:1;5716:11;;;5671:57;6941:81;;6102:930;;6132:649;4992:1;4985:14;;;5029:4;5016:18;;-1:-1:-1;;6168:20:184;;;6286:222;6300:7;6297:1;6294:14;6286:222;;;6382:19;;;6376:26;6361:42;;6489:4;6474:20;;;;6442:1;6430:14;;;;6316:12;6286:222;;;6290:3;6536:6;6527:7;6524:19;6521:201;;;6597:19;;;6591:26;-1:-1:-1;;6680:1:184;6676:14;;;6692:3;6672:24;6668:37;6664:42;6649:58;6634:74;;6521:201;-1:-1:-1;;;;6768:1:184;6752:14;;;6748:22;6735:36;;-1:-1:-1;5739:1299:184:o;:::-;2662:6645:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b506004361061015e575f3560e01c806381d2fd9c116100ca578063c4797ec511610084578063c4797ec514610300578063c47ca04c14610313578063c8f832bf1461031b578063dd71369c1461032e578063e5eab0961461034d578063f2fde38b14610360578063fc67935414610373575f5ffd5b806381d2fd9c146102a85780638da5cb5b146102bb578063939af6cd146102cb5780639c281430146102de578063a4d2342a146102e7578063bdbf3df5146102ef575f5ffd5b8063281ab6861161011b578063281ab686146102225780632997e86b146102355780632fb60c1a146102675780633148bf091461027a5780634bc833321461028d578063715018a6146102a0575f5ffd5b806303c230e31461016257806306433b1b1461019f5780630c43cd88146101c65780631c04beac146101de5780631f4a2f59146101f85780632052e6401461020d575b5f5ffd5b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6040516101969190610f88565b60405180910390f35b6101897f000000000000000000000000000000000000000000000000000000000000000081565b6101d062093a8081565b604051908152602001610196565b6101e6601281565b60405160ff9091168152602001610196565b610200610395565b6040516101969190610fca565b61022061021b366004610ff7565b610421565b005b610220610230366004610ff7565b610472565b610257610243366004611012565b60036020525f908152604090205460ff1681565b6040519015158152602001610196565b610220610275366004611012565b6104c5565b610220610288366004611036565b61051f565b61022061029b3660046110e3565b610574565b6102206105b8565b6102206102b6366004611012565b6105cb565b5f546001600160a01b0316610189565b6102206102d936600461115c565b610608565b6101d060055481565b610189610882565b6101d069d3c21bcecceda100000081565b600154610189906001600160a01b031681565b610200610908565b610220610329366004610ff7565b610915565b6101d061033c366004610ff7565b60046020525f908152604090205481565b61022061035b3660046110e3565b610965565b61022061036e366004610ff7565b6109a9565b610257610381366004610ff7565b60026020525f908152604090205460ff1681565b600780546103a290611192565b80601f01602080910402602001604051908101604052809291908181526020018280546103ce90611192565b80156104195780601f106103f057610100808354040283529160200191610419565b820191905f5260205f20905b8154815290600101906020018083116103fc57829003601f168201915b505050505081565b6104296109ef565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa45d60f9a04c5d4fa0d11954a836395a6be6f5e6349f49e5a909f47b47556226905f90a250565b61047a6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f1a7d1f088493549086cb72318a43863e0a9c0b234d8e3e7f6280eeefecf8271b9190a250565b6104cd6109ef565b5f8181526003602052604090819020805460ff19169055517ffc4b8a996e96263e8117c0318ab1f58a505eaf4b902cbd3520254dfc70e55de5906105149083815260200190565b60405180910390a150565b6105276109ef565b60018054821515600160a01b0260ff60a01b199091161790556040517f637373a04f9cdebef9e86caa4792cf3aa4ff58364154f47a07d9ad062ec0de179061051490831515815260200190565b61057c6109ef565b60076105888282611216565b507f8a901a187220633e2a04102348a39ec0ad895a358c69bd739bac4366c5e894e9816040516105149190610fca565b6105c06109ef565b6105c95f610a1b565b565b6105d36109ef565b60058190556040518181527f07b130fc089b6153dc5748b5d744efe6ec1dd025c8c48e5b105e632f6cbd93da90602001610514565b6005546040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610657903090600401610f88565b602060405180830381865afa158015610672573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061069691906112d0565b10156106b557604051631e9acf1760e31b815260040160405180910390fd5b335f9081526002602052604090205460ff161561079f5760055460405163a9059cbb60e01b815233600482015260248101919091527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561073a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075e91906112e7565b50600554604080519182525f602083015233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a250565b5f6107aa3383610a6a565b60055460405163a9059cbb60e01b815233600482015260248101919091529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561081b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083f91906112e7565b50600554604080519182526020820183905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a25050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663971b0e6b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190611302565b905090565b600680546103a290611192565b61091d6109ef565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517f77fb7b49e433c24c33405358716dab4b3b3a8aee00a916f99e3717debf176ce19190a250565b61096d6109ef565b60066109798282611216565b507ffe4d94448068b38fa4f90d468459f31695b3816d3b780071c1ae1c8a969ef543816040516105149190610fca565b6109b16109ef565b6001600160a01b0381166109e3575f604051631e4fbdf760e01b81526004016109da9190610f88565b60405180910390fd5b6109ec81610a1b565b50565b5f546001600160a01b031633146105c9573360405163118cdaa760e01b81526004016109da9190610f88565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f610a78606083018361131d565b610a89906080810190606001611036565b15610aa7576040516309bde33960e01b815260040160405180910390fd5b6006604051610ab6919061133b565b604051908190039020610acc606084018461131d565b610ada9060208101906113ac565b604051610ae89291906113f5565b604051809103902014610b0e576040516375893cc160e11b815260040160405180910390fd5b6007604051610b1d919061133b565b604051908190039020610b33606084018461131d565b610b419060408101906113ac565b604051610b4f9291906113f5565b604051809103902014610b755760405163725a844f60e01b815260040160405180910390fd5b62093a80610b86606084018461131d565b3514610ba55760405163b26af78d60e01b815260040160405180910390fd5b60015460405163578bd92160e01b81525f9182916001600160a01b039091169063578bd92190610bd99087906004016114f9565b606060405180830381865afa158015610bf4573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c189190611619565b909450909250905081610c3e576040516309bde33960e01b815260040160405180910390fd5b5f83815260036020526040902054839060ff1615610c72576040516390a3baff60e01b81526004016109da91815260200190565b50600154600160a01b900460ff16610f4f575f6001600160a01b038216630af18ba6610ca160408801886113ac565b6040518363ffffffff1660e01b8152600401610cbe929190611659565b5f60405180830381865afa158015610cd8573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610cff9190810190611674565b8051909150866001600160a01b0382811690821614610d4457604051636e68e5e760e11b81526001600160a01b039283166004820152911660248201526044016109da565b5050602081015146818114610d7557604051639fba672f60e01b8152600481019290925260248201526044016109da565b505060408101515115610d9b5760405163db7eeb0960e01b815260040160405180910390fd5b60408051600480825260a082019092525f91816020015b6060815260200190600190039081610db25790505090506040518060400160405280600381526020016221aaa160e91b815250815f81518110610df757610df7611739565b60200260200101819052506040518060400160405280600381526020016224a92760e91b81525081600181518110610e3157610e31611739565b60200260200101819052506040518060400160405280600381526020016250524b60e81b81525081600281518110610e6b57610e6b611739565b6020026020010181905250604051806040016040528060038152602001622aa5a960e91b81525081600381518110610ea557610ea5611739565b60209081029190910101525f6001600160a01b03841663d3fb610f83610ece60408b018b6113ac565b6040518463ffffffff1660e01b8152600401610eec9392919061174d565b602060405180830381865afa158015610f07573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f2b91906112e7565b905080610f4b576040516372917c7360e11b815260040160405180910390fd5b5050505b50505f818152600360209081526040808320805460ff191660011790556001600160a01b03909516825260049052929092208290555090565b6001600160a01b0391909116815260200190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610fdc6020830184610f9c565b9392505050565b6001600160a01b03811681146109ec575f5ffd5b5f60208284031215611007575f5ffd5b8135610fdc81610fe3565b5f60208284031215611022575f5ffd5b5035919050565b80151581146109ec575f5ffd5b5f60208284031215611046575f5ffd5b8135610fdc81611029565b634e487b7160e01b5f52604160045260245ffd5b604051606081016001600160401b038111828210171561108757611087611051565b60405290565b604051601f8201601f191681016001600160401b03811182821017156110b5576110b5611051565b604052919050565b5f6001600160401b038211156110d5576110d5611051565b50601f01601f191660200190565b5f602082840312156110f3575f5ffd5b81356001600160401b03811115611108575f5ffd5b8201601f81018413611118575f5ffd5b803561112b611126826110bd565b61108d565b81815285602083850101111561113f575f5ffd5b816020840160208301375f91810160200191909152949350505050565b5f6020828403121561116c575f5ffd5b81356001600160401b03811115611181575f5ffd5b820160808185031215610fdc575f5ffd5b600181811c908216806111a657607f821691505b6020821081036111c457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561121157805f5260205f20601f840160051c810160208510156111ef5750805b601f840160051c820191505b8181101561120e575f81556001016111fb565b50505b505050565b81516001600160401b0381111561122f5761122f611051565b6112438161123d8454611192565b846111ca565b6020601f821160018114611275575f831561125e5750848201515b5f19600385901b1c1916600184901b17845561120e565b5f84815260208120601f198516915b828110156112a45787850151825560209485019460019092019101611284565b50848210156112c157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f602082840312156112e0575f5ffd5b5051919050565b5f602082840312156112f7575f5ffd5b8151610fdc81611029565b5f60208284031215611312575f5ffd5b8151610fdc81610fe3565b5f8235607e19833603018112611331575f5ffd5b9190910192915050565b5f5f835461134881611192565b60018216801561135f5760018114611374576113a1565b60ff19831686528115158202860193506113a1565b865f5260205f205f5b838110156113995781548882015260019091019060200161137d565b505081860193505b509195945050505050565b5f5f8335601e198436030181126113c1575f5ffd5b8301803591506001600160401b038211156113da575f5ffd5b6020019150368190038213156113ee575f5ffd5b9250929050565b818382375f9101908152919050565b5f5f8335601e19843603018112611419575f5ffd5b83016020810192503590506001600160401b03811115611437575f5ffd5b8036038213156113ee575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b5f8235607e19833603018112611481575f5ffd5b90910192915050565b803582525f61149c6020830183611404565b608060208601526114b1608086018284611445565b9150506114c16040840184611404565b85830360408701526114d4838284611445565b9250505060608301356114e681611029565b8015156060860152508091505092915050565b60208082528235828201525f9083013536849003605e1901811261151b575f5ffd5b608060408401528301803560a08401526115386020820182611404565b606060c086015261154e61010086018284611445565b9150506040820135601e19833603018112611567575f5ffd5b6020920191820191356001600160401b03811115611583575f5ffd5b8060051b803603841315611595575f5ffd5b858303609f190160e08701528183526001600160fb1b038211156115b7575f5ffd5b8084602085013780830193505050506115d36040850185611404565b84830360608601526115e9602084018284611445565b925050506115fa606085018561146d565b838203601f19016080850152611610828261148a565b95945050505050565b5f5f5f6060848603121561162b575f5ffd5b835161163681611029565b60208501516040860151919450925061164e81610fe3565b809150509250925092565b602081525f61166c602083018486611445565b949350505050565b5f60208284031215611684575f5ffd5b81516001600160401b03811115611699575f5ffd5b8201606081850312156116aa575f5ffd5b6116b2611065565b81516116bd81610fe3565b81526020828101519082015260408201516001600160401b038111156116e1575f5ffd5b80830192505084601f8301126116f5575f5ffd5b8151611703611126826110bd565b818152866020838601011115611717575f5ffd5b8160208501602083015e5f918101602001919091526040820152949350505050565b634e487b7160e01b5f52603260045260245ffd5b5f604082016040835280865180835260608501915060608160051b8601019250602088015f5b828110156117a457605f1987860301845261178f858351610f9c565b94506020938401939190910190600101611773565b5050505082810360208401526117bb818587611445565b969550505050505056fea26469706673582212203254ab2207f0909a7e30a3aa1b831dfa5e44903ca17f0c2b0d003f8e6aab0ba564736f6c634300081e0033","sourceMap":"2662:6645:159:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3426:45;;;;;;;;;;;;:::i;:::-;;;;;;;;3475:35;;;;;3269:48;;3311:6;3269:48;;;;;620:25:184;;;608:2;593:18;3269:48:159;474:177:184;3198:34:159;;3230:2;3198:34;;;;;828:4:184;816:17;;;798:36;;786:2;771:18;3198:34:159;656:184:184;3883:24:159;;;:::i;:::-;;;;;;;:::i;5857:238::-;;;;;;:::i;:::-;;:::i;:::-;;6415:161;;;;;;:::i;:::-;;:::i;3658:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2148:14:184;;2141:22;2123:41;;2111:2;2096:18;3658:59:159;1983:187:184;5681:172:159;;;;;;:::i;:::-;;:::i;6751:185::-;;;;;;:::i;:::-;;:::i;6260:151::-;;;;;;:::i;:::-;;:::i;2293:101:35:-;;;:::i;5513:164:159:-;;;;;;:::i;:::-;;:::i;1638:85:35:-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;1638:85;;4797:712:159;;;;;;:::i;:::-;;:::i;3794:27::-;;;;;;6940:140;;;:::i;3357:64::-;;3405:16;3357:64;;3515:44;;;;;-1:-1:-1;;;;;3515:44:159;;;3854:25;;;:::i;6580:167::-;;;;;;:::i;:::-;;:::i;3721:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;6099:157;;;;;;:::i;:::-;;:::i;2543:215:35:-;;;;;;:::i;:::-;;:::i;3596:58:159:-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3883:24;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5857:238::-;1531:13:35;:11;:13::i;:::-;5973:18:159::1;:60:::0;;-1:-1:-1;;;;;;5973:60:159::1;-1:-1:-1::0;;;;;5973:60:159;::::1;::::0;;::::1;::::0;;;6044:46:::1;::::0;::::1;::::0;-1:-1:-1;;6044:46:159::1;5857:238:::0;:::o;6415:161::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6510:20:159;::::1;;::::0;;;:10:::1;:20;::::0;;;;;:27;;-1:-1:-1;;6510:27:159::1;6533:4;6510:27;::::0;;6548:23;::::1;::::0;6510:20;6548:23:::1;6415:161:::0;:::o;5681:172::-;1531:13:35;:11;:13::i;:::-;5806:5:159::1;5781:22:::0;;;:10:::1;:22;::::0;;;;;;:30;;-1:-1:-1;;5781:30:159::1;::::0;;5822:26;::::1;::::0;::::1;::::0;5792:10;620:25:184;;608:2;593:18;;474:177;5822:26:159::1;;;;;;;;5681:172:::0;:::o;6751:185::-;1531:13:35;:11;:13::i;:::-;6854::159::1;:30:::0;;;::::1;;-1:-1:-1::0;;;6854:30:159::1;-1:-1:-1::0;;;;6854:30:159;;::::1;;::::0;;6895:36:::1;::::0;::::1;::::0;::::1;::::0;6870:14;2148::184;2141:22;2123:41;;2111:2;2096:18;;1983:187;6260:151:159;1531:13:35;:11;:13::i;:::-;6356:10:159::1;:19;6369:6:::0;6356:10;:19:::1;:::i;:::-;;6386:20;6399:6;6386:20;;;;;;:::i;2293:101:35:-:0;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;5513:164:159:-;1531:13:35;:11;:13::i;:::-;5611:12:159::1;:22:::0;;;5644:28:::1;::::0;620:25:184;;;5644:28:159::1;::::0;608:2:184;593:18;5644:28:159::1;474:177:184::0;4797:712:159;4986:12;;4944:38;;-1:-1:-1;;;4944:38:159;;-1:-1:-1;;;;;4944:13:159;:23;;;;:38;;4976:4;;4944:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;;4936:86;;;;-1:-1:-1;;;4936:86:159;;;;;;;;;;;;5044:10;5033:22;;;;:10;:22;;;;;;;;5029:211;;;5148:12;;5113:48;;-1:-1:-1;;;5113:48:159;;5136:10;5113:48;;;8294:51:184;8361:18;;;8354:34;;;;5113:13:159;-1:-1:-1;;;;;5113:22:159;;;;8267:18:184;;5113:48:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5194:12:159;;5174:45;;;8823:25:184;;;5216:1:159;8879:2:184;8864:18;;8857:34;5182:10:159;;5174:45;;8796:18:184;5174:45:159;;;;;;;4797:712;:::o;5029:211::-;5298:17;5318:43;5341:10;5353:7;5318:22;:43::i;:::-;5436:12;;5401:48;;-1:-1:-1;;;5401:48:159;;5424:10;5401:48;;;8294:51:184;8361:18;;;8354:34;;;;5298:63:159;;-1:-1:-1;5401:13:159;-1:-1:-1;;;;;5401:22:159;;;;8267:18:184;;5401:48:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5480:12:159;;5460:44;;;8823:25:184;;;8879:2;8864:18;;8857:34;;;5468:10:159;;5460:44;;8796:18:184;5460:44:159;;;;;;;4894:615;4797:712;:::o;6940:140::-;7015:7;7045:8;-1:-1:-1;;;;;7045:27:159;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7030:45;;6940:140;:::o;3854:25::-;;;;;;;:::i;6580:167::-;1531:13:35;:11;:13::i;:::-;-1:-1:-1;;;;;6678:20:159;::::1;6701:5;6678:20:::0;;;:10:::1;:20;::::0;;;;;:28;;-1:-1:-1;;6678:28:159::1;::::0;;6717:25;::::1;::::0;6701:5;6717:25:::1;6580:167:::0;:::o;6099:157::-;1531:13:35;:11;:13::i;:::-;6197:11:159::1;:21;6211:7:::0;6197:11;:21:::1;:::i;:::-;;6229:22;6243:7;6229:22;;;;;;:::i;2543:215:35:-:0;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:35;::::1;2623:91;;2700:1;2672:31;;-1:-1:-1::0;;;2672:31:35::1;;;;;;;;:::i;:::-;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:35;735:10:48;1855:23:35;1851:101;;735:10:48;1901:40:35;;-1:-1:-1;;;1901:40:35;;;;;;;;:::i;2912:187::-;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:35;;;-1:-1:-1;;;;;;3020:17:35;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;7281:2024:159:-;7396:17;7632:21;;;;:7;:21;:::i;:::-;:29;;;;;;;;;:::i;:::-;:38;7624:63;;;;-1:-1:-1;;;7624:63:159;;;;;;;;;;;;7768:11;7752:29;;;;;;:::i;:::-;;;;;;;;;7718:21;;;;:7;:21;:::i;:::-;:28;;;;;;;:::i;:::-;7702:46;;;;;;;:::i;:::-;;;;;;;;:79;7694:105;;;;-1:-1:-1;;;7694:105:159;;;;;;;;;;;;7878:10;7862:28;;;;;;:::i;:::-;;;;;;;;;7829:21;;;;:7;:21;:::i;:::-;:27;;;;;;;:::i;:::-;7813:45;;;;;;;:::i;:::-;;;;;;;;:77;7805:102;;;;-1:-1:-1;;;7805:102:159;;;;;;;;;;;;3311:6;7921:21;;;;:7;:21;:::i;:::-;:45;:64;7913:98;;;;-1:-1:-1;;;7913:98:159;;;;;;;;;;;;8098:18;;:34;;-1:-1:-1;;;8098:34:159;;8018:13;;;;-1:-1:-1;;;;;8098:18:159;;;;:25;;:34;;8124:7;;8098:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8066:66;;-1:-1:-1;8066:66:159;;-1:-1:-1;8066:66:159;-1:-1:-1;8066:66:159;8139:33;;;;-1:-1:-1;;;8139:33:159;;;;;;;;;;;;8187:21;;;;:10;:21;;;;;;8198:9;;8187:21;;8186:22;8178:57;;;;-1:-1:-1;;;8178:57:159;;;;;;620:25:184;;608:2;593:18;;474:177;8178:57:159;-1:-1:-1;8247:13:159;;-1:-1:-1;;;8247:13:159;;;;8242:948;;8270:26;-1:-1:-1;;;;;8299:19:159;;;8319:23;;;;:7;:23;:::i;:::-;8299:44;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8299:44:159;;;;;;;;;;;;:::i;:::-;8427:23;;8270:73;;-1:-1:-1;8454:5:159;-1:-1:-1;;;;;8427:32:159;;;;;;;8419:94;;;;-1:-1:-1;;;8419:94:159;;-1:-1:-1;;;;;17846:32:184;;;8419:94:159;;;17828:51:184;17915:32;;17895:18;;;17888:60;17801:18;;8419:94:159;17654:300:184;8419:94:159;-1:-1:-1;;8595:17:159;;;;8616:13;8595:34;;;8587:93;;;;-1:-1:-1;;;8587:93:159;;;;;8823:25:184;;;;8864:18;;;8857:34;8796:18;;8587:93:159;8649:248:184;8587:93:159;-1:-1:-1;;8746:20:159;;;;8740:34;:39;8732:76;;;;-1:-1:-1;;;8732:76:159;;;;;;;;;;;;8886:15;;;8899:1;8886:15;;;;;;;;;8850:33;;8886:15;;;;;;;;;;;;;;;;;;;;8850:51;;8932:3;;;;;;;;;;;;;-1:-1:-1;;;8932:3:159;;;8909:17;8927:1;8909:20;;;;;;;;:::i;:::-;;;;;;:26;;;;8966:3;;;;;;;;;;;;;-1:-1:-1;;;8966:3:159;;;8943:17;8961:1;8943:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9000:3;;;;;;;;;;;;;-1:-1:-1;;;9000:3:159;;;8977:17;8995:1;8977:20;;;;;;;;:::i;:::-;;;;;;:26;;;;9034:3;;;;;;;;;;;;;-1:-1:-1;;;9034:3:159;;;9011:17;9029:1;9011:20;;;;;;;;:::i;:::-;;;;;;;;;;:26;9045:19;-1:-1:-1;;;;;9067:23:159;;;9091:17;9110:23;;;;:7;:23;:::i;:::-;9067:67;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9045:89;;9150:14;9142:41;;;;-1:-1:-1;;;9142:41:159;;;;;;;;;;;;8262:928;;;8242:948;-1:-1:-1;;9229:21:159;;;;:10;:21;;;;;;;;:28;;-1:-1:-1;;9229:28:159;9253:4;9229:28;;;-1:-1:-1;;;;;9263:25:159;;;;;:18;:25;;;;;;:37;;;-1:-1:-1;9240:9:159;7281:2024::o;14:228:184:-;-1:-1:-1;;;;;203:32:184;;;;185:51;;173:2;158:18;;14:228::o;845:289::-;887:3;925:5;919:12;952:6;947:3;940:19;1008:6;1001:4;994:5;990:16;983:4;978:3;974:14;968:47;1060:1;1053:4;1044:6;1039:3;1035:16;1031:27;1024:38;1123:4;1116:2;1112:7;1107:2;1099:6;1095:15;1091:29;1086:3;1082:39;1078:50;1071:57;;;845:289;;;;:::o;1139:220::-;1288:2;1277:9;1270:21;1251:4;1308:45;1349:2;1338:9;1334:18;1326:6;1308:45;:::i;:::-;1300:53;1139:220;-1:-1:-1;;;1139:220:184:o;1364:131::-;-1:-1:-1;;;;;1439:31:184;;1429:42;;1419:70;;1485:1;1482;1475:12;1500:247;1559:6;1612:2;1600:9;1591:7;1587:23;1583:32;1580:52;;;1628:1;1625;1618:12;1580:52;1667:9;1654:23;1686:31;1711:5;1686:31;:::i;1752:226::-;1811:6;1864:2;1852:9;1843:7;1839:23;1835:32;1832:52;;;1880:1;1877;1870:12;1832:52;-1:-1:-1;1925:23:184;;1752:226;-1:-1:-1;1752:226:184:o;2175:118::-;2261:5;2254:13;2247:21;2240:5;2237:32;2227:60;;2283:1;2280;2273:12;2298:241;2354:6;2407:2;2395:9;2386:7;2382:23;2378:32;2375:52;;;2423:1;2420;2413:12;2375:52;2462:9;2449:23;2481:28;2503:5;2481:28;:::i;2544:127::-;2605:10;2600:3;2596:20;2593:1;2586:31;2636:4;2633:1;2626:15;2660:4;2657:1;2650:15;2676:253;2748:2;2742:9;2790:4;2778:17;;-1:-1:-1;;;;;2810:34:184;;2846:22;;;2807:62;2804:88;;;2872:18;;:::i;:::-;2908:2;2901:22;2676:253;:::o;2934:275::-;3005:2;2999:9;3070:2;3051:13;;-1:-1:-1;;3047:27:184;3035:40;;-1:-1:-1;;;;;3090:34:184;;3126:22;;;3087:62;3084:88;;;3152:18;;:::i;:::-;3188:2;3181:22;2934:275;;-1:-1:-1;2934:275:184:o;3214:187::-;3263:4;-1:-1:-1;;;;;3288:6:184;3285:30;3282:56;;;3318:18;;:::i;:::-;-1:-1:-1;3384:2:184;3363:15;-1:-1:-1;;3359:29:184;3390:4;3355:40;;3214:187::o;3406:697::-;3475:6;3528:2;3516:9;3507:7;3503:23;3499:32;3496:52;;;3544:1;3541;3534:12;3496:52;3584:9;3571:23;-1:-1:-1;;;;;3609:6:184;3606:30;3603:50;;;3649:1;3646;3639:12;3603:50;3672:22;;3725:4;3717:13;;3713:27;-1:-1:-1;3703:55:184;;3754:1;3751;3744:12;3703:55;3794:2;3781:16;3819:53;3835:36;3864:6;3835:36;:::i;:::-;3819:53;:::i;:::-;3895:6;3888:5;3881:21;3943:7;3938:2;3929:6;3925:2;3921:15;3917:24;3914:37;3911:57;;;3964:1;3961;3954:12;3911:57;4019:6;4014:2;4010;4006:11;4001:2;3994:5;3990:14;3977:49;4071:1;4046:18;;;4066:2;4042:27;4035:38;;;;4050:5;3406:697;-1:-1:-1;;;;3406:697:184:o;4547:403::-;4649:6;4702:2;4690:9;4681:7;4677:23;4673:32;4670:52;;;4718:1;4715;4708:12;4670:52;4758:9;4745:23;-1:-1:-1;;;;;4783:6:184;4780:30;4777:50;;;4823:1;4820;4813:12;4777:50;4846:22;;4902:3;4884:16;;;4880:26;4877:46;;;4919:1;4916;4909:12;5376:380;5455:1;5451:12;;;;5498;;;5519:61;;5573:4;5565:6;5561:17;5551:27;;5519:61;5626:2;5618:6;5615:14;5595:18;5592:38;5589:161;;5672:10;5667:3;5663:20;5660:1;5653:31;5707:4;5704:1;5697:15;5735:4;5732:1;5725:15;5589:161;;5376:380;;;:::o;5887:518::-;5989:2;5984:3;5981:11;5978:421;;;6025:5;6022:1;6015:16;6069:4;6066:1;6056:18;6139:2;6127:10;6123:19;6120:1;6116:27;6110:4;6106:38;6175:4;6163:10;6160:20;6157:47;;;-1:-1:-1;6198:4:184;6157:47;6253:2;6248:3;6244:12;6241:1;6237:20;6231:4;6227:31;6217:41;;6308:81;6326:2;6319:5;6316:13;6308:81;;;6385:1;6371:16;;6352:1;6341:13;6308:81;;;6312:3;;5978:421;5887:518;;;:::o;6581:1299::-;6707:3;6701:10;-1:-1:-1;;;;;6726:6:184;6723:30;6720:56;;;6756:18;;:::i;:::-;6785:97;6875:6;6835:38;6867:4;6861:11;6835:38;:::i;:::-;6829:4;6785:97;:::i;:::-;6931:4;6962:2;6951:14;;6979:1;6974:649;;;;7667:1;7684:6;7681:89;;;-1:-1:-1;7736:19:184;;;7730:26;7681:89;-1:-1:-1;;6538:1:184;6534:11;;;6530:24;6526:29;6516:40;6562:1;6558:11;;;6513:57;7783:81;;6944:930;;6974:649;5834:1;5827:14;;;5871:4;5858:18;;-1:-1:-1;;7010:20:184;;;7128:222;7142:7;7139:1;7136:14;7128:222;;;7224:19;;;7218:26;7203:42;;7331:4;7316:20;;;;7284:1;7272:14;;;;7158:12;7128:222;;;7132:3;7378:6;7369:7;7366:19;7363:201;;;7439:19;;;7433:26;-1:-1:-1;;7522:1:184;7518:14;;;7534:3;7514:24;7510:37;7506:42;7491:58;7476:74;;7363:201;-1:-1:-1;;;;7610:1:184;7594:14;;;7590:22;7577:36;;-1:-1:-1;6581:1299:184:o;7885:230::-;7955:6;8008:2;7996:9;7987:7;7983:23;7979:32;7976:52;;;8024:1;8021;8014:12;7976:52;-1:-1:-1;8069:16:184;;7885:230;-1:-1:-1;7885:230:184:o;8399:245::-;8466:6;8519:2;8507:9;8498:7;8494:23;8490:32;8487:52;;;8535:1;8532;8525:12;8487:52;8567:9;8561:16;8586:28;8608:5;8586:28;:::i;8902:273::-;8994:6;9047:2;9035:9;9026:7;9022:23;9018:32;9015:52;;;9063:1;9060;9053:12;9015:52;9095:9;9089:16;9114:31;9139:5;9114:31;:::i;9180:331::-;9279:4;9337:11;9324:25;9431:3;9427:8;9416;9400:14;9396:29;9392:44;9372:18;9368:69;9358:97;;9451:1;9448;9441:12;9358:97;9472:33;;;;;9180:331;-1:-1:-1;;9180:331:184:o;9516:799::-;9646:3;9675:1;9708:6;9702:13;9738:36;9764:9;9738:36;:::i;:::-;9805:1;9790:17;;9816:133;;;;9963:1;9958:332;;;;9783:507;;9816:133;-1:-1:-1;;9849:24:184;;9837:37;;9922:14;;9915:22;9903:35;;9894:45;;;-1:-1:-1;9816:133:184;;9958:332;9989:6;9986:1;9979:17;10037:4;10034:1;10024:18;10064:1;10078:166;10092:6;10089:1;10086:13;10078:166;;;10172:14;;10159:11;;;10152:35;10228:1;10215:15;;;;10114:4;10107:12;10078:166;;;10082:3;;10273:6;10268:3;10264:16;10257:23;;9783:507;-1:-1:-1;10306:3:184;;9516:799;-1:-1:-1;;;;;9516:799:184:o;10320:522::-;10398:4;10404:6;10464:11;10451:25;10558:2;10554:7;10543:8;10527:14;10523:29;10519:43;10499:18;10495:68;10485:96;;10577:1;10574;10567:12;10485:96;10604:33;;10656:20;;;-1:-1:-1;;;;;;10688:30:184;;10685:50;;;10731:1;10728;10721:12;10685:50;10764:4;10752:17;;-1:-1:-1;10795:14:184;10791:27;;;10781:38;;10778:58;;;10832:1;10829;10822:12;10778:58;10320:522;;;;;:::o;10847:271::-;11030:6;11022;11017:3;11004:33;10986:3;11056:16;;11081:13;;;11056:16;10847:271;-1:-1:-1;10847:271:184:o;11123:500::-;11181:5;11188:6;11248:3;11235:17;11334:2;11330:7;11319:8;11303:14;11299:29;11295:43;11275:18;11271:68;11261:96;;11353:1;11350;11343:12;11261:96;11381:33;;11485:4;11472:18;;;-1:-1:-1;11433:21:184;;-1:-1:-1;;;;;;11502:30:184;;11499:50;;;11545:1;11542;11535:12;11499:50;11592:6;11576:14;11572:27;11565:5;11561:39;11558:59;;;11613:1;11610;11603:12;11628:266;11716:6;11711:3;11704:19;11768:6;11761:5;11754:4;11749:3;11745:14;11732:43;-1:-1:-1;11820:1:184;11795:16;;;11813:4;11791:27;;;11784:38;;;;11876:2;11855:15;;;-1:-1:-1;;11851:29:184;11842:39;;;11838:50;;11628:266::o;11899:299::-;11972:5;12031:3;12018:17;12117:3;12113:8;12102;12086:14;12082:29;12078:44;12058:18;12054:69;12044:97;;12137:1;12134;12127:12;12044:97;12159:33;;;;11899:299;-1:-1:-1;;11899:299:184:o;12203:804::-;12322:19;;12350:20;;12268:3;12413:55;12462:4;12451:16;;12335:5;12413:55;:::i;:::-;12500:4;12493;12488:3;12484:14;12477:28;12526:69;12589:4;12584:3;12580:14;12566:12;12552;12526:69;:::i;:::-;12514:81;;;12642:55;12691:4;12684:5;12680:16;12673:5;12642:55;:::i;:::-;12739:3;12733:4;12729:14;12722:4;12717:3;12713:14;12706:38;12767:63;12825:4;12809:14;12793;12767:63;:::i;:::-;12753:77;;;;12878:4;12871:5;12867:16;12854:30;12893;12915:7;12893:30;:::i;:::-;12969:7;12962:15;12955:23;12948:4;12943:3;12939:14;12932:47;;12995:6;12988:13;;;12203:804;;;;:::o;13012:2196::-;13225:2;13207:21;;;13269:20;;13305:18;;;13298:33;13188:4;;13379:15;;13366:29;13446:14;13442:27;;;-1:-1:-1;;13438:41:184;13414:66;;13404:94;;13494:1;13491;13484:12;13404:94;13589:4;13584:2;13569:18;;13562:32;13522:31;;13639:21;;13691:3;13676:19;;13669:36;13748:57;13801:2;13788:16;;13522:31;13748:57;:::i;:::-;13842:4;13836:3;13825:9;13821:19;13814:33;13870:74;13939:3;13928:9;13924:19;13910:12;13896;13870:74;:::i;:::-;13856:88;;;14007:2;13998:7;13994:16;13981:30;14094:2;14090:7;14080;14064:14;14060:28;14056:42;14034:20;14030:69;14020:97;;14113:1;14110;14103:12;14020:97;14256:2;14141:34;;14243:16;;;;14198:21;-1:-1:-1;;;;;14271:30:184;;14268:50;;;14314:1;14311;14304:12;14268:50;14344:6;14341:1;14337:14;14396:2;14380:14;14376:23;14367:7;14363:37;14360:57;;;14413:1;14410;14403:12;14360:57;14458:22;;;-1:-1:-1;;14454:37:184;14448:3;14433:19;;14426:66;14501:22;;;-1:-1:-1;;;;;14535:31:184;;14532:51;;;14579:1;14576;14569:12;14532:51;14631:2;14622:7;14617:2;14609:6;14605:15;14592:42;14665:2;14657:6;14653:15;14643:25;;;;;14715:55;14766:2;14758:6;14754:15;14746:6;14715:55;:::i;:::-;14816:18;;;14801:4;14786:20;;14779:71;14873:70;14836:2;14931:11;;14915:14;14899;14873:70;:::i;:::-;14859:84;;;;14974:72;15040:4;15032:6;15028:17;15020:6;14974:72;:::i;:::-;15088:22;;;-1:-1:-1;;15084:36:184;15077:4;15062:20;;15055:66;15138:64;15092:6;15179:14;15138:64;:::i;:::-;15130:72;13012:2196;-1:-1:-1;;;;;13012:2196:184:o;15213:465::-;15323:6;15331;15339;15392:2;15380:9;15371:7;15367:23;15363:32;15360:52;;;15408:1;15405;15398:12;15360:52;15440:9;15434:16;15459:28;15481:5;15459:28;:::i;:::-;15551:2;15536:18;;15530:25;15600:2;15585:18;;15579:25;15506:5;;-1:-1:-1;15530:25:184;-1:-1:-1;15613:33:184;15579:25;15613:33;:::i;:::-;15665:7;15655:17;;;15213:465;;;;;:::o;16209:244::-;16366:2;16355:9;16348:21;16329:4;16386:61;16443:2;16432:9;16428:18;16420:6;16412;16386:61;:::i;:::-;16378:69;16209:244;-1:-1:-1;;;;16209:244:184:o;16458:1191::-;16555:6;16608:2;16596:9;16587:7;16583:23;16579:32;16576:52;;;16624:1;16621;16614:12;16576:52;16657:9;16651:16;-1:-1:-1;;;;;16682:6:184;16679:30;16676:50;;;16722:1;16719;16712:12;16676:50;16745:22;;16801:4;16783:16;;;16779:27;16776:47;;;16819:1;16816;16809:12;16776:47;16845:22;;:::i;:::-;16897:2;16891:9;16909:33;16934:7;16909:33;:::i;:::-;16951:22;;17032:2;17024:11;;;17018:18;17052:14;;;17045:31;17115:2;17107:11;;17101:18;-1:-1:-1;;;;;17131:32:184;;17128:52;;;17176:1;17173;17166:12;17128:52;17207:8;17203:2;17199:17;17189:27;;;17254:7;17247:4;17243:2;17239:13;17235:27;17225:55;;17276:1;17273;17266:12;17225:55;17309:2;17303:9;17334:53;17350:36;17379:6;17350:36;:::i;17334:53::-;17410:6;17403:5;17396:21;17458:7;17453:2;17444:6;17440:2;17436:15;17432:24;17429:37;17426:57;;;17479:1;17476;17469:12;17426:57;17527:6;17522:2;17518;17514:11;17509:2;17502:5;17498:14;17492:42;17579:1;17554:18;;;17574:2;17550:27;17543:38;;;;17608:2;17597:14;;17590:29;17601:5;16458:1191;-1:-1:-1;;;;16458:1191:184:o;18212:127::-;18273:10;18268:3;18264:20;18261:1;18254:31;18304:4;18301:1;18294:15;18328:4;18325:1;18318:15;18344:948;18562:4;18610:2;18599:9;18595:18;18640:2;18629:9;18622:21;18663:6;18698;18692:13;18729:6;18721;18714:22;18767:2;18756:9;18752:18;18745:25;;18829:2;18819:6;18816:1;18812:14;18801:9;18797:30;18793:39;18779:53;;18867:4;18859:6;18855:17;18890:1;18900:259;18914:6;18911:1;18908:13;18900:259;;;19007:2;19003:7;18991:9;18983:6;18979:22;18975:36;18970:3;18963:49;19035:40;19068:6;19059;19053:13;19035:40;:::i;:::-;19025:50;-1:-1:-1;19110:4:184;19135:14;;;;19098:17;;;;;18936:1;18929:9;18900:259;;;18904:3;;;;19209:9;19201:6;19197:22;19190:4;19179:9;19175:20;19168:52;19237:49;19279:6;19271;19263;19237:49;:::i;:::-;19229:57;18344:948;-1:-1:-1;;;;;;18344:948:184:o","linkReferences":{},"immutableReferences":{"101787":[{"start":359,"length":32},{"start":1570,"length":32},{"start":1772,"length":32},{"start":1997,"length":32}],"101790":[{"start":420,"length":32},{"start":2181,"length":32}]}},"methodIdentifiers":{"DEFAULT_FAUCET_AMOUNT()":"bdbf3df5","MIN_AGE()":"1c04beac","REGISTRY()":"06433b1b","STAKING_ASSET()":"03c230e3","VALIDITY_PERIOD()":"0c43cd88","addUnhinged(address)":"281ab686","addressToNullifier(address)":"dd71369c","claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":"939af6cd","faucetAmount()":"9c281430","getRollup()":"a4d2342a","isUnhinged(address)":"fc679354","nullifiers(bytes32)":"2997e86b","owner()":"8da5cb5b","removeUnhinged(address)":"c8f832bf","renounceOwnership()":"715018a6","resetNullifier(bytes32)":"2fb60c1a","setDomain(string)":"e5eab096","setFaucetAmount(uint256)":"81d2fd9c","setScope(string)":"4bc83332","setSkipBindCheck(bool)":"3148bf09","setZKPassportVerifier(address)":"2052e640","transferOwnership(address)":"f2fde38b","validDomain()":"c47ca04c","validScope()":"1f4a2f59","zkPassportVerifier()":"c4797ec5"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stakingAsset\",\"type\":\"address\"},{\"internalType\":\"contract IRegistry\",\"name\":\"registry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"faucetAmount\",\"type\":\"uint256\"},{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"zkPassportVerifier\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"unhinged\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"skipBindCheck\",\"type\":\"bool\"}],\"internalType\":\"struct StakingAssetHandler.StakingAssetHandlerArgs\",\"name\":\"_args\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ExtraDiscloseDataNonZero\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAge\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_expected\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_received\",\"type\":\"address\"}],\"name\":\"InvalidBoundAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_expected\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_received\",\"type\":\"uint256\"}],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCountry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDomain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFaceMatch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidScope\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidValidityPeriod\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"SybilDetected\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"Claimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newDomain\",\"type\":\"string\"}],\"name\":\"DomainUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newAmount\",\"type\":\"uint256\"}],\"name\":\"FaucetAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"NullifierReset\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"newScope\",\"type\":\"string\"}],\"name\":\"ScopeUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"SkipBindCheckUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"UnhingedRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"_verifier\",\"type\":\"address\"}],\"name\":\"ZKPassportVerifierUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_FAUCET_AMOUNT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_AGE\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REGISTRY\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_ASSET\",\"outputs\":[{\"internalType\":\"contract IMintableERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VALIDITY_PERIOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"addUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"addressToNullifier\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"version\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"vkeyHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"proof\",\"type\":\"bytes\"},{\"internalType\":\"bytes32[]\",\"name\":\"publicInputs\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct ProofVerificationData\",\"name\":\"proofVerificationData\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"committedInputs\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"validityPeriodInSeconds\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"domain\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"scope\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"devMode\",\"type\":\"bool\"}],\"internalType\":\"struct ServiceConfig\",\"name\":\"serviceConfig\",\"type\":\"tuple\"}],\"internalType\":\"struct ProofVerificationParams\",\"name\":\"_params\",\"type\":\"tuple\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"faucetAmount\",\"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\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"isUnhinged\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isUnhinged\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"nullifier\",\"type\":\"bytes32\"}],\"name\":\"nullifiers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"exists\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"removeUnhinged\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_nullifier\",\"type\":\"bytes32\"}],\"name\":\"resetNullifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_domain\",\"type\":\"string\"}],\"name\":\"setDomain\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"setFaucetAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_scope\",\"type\":\"string\"}],\"name\":\"setScope\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_skipBindCheck\",\"type\":\"bool\"}],\"name\":\"setSkipBindCheck\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_zkPassportVerifier\",\"type\":\"address\"}],\"name\":\"setZKPassportVerifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validDomain\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"validScope\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"zkPassportVerifier\",\"outputs\":[{\"internalType\":\"contract ZKPassportRootVerifier\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"params\":{\"_params\":\"- ZKPassport proof params (ignored for unhinged users)\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))\":{\"notice\":\"Claim STK tokens from the faucet\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/mock/StakingAssetHandler.sol\":\"StakingAssetHandler\"},\"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/circuits/src/solidity/src/Constants.sol\":{\"keccak256\":\"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702\",\"dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp\"]},\"lib/circuits/src/solidity/src/DateUtils.sol\":{\"keccak256\":\"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab\",\"dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4\"]},\"lib/circuits/src/solidity/src/IProofVerifier.sol\":{\"keccak256\":\"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6\",\"dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm\"]},\"lib/circuits/src/solidity/src/IRootRegistry.sol\":{\"keccak256\":\"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72\",\"dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg\"]},\"lib/circuits/src/solidity/src/InputsExtractor.sol\":{\"keccak256\":\"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450\",\"dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH\"]},\"lib/circuits/src/solidity/src/StringUtils.sol\":{\"keccak256\":\"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11\",\"dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe\"]},\"lib/circuits/src/solidity/src/Types.sol\":{\"keccak256\":\"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c\",\"dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR\"]},\"lib/circuits/src/solidity/src/ZKPassportHelper.sol\":{\"keccak256\":\"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34\",\"dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5\"]},\"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol\":{\"keccak256\":\"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355\",\"dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s\"]},\"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol\":{\"keccak256\":\"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1\",\"dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"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/mock/StakingAssetHandler.sol\":{\"keccak256\":\"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a\",\"dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv\"]},\"src/shared/interfaces/IMintableERC20.sol\":{\"keccak256\":\"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d\",\"dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"struct StakingAssetHandler.StakingAssetHandlerArgs","name":"_args","type":"tuple","components":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"stakingAsset","type":"address"},{"internalType":"contract IRegistry","name":"registry","type":"address"},{"internalType":"uint256","name":"faucetAmount","type":"uint256"},{"internalType":"contract ZKPassportRootVerifier","name":"zkPassportVerifier","type":"address"},{"internalType":"address[]","name":"unhinged","type":"address[]"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"skipBindCheck","type":"bool"}]}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ExtraDiscloseDataNonZero"},{"inputs":[],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InvalidAge"},{"inputs":[{"internalType":"address","name":"_expected","type":"address"},{"internalType":"address","name":"_received","type":"address"}],"type":"error","name":"InvalidBoundAddress"},{"inputs":[{"internalType":"uint256","name":"_expected","type":"uint256"},{"internalType":"uint256","name":"_received","type":"uint256"}],"type":"error","name":"InvalidChainId"},{"inputs":[],"type":"error","name":"InvalidCountry"},{"inputs":[],"type":"error","name":"InvalidDomain"},{"inputs":[],"type":"error","name":"InvalidFaceMatch"},{"inputs":[],"type":"error","name":"InvalidProof"},{"inputs":[],"type":"error","name":"InvalidScope"},{"inputs":[],"type":"error","name":"InvalidValidityPeriod"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"type":"error","name":"SybilDetected"},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"Claimed","anonymous":false},{"inputs":[{"internalType":"string","name":"newDomain","type":"string","indexed":false}],"type":"event","name":"DomainUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"newAmount","type":"uint256","indexed":false}],"type":"event","name":"FaucetAmountUpdated","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32","indexed":false}],"type":"event","name":"NullifierReset","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"string","name":"newScope","type":"string","indexed":false}],"type":"event","name":"ScopeUpdated","anonymous":false},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool","indexed":false}],"type":"event","name":"SkipBindCheckUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedAdded","anonymous":false},{"inputs":[{"internalType":"address","name":"_address","type":"address","indexed":true}],"type":"event","name":"UnhingedRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"_verifier","type":"address","indexed":true}],"type":"event","name":"ZKPassportVerifierUpdated","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_FAUCET_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_AGE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REGISTRY","outputs":[{"internalType":"contract IRegistry","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKING_ASSET","outputs":[{"internalType":"contract IMintableERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"VALIDITY_PERIOD","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"addUnhinged"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"addressToNullifier","outputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}]},{"inputs":[{"internalType":"struct ProofVerificationParams","name":"_params","type":"tuple","components":[{"internalType":"bytes32","name":"version","type":"bytes32"},{"internalType":"struct ProofVerificationData","name":"proofVerificationData","type":"tuple","components":[{"internalType":"bytes32","name":"vkeyHash","type":"bytes32"},{"internalType":"bytes","name":"proof","type":"bytes"},{"internalType":"bytes32[]","name":"publicInputs","type":"bytes32[]"}]},{"internalType":"bytes","name":"committedInputs","type":"bytes"},{"internalType":"struct ServiceConfig","name":"serviceConfig","type":"tuple","components":[{"internalType":"uint256","name":"validityPeriodInSeconds","type":"uint256"},{"internalType":"string","name":"domain","type":"string"},{"internalType":"string","name":"scope","type":"string"},{"internalType":"bool","name":"devMode","type":"bool"}]}]}],"stateMutability":"nonpayable","type":"function","name":"claim"},{"inputs":[],"stateMutability":"view","type":"function","name":"faucetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getRollup","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"stateMutability":"view","type":"function","name":"isUnhinged","outputs":[{"internalType":"bool","name":"isUnhinged","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"nullifier","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nullifiers","outputs":[{"internalType":"bool","name":"exists","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"removeUnhinged"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"_nullifier","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"resetNullifier"},{"inputs":[{"internalType":"string","name":"_domain","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setDomain"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFaucetAmount"},{"inputs":[{"internalType":"string","name":"_scope","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setScope"},{"inputs":[{"internalType":"bool","name":"_skipBindCheck","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setSkipBindCheck"},{"inputs":[{"internalType":"address","name":"_zkPassportVerifier","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setZKPassportVerifier"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"validDomain","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"validScope","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"zkPassportVerifier","outputs":[{"internalType":"contract ZKPassportRootVerifier","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"params":{"_params":"- ZKPassport proof params (ignored for unhinged users)"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"claim((bytes32,(bytes32,bytes,bytes32[]),bytes,(uint256,string,string,bool)))":{"notice":"Claim STK tokens from the faucet"}},"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/mock/StakingAssetHandler.sol":"StakingAssetHandler"},"evmVersion":"prague","libraries":{}},"sources":{"lib/circuits/src/solidity/src/Constants.sol":{"keccak256":"0x29a25ab24727bb03f356fe124eda7970f1769130855ebf584e4225e2718927a7","urls":["bzz-raw://3dff3096a211bcd97a4dad4e459bd3c684275e3271c493191d3819bbf4326702","dweb:/ipfs/QmfLyG5f3JWRoY5sF9kkDLBDrxymQsuk9uncw65JdRa7Sp"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/DateUtils.sol":{"keccak256":"0x4176feda967f91ccf0a1cdecc75bbf7e5aaad7b46f95e133887e3ac6ae9126f6","urls":["bzz-raw://6774599f7320a37f2e5cc22e0d8e59a1f46841a6ac94d7d45b072a809237e1ab","dweb:/ipfs/QmdrX9uQKsvN9gTgCD1zd1kigvJGsgHbvabvdWaWHuSeY4"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IProofVerifier.sol":{"keccak256":"0xf8acc6ee390c406eaa8415863f156e251935f8de51bcd3c876871fbe5b5b4f14","urls":["bzz-raw://64016d156d15fd43d407e832fd7b333e07e80b42f0ed9d845a8cc114d3857aa6","dweb:/ipfs/QmP7zSvchyDqov13cyuWxLJDYBBpYZxrPEdGQcheyoJkUm"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/IRootRegistry.sol":{"keccak256":"0xc994fab81ea1202a93620e7e7a01ba1e61f055498ed5b09503f4b384d0554b2a","urls":["bzz-raw://12a19bab224c63ee4a0e3b4048c24e80b3ef5a3459070816c20f2c32b2ad5f72","dweb:/ipfs/QmW1DF8mAwBfacrG2r2R3uyY92i6q1h1hZvHPuwMdXTANg"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/InputsExtractor.sol":{"keccak256":"0xd8d08cc68a571c9efdddd90ea274c18694284d40a9f1d0a1112a4999fd6a58da","urls":["bzz-raw://000752a284d1df5c0687d32554c83e99afedab49e23d7213679ed93424760450","dweb:/ipfs/QmWrFS4ChUv4okqnEgSLiuSsxohDnTnYLWeyYviVbPTgcH"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/StringUtils.sol":{"keccak256":"0xd52eb407eef932c9a343f1225fc997b7194ff0f05c488661a7adb4a37f980306","urls":["bzz-raw://60bfaf52ebd50633d6eff5ea346d25283962495c630b37f4c0cd6008e8d8fd11","dweb:/ipfs/QmWVtJnjcaowsFUBRRQ7eNTntghZ4FekXXgeQNAV4PkDWe"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/Types.sol":{"keccak256":"0x66d73b090401a5f424e1feacf1b503dcd906163f4c749189db3dc108d6dfd668","urls":["bzz-raw://d90eff17b597915e95c01a171c4378e7e4e287d35ca25dbd3f684373e93cda0c","dweb:/ipfs/QmYe1wixU4zZAogteHT5eubcB4qzScCYzLtYFpFBitpZeR"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportHelper.sol":{"keccak256":"0xebc7d0a4b7dae4a78d38381a36cc19e04933f302cf1f0516c8f5d68128afbd16","urls":["bzz-raw://7504f8711789c76e7294dd12bf172e5226034a5a2202057180ee047939eefa34","dweb:/ipfs/QmTGuSBmYmDBWutpyTrxPxWQ7DA6kpV6kLQSwB3wMaLCN5"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportRootVerifier.sol":{"keccak256":"0x5fb7a856f66496a36e4de2ff2dca8fcce5a2c3db3adbf20910b1b20f24e6a009","urls":["bzz-raw://c2693f7a086c3ff60441a12a5d72c6a2fbd811123c03d73b0887474cbefe6355","dweb:/ipfs/QmbTgqop8Fb9nxcUveDSDgyMXzVBY1xw2u8eMxaFfVVp1s"],"license":"Apache-2.0"},"lib/circuits/src/solidity/src/ZKPassportSubVerifier.sol":{"keccak256":"0x093e93f34571a7afe3c5a42192a366397b91e9fdb6167075b9250bcfd26fe8dd","urls":["bzz-raw://981fec528fb1f8a3032b99905801658305139d82679598579b7fe8afb1b7f6a1","dweb:/ipfs/QmfZ1n1KrxcijmToULMgMccLLyLH5DVVQWJ9SrWPMTRrfw"],"license":"Apache-2.0"},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"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/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"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/mock/StakingAssetHandler.sol":{"keccak256":"0x34dea4351a502e562a7b78fdd20bd9c05e1617ef5d6fec980eb87ffde592deb3","urls":["bzz-raw://c383a8c6f4ea4f58123982d5ec498a2aa6bd674d56ed1fdda2a9cb63a5de321a","dweb:/ipfs/QmRNKajq7SMcsK6uP3R6JHW3R5QGdJnSMXK63fKey671Mv"],"license":"Apache-2.0"},"src/shared/interfaces/IMintableERC20.sol":{"keccak256":"0x792359f95fa1aac4165c353db75ddc87f44bee6c4ccc407a233dcad19d406d28","urls":["bzz-raw://b77fd327a807fdff9718e03476031d4b43c632ab3a2a2c5d0f36ceed7a547a1d","dweb:/ipfs/QmacpqXy9ZLC8XnDubj8ax7VxqXD4jmsW2uc6of6LpBjUp"],"license":"Apache-2.0"}},"version":1},"id":159}
|