diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index 8e10127..f41e3b5 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DELEGATOR_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_Vault_init","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeShares","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStakeAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimBatch","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epochs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"currentEpoch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"epochAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochStart","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"flashFee","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoan","inputs":[{"name":"receiver","type":"address","internalType":"contract IERC3156FlashBorrower"},{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxFlashLoan","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"previousEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDelegator","inputs":[{"name":"delegator_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositLimit","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositWhitelist","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEpochDuration","inputs":[{"name":"epochDuration_","type":"uint48","internalType":"uint48"},{"name":"epochDurationSetEpochsDelay_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeRate","inputs":[{"name":"flashFeeRate_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashloanEnabled","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsDepositLimit","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSlasher","inputs":[{"name":"slasher_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slashableBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalsOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Claim","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epoch","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ClaimBatch","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epochs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"onBehalfOf","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"shares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"slashedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDelegator","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDepositLimit","inputs":[{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetDepositWhitelist","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetEpochDuration","inputs":[{"name":"epochDuration","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeRate","inputs":[{"name":"flashFeeRate","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetFlashloanEnabled","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetIsDepositLimit","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSlasher","inputs":[{"name":"slasher","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Withdraw","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"burnedShares","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mintedShares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyClaimed","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","inputs":[]},{"type":"error","name":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InsufficientRedemption","inputs":[]},{"type":"error","name":"InsufficientWithdrawal","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCaptureEpoch","inputs":[]},{"type":"error","name":"InvalidClaimer","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidDelegator","inputs":[]},{"type":"error","name":"InvalidEpoch","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidNewEpochDuration","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"InvalidReceiver","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidReturnAmount","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MaxLoanExceeded","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NewEpochDurationNotReady","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooLowFlashLoanValue","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614dec38819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614d3f90816100ad82396080518181816114a4015261196a015260a051818181611e1901526123980152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105a45780631415519b1461059f5780631b66c9e11461059a5780631e9a695014610595578063248a9ca3146105905780632749f9c41461058b57806327810b6e14610586578063281f5752146105815780632d73c69c1461057c5780632f2ff15d146105775780632fa27fae1461057257806331d9736c1461056d57806336568abe14610568578063392e53cd146105635780634105a7dd1461055e578063463616711461055957806347e7ef241461055457806348d3b7751461054f5780634ff0876a1461054a57806350861adc1461054557806350f220681461054057806352741a401461053b5780635346e34f1461053657806359f769a9146105315780635a36aa741461052c5780635cc07076146105275780635cffe9de14610522578063613255ab1461051d57806361819dd81461051857806361a8c8c414610513578063653b04cd1461050e57806365d61c6c146105095780636da3e06d146105045780636e0f2455146104ff5780636ec1e3f8146104fa5780637278e31c146104f557806373790ab3146104f057806376671808146104eb578063794b15b7146104e65780637953b33b146104e15780637c04c80a146104dc578063810da75d146104d757806383cd9cc3146104d257806383f46c2c146104cd578063859b9344146104c857806387df0788146104c35780638b0e9f3f146104be57806391d14854146104b957806398ccba4a146104b45780639b4bae3e146104af5780639d66201b146104aa5780639f86fd85146104a55780639f9962dd146104a0578063a1b122021461049b578063a217fddf14610496578063a21a1df914610491578063a28614661461048c578063a3b5417214610487578063a5d0322314610482578063a66b3a731461047d578063a8b24f9a14610478578063aa9354a314610473578063aabc24961461046e578063aad3ec9614610469578063ae13539e14610464578063afba70ad1461045f578063b13442711461045a578063bba6ff4a14610455578063bc46f72214610450578063bd49c35f1461044b578063bdc8144b14610446578063bfefcd7b14610441578063c1bc6f511461043c578063c31e8dd714610437578063c4db46fc14610432578063c642b0501461042d578063cc52aee714610428578063ce9b793014610423578063d547741f1461041e578063d626811b14610419578063d8dfeb4514610414578063d9d98ce41461040f578063db3887151461040a578063e945da7f14610405578063ecc98f0514610400578063ecf70858146103fb578063efb559d6146103f6578063f3fef3a3146103f15763f5e7ee0f146103ec575f80fd5b612c1e565b612b78565b612a2d565b612a10565b6129f2565b6129d5565b61299b565b612970565b612945565b612885565b612839565b612811565b6127e9565b6127cf565b6127b2565b612744565b61271c565b612702565b612642565b612628565b6125ee565b6125d1565b6125a9565b61257f565b61254f565b61248e565b6122e5565b6122c7565b61229f565b612265565b61221f565b6121d2565b6120ed565b6120b3565b612099565b612075565b61204d565b611f80565b611f46565b611f29565b611f0c565b611eae565b611e48565b611e04565b611d78565b611ab0565b611905565b6118ec565b611886565b611868565b611828565b61180a565b6117d8565b61151d565b6114f8565b6114d3565b61148f565b61146a565b611430565b61140a565b6113d0565b6113a9565b61113f565b6110e8565b6110c0565b611099565b611012565b610f11565b610ef8565b610e92565b610e78565b610e57565b610ba7565b610b8d565b610af2565b610aad565b610a62565b610a28565b610a08565b6109ba565b61094a565b6107dc565b6107b4565b610797565b61075e565b610683565b610638565b6105fe565b346105fa5760203660031901126105fa5760043563ffffffff60e01b81168091036105fa57602090637965db0b60e01b81149081156105e9575b506040519015158152f35b6301ffc9a760e01b1490505f6105de565b5f80fd5b346105fa575f3660031901126105fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105fa575f3660031901126105fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105fa57565b346105fa5760403660031901126105fa576004356106a081610672565b602435906106ac6132b4565b6001600160a01b0381161561074d57335f908152600e602052604090206106d7906140f6565b6140f6565b821161073b576106f76106e861400e565b6106f0614082565b9084614149565b9182156107265782610708926132f6565b906107116132e3565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105fa5760203660031901126105fa576004355f525f80516020614cca8339815191526020526020600160405f200154604051908152f35b346105fa575f3660031901126105fa576020601454604051908152f35b346105fa575f3660031901126105fa576001546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576107fd6107f842613fdc565b612eb0565b801561082e575f198101908111610829576108196020916130f8565b65ffffffffffff60405191168152f35b612c48565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105fa57565b6004359065ffffffffffff821682036105fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761089957604052565b61086a565b604081019081106001600160401b0382111761089957604052565b90601f801991011681019081106001600160401b0382111761089957604052565b604051906108e78261089e565b565b6001600160401b03811161089957601f01601f191660200190565b81601f820112156105fa5780359061091b826108e9565b9261092960405194856108b9565b828452602083830101116105fa57815f926020809301838601378301015290565b346105fa5760603660031901126105fa5760043561096781610672565b61096f610840565b90604435906001600160401b0382116105fa576020926109966109b2933690600401610904565b6001600160a01b039092165f908152600e855260409020613630565b604051908152f35b346105fa5760403660031901126105fa57610a066024356004356109dd82610672565b805f525f80516020614cca833981519152602052610a01600160405f2001546138b5565b6138e1565b005b346105fa575f3660031901126105fa57602060015460d01c604051908152f35b346105fa575f3660031901126105fa5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105fa5760403660031901126105fa57602435610a7f81610672565b336001600160a01b03821603610a9b57610a069060043561397c565b60405163334bd91960e11b8152600490fd5b346105fa575f3660031901126105fa5760ff60025460a01c1680610ad9575b6020906040519015158152f35b5060035460a01c60ff16610acc565b801515036105fa57565b346105fa5760203660031901126105fa57600435610b0f81610ae8565b610b176132b4565b610b1f6136fc565b5f54901515908160ff8216151514610b7b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614cea83398151915255005b60405163a741a04560e01b8152600490fd5b346105fa575f3660031901126105fa576020610819612c98565b346105fa576040806003193601126105fa576004803591610bc783610672565b610bcf6132b4565b6001600160a01b0391838316908115610e49575f5460ff811680610e30575b610e215783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610df9575f93610dfe575b50610c43906024359030903390613a0e565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610df957610c82935f92610dcc575b5050612c6a565b938415610dbd5760081c60ff1680610da8575b610d9a57509061072291610d46610caa61400e565b95610cf3610cb6614082565b610cde610cc48a838b614149565b99610cd88a610cd242613fdc565b92612d00565b90613b62565b5050610ced89610cd242613fdc565b90613c42565b50506001600160a01b0381165f908152600e6020526040902090610d4088610d3b6106d2610d2042613fdc565b6001600160a01b039095165f908152600e6020526040902090565b612d00565b91613d1e565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d846132e3565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610db584610d3b61400e565b815410610c95565b50825163070f6eed60e11b8152fd5b610deb9250803d10610df2575b610de381836108b9565b810190612cd8565b5f80610c7b565b503d610dd9565b612ce7565b610c43919350610e1a90853d8711610df257610de381836108b9565b9290610c31565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bee565b8251630d534ce360e11b8152fd5b346105fa575f3660031901126105fa57602060ff5f54166040519015158152f35b346105fa575f3660031901126105fa576020610819612d0d565b346105fa575f3660031901126105fa57602060ff60025460a01c166040519015158152f35b9060406003198301126105fa5760043565ffffffffffff811681036105fa5791602435906001600160401b0382116105fa57610ef591600401610904565b90565b346105fa5760206109b2610f0b36610eb7565b906134a5565b346105fa5760203660031901126105fa57600435610f2e81610672565b610f366132b4565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610ff457506016546001600160a01b039182169181168214610b7b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614cea83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105fa5760203660031901126105fa5760043561102f81610ae8565b6110376132b4565b61103f613759565b5f54901515908160ff8260081c16151514610b7b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a066132e3565b346105fa5760203660031901126105fa5760206109b26004356110bb81610672565b612d53565b346105fa575f3660031901126105fa57602065ffffffffffff60135460301c16604051908152f35b346105fa5760203660031901126105fa576004355f526006602052602060405f2054604051908152f35b9181601f840112156105fa578235916001600160401b0383116105fa57602083818601950101116105fa57565b346105fa5760803660031901126105fa57600480359061115e82610672565b60243561116a81610672565b604435916064356001600160401b0381116105fa5761118c9036908301611112565b6111979491946132b4565b8115611398576111a684612dec565b82116113875761121a906111ba8386613210565b5f549095906111dc9060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610df9578c968f8f95978c988f955f9d611352575b509161124e8961126995935f98979516809a613ddc565b516323e30c8b60e01b8152998a988997889633908801612da2565b03925af18015610df9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611335575b500361132557875190815230858201908152909383918591908290819060200103915afa8015610df95785936112d9935f92610dcc575050612c6a565b036113175750806112f8575b826112ee6132e3565b5160018152602090f35b60165461131092906001600160a01b03165b90613ddc565b5f806112e5565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b61134c9150853d8711610df257610de381836108b9565b5f61129c565b5f969593919d5089611269959361137861124e938e803d10610df257610de381836108b9565b9f939597985093955050611237565b60405163347177ad60e21b81528390fd5b6040516391ba94bf60e01b81528390fd5b346105fa5760203660031901126105fa5760206109b26004356113cb81610672565b612dec565b346105fa575f3660031901126105fa5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105fa575f3660031901126105fa57602061081961142b6107f842613fdc565b6130f8565b346105fa575f3660031901126105fa5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105fa575f3660031901126105fa57602060ff60165460a01c166040519015158152f35b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57602065ffffffffffff60135416604051908152f35b346105fa575f3660031901126105fa57602060ff60035460a01c166040519015158152f35b346105fa5760403660031901126105fa57600435611539610840565b6115416132b4565b600354611556906001600160a01b03166111d0565b33036117c6576115686107f842613fdc565b9061157281612eb0565b90821515806117b5575b80156117ac575b61179a57610722937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115b561400e565b946115d06115c282612cf2565b5f52600660205260405f2090565b54908281036116b457506115e48187612d00565b83811881851002811896878061166d575b50505050505b8361163a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161162a6132e3565b6040519081529081906020820190565b5f546116689085906116579060101c6001600160a01b03166111d0565b6001546001600160a01b031661130a565b611601565b6116a993610c7b83610cd861169361168c6115c2986116a39888613eb3565b8096612c6a565b9461169d42613fdc565b92612c6a565b92612cf2565b555f808080876115f5565b91506116c8825f52600660205260405f2090565b54906116d881610d3b848a612d00565b9084821882861002821897886116f3575b50505050506115fb565b611768938361171b936117288c611723611711611759998884613eb3565b9788958584613eb3565b948592612c6a565b612c6a565b93848410611773575b610c7b90610cd861174795969761169d42613fdc565b6117536115c287612cf2565b55612c6a565b915f52600660205260405f2090565b555f808080806116e9565b9161178f610c7b91611789866117479798612c6a565b90612d00565b859450929050611731565b604051635e18d2a560e01b8152600490fd5b50828211611583565b506117bf83612c5c565b821061157c565b60405163dabc4ad960e01b8152600490fd5b346105fa575f3660031901126105fa576117f46107f842613fdc565b60018101809111610829576108196020916130f8565b346105fa575f3660031901126105fa5760206109b26107f842613fdc565b346105fa5760203660031901126105fa5760043561184581610672565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105fa5760203660031901126105fa5760206109b26107f8610855565b346105fa5760403660031901126105fa576004356118a381610672565b6024356001600160401b038082116105fa57366023830112156105fa5781600401359081116105fa573660248260051b840101116105fa5761072292602461162a930190612f9b565b346105fa5760206109b26118ff36610eb7565b9061357b565b346105fa576020806003193601126105fa57600480359061192582610672565b61192d6132b4565b60025460a01c60ff16611aa1576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91611a74575b5015611a645760405163fbfa77cf60e01b8152838516949082818581895afa928315610df9575f93611a35575b505030911603611a265750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a066132e3565b60405163b9f0f17160e01b8152fd5b611a55929350803d10611a5d575b611a4d81836108b9565b8101906130d0565b905f806119c7565b503d611a43565b506040516324e5af8d60e21b8152fd5b611a949150823d8411611a9a575b611a8c81836108b9565b8101906130bb565b5f61199a565b503d611a82565b604051631380833b60e01b8152fd5b346105fa5760403660031901126105fa57611ac9610855565b602435611ad46132b4565b611adc6137b0565b60038110611d665765ffffffffffff9182611b0260135465ffffffffffff9060601c1690565b168015159081611d50575b50611c52575b60015460d01c838083169116818111611c40571480611c35575b610b7b57611c0a611be1611bdc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b7c611b77611b6e6107f842613fdc565b600f5490612d00565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611bae61142b6107f842613fdc565b90611bd5600f54611bcf611bc460015460d01c90565b65ffffffffffff1690565b906130e5565b9116612d00565b613fdc565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c1382601055565b6040805165ffffffffffff9290921682526020820192909252a1610a066132e3565b5081600f5414611b2d565b6040516359dcfd5560e11b8152600490fd5b611c5d601154601255565b611c97611c6c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cc39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cce601454601155565b601354611d059060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d409060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d4b601054600f55565b611b13565b9050611d5e611bc442613fdc565b10155f611b0d565b6040516317a509b960e31b8152600490fd5b346105fa5760203660031901126105fa57600435611d9581610ae8565b611d9d6132b4565b611da5613807565b601654901515908160ff8260a01c16151514610b7b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a1610a066132e3565b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57611e646107f842613fdc565b611e6c61400e565b90805f52600660205260405f205482018092116108295760018101809111610829575f52600660205260405f2054810180911161082957604051908152602090f35b346105fa5760403660031901126105fa57602060ff611f00602435611ed281610672565b6004355f525f80516020614cca833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105fa575f3660031901126105fa576020601254604051908152f35b346105fa575f3660031901126105fa576020601154604051908152f35b346105fa5760203660031901126105fa57600435611f6381610672565b60018060a01b03165f52600e60205260206109b260405f206140f6565b346105fa576040806003193601126105fa57600435611f9e81610672565b6024356001600160401b0381116105fa575f8061203c93611fc56080943690600401611112565b908188519283928337810184815203915af43d156120445760203d611fe9816108e9565b90611ff6875192836108b9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108b9565b805190602001fd5b60206060611fff565b346105fa575f3660031901126105fa57602065ffffffffffff60015460a01c16604051908152f35b346105fa575f3660031901126105fa57602060ff5f5460081c166040519015158152f35b346105fa575f3660031901126105fa5760206040515f8152f35b346105fa575f3660031901126105fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105fa5760403660031901126105fa5760043561210a81610672565b60243561211681610ae8565b61211e6132b4565b61212661385e565b6001600160a01b0382169182156121c0575f8381526005602052604090205460ff16151582151514610b7b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121b5916121a3908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a066132e3565b604051630da30f6560e31b8152600490fd5b346105fa5760403660031901126105fa5760206122166024356121f481610672565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105fa5760403660031901126105fa57602060ff611f0060243561224381610672565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105fa575f3660031901126105fa5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105fa575f3660031901126105fa576016546040516001600160a01b039091168152602090f35b346105fa5760203660031901126105fa5760206108196004356130f8565b346105fa576020806003193601126105fa57600480359061230582610672565b61230d6132b4565b60035460a01c60ff1661247f576001600160a01b0382811693908461236d575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a066132e3565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91612462575b50156124515760405163fbfa77cf60e01b815282818581895afa928315610df9575f93612432575b5050309116036124235750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061232d565b604051633f3e089160e21b8152fd5b612449929350803d10611a5d57611a4d81836108b9565b905f806123f0565b60405163dabc4ad960e01b81528390fd5b6124799150833d8511611a9a57611a8c81836108b9565b5f6123c8565b60405163703fe2e560e01b8152fd5b346105fa5760403660031901126105fa576004356124ab81610672565b602435906124b76132b4565b6001600160a01b039181831690811561253d576124e8610722946124da83613f40565b9485915f5460101c16613ddc565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614cea833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105fa5760203660031901126105fa576004356001600160401b0381116105fa57610a06903690600401611112565b346105fa5760203660031901126105fa576004355f526007602052602060405f2054604051908152f35b346105fa575f3660031901126105fa576003546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576020600f54604051908152f35b346105fa575f3660031901126105fa5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105fa575f3660031901126105fa5760206109b261400e565b346105fa5760203660031901126105fa5760043561265e6132b4565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610ff457508060045414610b7b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614cea83398151915255005b346105fa575f3660031901126105fa5760206109b2614082565b346105fa575f3660031901126105fa57602065ffffffffffff60135460901c16604051908152f35b346105fa5760203660031901126105fa5760043561276181610672565b61276d6107f842613fdc565b61277682612d53565b916127818183613256565b830180931161082957600182018092116108295761279e91613256565b810180911161082957602090604051908152f35b346105fa575f3660031901126105fa576020601054604051908152f35b346105fa575f3660031901126105fa5760206109b26131d0565b346105fa575f3660031901126105fa57602065ffffffffffff60135460601c16604051908152f35b346105fa575f3660031901126105fa576002546040516001600160a01b039091168152602090f35b346105fa5760403660031901126105fa57610a0660243560043561285c82610672565b805f525f80516020614cca833981519152602052612880600160405f2001546138b5565b61397c565b346105fa5760203660031901126105fa576004356128a16132b4565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610ff457508060155414610b7b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614cea83398151915255005b346105fa575f3660031901126105fa575f5460405160109190911c6001600160a01b03168152602090f35b346105fa5760403660031901126105fa5760206109b260043561299281610672565b60243590613210565b346105fa575f3660031901126105fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105fa575f3660031901126105fa576020601554604051908152f35b346105fa575f3660031901126105fa576020604051633b9aca008152f35b346105fa575f3660031901126105fa576020600454604051908152f35b346105fa5760603660031901126105fa57600435612a4a81610672565b612a52610840565b6001600160401b0391906044358381116105fa57612a74903690600401611112565b90926040938451612a848161087e565b60608152606060208201526060868201529280612ae3575b61072286612ad48787612ace612ab58984845191612c77565b9285612ac560208501518361357b565b930151906134a5565b91614149565b90519081529081906020820190565b81019392506020818503126105fa578035908682116105fa5701926060848203126105fa57845195612b148761087e565b84358181116105fa5782612b29918701610904565b875260208501358181116105fa5782612b43918701610904565b6020880152858501359081116105fa5761072296612b6c612ace93612ab593612ad49801610904565b87820152939450612a9c565b346105fa5760403660031901126105fa57600435612b9581610672565b602435612ba06132b4565b6001600160a01b0382161561074d578015612c0c57612bcf612bc0614082565b612bc861400e565b908361458c565b335f908152600e60205260409020909290612be9906140f6565b8311612bfa576107089183916132f6565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105fa5760403660031901126105fa5760206109b2602435612c4081610672565b600435613256565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161082957565b9190820391821161082957565b6001600160a01b03165f908152600e60205260409020610ef5929190613630565b65ffffffffffff8060135460601c169081158015612cc5575b612cb9575090565b905060015460a01c1690565b508181612cd142613fdc565b1610612cb1565b908160209103126105fa575190565b6040513d5f823e3d90fd5b906001820180921161082957565b9190820180921161082957565b60135465ffffffffffff90818160601c168015908115612d3f575b50612d345760901c1690565b505060015460d01c90565b905082612d4b42613fdc565b16105f612d28565b6001600160a01b03165f908152600e60205260409020612d72906140f6565b612d7a61400e565b612d82614082565b9060018101809111610829576001820180921161082957610ef592613eb3565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612dfd9060a01c60ff161590565b612e63575f5460101c6001600160a01b0390811691168103612e63576040516370a0823160e01b815230600482015290602090829060249082905afa908115610df9575f91612e4a575090565b610ef5915060203d602011610df257610de381836108b9565b505f90565b65ffffffffffff918216908216039190821161082957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612eab57160490565b612e80565b60015465ffffffffffff808316929160a081901c821680851015612f285750506013549281841690818015918215612f1e575b5050612f0c57610ef59361178992612f01611bc49360125496612e68565b9160301c1690612e94565b60405163b7d0949760e01b8152600490fd5b109050815f612ee3565b909160135490808260601c1695868015918215612f91575b505015612f6c575050610ef5935061178991612f62611bc49260115495612e68565b9060d01c90612e94565b6117899350611bc49250612f86610ef59660145496612e68565b9160901c1690612e94565b109050865f612f40565b90612fa46132b4565b5f926001600160a01b03831692831561253d57811561304e575f5b82811061302c57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d27928692909161300f91849161300a9060101c6001600160a01b03166111d0565b613ddc565b613020604051928392339684613089565b0390a3906108e76132e3565b94613047600191611789613041898789613074565b35613f40565b9501612fbf565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b91908110156130845760051b0190565b613060565b604080825281018390529392916001600160fb1b0381116105fa5760209160609160051b809183880137850101930152565b908160209103126105fa5751610ef581610ae8565b908160209103126105fa5751610ef581610672565b8181029291811591840414171561082957565b6012548082106131be57601154808310156131395750611bdc90610ef592611bd561312d6013549365ffffffffffff93612c6a565b828460301c16906130e5565b9050601454801580156131b5575b1561317f5750610ef59165ffffffffffff61317561316b611bdc9460015494612c6a565b8360d01c906130e5565b9160a01c16612d00565b611bdc9150610ef5926131ab61319f6013549365ffffffffffff93612c6a565b828460901c16906130e5565b9160601c16612d00565b50808310613147565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c1680159182156131fb575b50506131f55760105490565b600f5490565b90915061320742613fdc565b16105f806131e9565b5f546001600160a01b039160109190911c821690821603613244576016541661323857505f90565b601554610ef591613e35565b60405163350b944160e11b8152600490fd5b9061327c90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610829576001820180921161082957610ef592613eb3565b5f80516020614cea83398151915260028154146132d15760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614cea83398151915255565b335f908152600e602052604090209392919061331142613fdc565b335f908152600e60205260409020613328906140f6565b91848303928311610829576133637febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936133f299613d1e565b505061337d61337142613fdc565b610ced87611723614082565b505061339761338b42613fdc565b610cd88461172361400e565b50506134408161342b6133b46133af6107f842613fdc565b612cf2565b61340a6133c9825f52600660205260405f2090565b546133dc835f52600760205260405f2090565b546133e882828b614149565b9d8e998a93612d00565b613404855f52600660205260405f2090565b55612d00565b61341c825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61344b838254612d00565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105fa575163ffffffff811681036105fa5790565b90600163ffffffff8093160191821161082957565b9080511561357157806020806134c093518301019101613474565b6134c9816143ba565b906134da825165ffffffffffff1690565b9065ffffffffffff80851692168281146135655782119182613510575b50506135075750610ef59061416a565b60209150015190565b90915061351e600a54612c5c565b63ffffffff831614918215613537575b50505f806134f7565b61355d91925061355161354c611bc492613490565b6143ba565b5165ffffffffffff1690565b115f8061352e565b50505060209150015190565b50610ef59061416a565b90805115613626578060208061359693518301019101613474565b61359f81614444565b906135b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461356557821191826135dd575b50506135075750610ef590614231565b9091506135eb600c54612c5c565b63ffffffff831614918215613604575b50505f806135cd565b61361e919250613551613619611bc492613490565b614444565b115f806135fb565b50610ef590614231565b918051156136f2578060208061364b93518301019101613474565b9161365683826144c4565b92613667845165ffffffffffff1690565b9065ffffffffffff80851692168281146136e6578211918261369d575b505061369457610ef592506142f1565b50506020015190565b9091506136aa8354612c5c565b63ffffffff8316149182156136c3575b50505f80613684565b6136de9192506135516136d8611bc492613490565b856144c4565b115f806136ba565b50505050506020015190565b50610ef5916142f1565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610ff45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061374f565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff9061374f565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff9061374f565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061374f565b5f8181525f80516020614cca83398151915260209081526040808320338452909152902060ff9061374f565b5f8181525f80516020614cca833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613975575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614cca833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613975575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610899576108e792604052614532565b600b5481101561308457600b5f525f80516020614caa83398151915201905f90565b600d5481101561308457600d5f525f80516020614c8a83398151915201905f90565b8054821015613084575f5260205f2001905f90565b600d54600160401b811015610899576001810180600d5581101561308457600d5f525f80516020614c8a8339815191520155565b600b54600160401b811015610899576001810180600b5581101561308457600b5f525f80516020614caa8339815191520155565b90815491600160401b8310156108995782613b4a9160016108e795018155613aaa565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613c0d575b50613b7a6145c5565b50929091815492613b8961400e565b9481613bf8575b5015613bd557505f1982018281116108295781541115613084575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613be9926001600160d01b031691506147c1565b5050613bf483613abf565b9190565b65ffffffffffff83811691161490505f613b90565b600160401b8110156108995760018101808455811015613084575f908382525f80516020614c8a83398151915201555f613b71565b919091600b9081548015613ce9575b50613c5a61461a565b50929091815492613c69614082565b9481613cd4575b5015613cb557505f1982018281116108295781541115613084575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613cc9926001600160d01b03169150614891565b5050613bf483613af3565b65ffffffffffff83811691161490505f613c70565b600160401b8110156108995760018101808455811015613084575f908382525f80516020614caa83398151915201555f613c51565b90929192600182019081548015613dac575b5084613d3b8461466f565b50949092845493613d4b836140f6565b9681613d97575b5015613d74575050505f19810190811161082957613b4a8591613bf493613aaa565b613bf4949293613d90926001600160d01b039091169190614930565b5050613b27565b65ffffffffffff83811691161490505f613d52565b600160401b81101561089957806001613dc89201845583613aaa565b8154905f199060031b1b191690555f613d30565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610899576108e792604052614532565b8115612eab570490565b90808202905f1981840990828083109203918083039214613ea657633b9aca009082821115613e94577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f335784831115613f265790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186146a8565b505090610ef59250613e2b565b90613f4d6107f842613fdc565b8210156131be5760ff613f7d613f6b845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613fca57613f8d3383613256565b918215613fb857613fab9061342b33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613fef571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061404957505f5b6001600160d01b03811615612e6357600d5481101561308457600d5f525f80516020614c8a833981519152015490565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c614019565b600a54806140bd57505f5b6001600160d01b03811615612e6357600b5481101561308457600b5f525f80516020614caa833981519152015490565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61408d565b80548061412b57505f5b6001600160d01b0381161561412557600161411b9201613aaa565b90549060031b1c90565b50505f90565b5f1990808281011161082957825f5260205f2001015460301c614100565b919060018101809111610829576001820180921161082957610ef592613eb3565b600a54905f8291600584116141d8575b6141849350614b15565b806141a757505f5b6001600160d01b03811615612e635761411b610ef591613a66565b6141cc6141b66141d392612c5c565b600a5f525f80516020614c6a8339815191520190565b5460301c90565b61418c565b91926141e3816149ea565b81039081116108295761418493600a5f5265ffffffffffff80835f80516020614c6a833981519152015416908516105f1461421f57509161417a565b92915061422b90612cf2565b9061417a565b600c54905f829160058411614298575b61424b9350614b7e565b8061426e57505f5b6001600160d01b03811615612e635761411b610ef591613a88565b6141cc61427d61429392612c5c565b600c5f525f80516020614c4a8339815191520190565b614253565b91926142a3816149ea565b81039081116108295761424b93600c5f5265ffffffffffff80835f80516020614c4a833981519152015416908516105f146142df575091614241565b9291506142eb90612cf2565b90614241565b908154905f829160058411614354575b61430c935084614be7565b8061433457505f905b6001600160d01b0382161561412557610ef591600161411b9201613aaa565b6141cc61434361434e92612c5c565b835f5260205f200190565b90614315565b919261435f816149ea565b81039081116108295761430c93855f5265ffffffffffff808360205f20015416908516105f14614390575091614301565b92915061439c90612cf2565b90614301565b604051906143af8261089e565b5f6020838281520152565b6143c26143a2565b506143cb6143a2565b50600a5481101561308457600a5f526020604051916143e98361089e565b5f80516020614c6a83398151915201549165ffffffffffff83169283825260301c9182910152600b5481101561308457600b5f525f80516020614caa83398151915201546040519161443a8361089e565b8252602082015290565b61444c6143a2565b506144556143a2565b50600c5481101561308457600c5f526020604051916144738361089e565b5f80516020614c4a83398151915201549165ffffffffffff83169283825260301c9182910152600d5481101561308457600d5f525f80516020614c8a83398151915201546040519161443a8361089e565b90602060016144e8614514936144d86143a2565b506144e16143a2565b5085613aaa565b5093604051946144f78661089e565b549465ffffffffffff86169586825260301c938491015201613aaa565b905490604051926145248461089e565b835260031b1c602082015290565b905f602091828151910182855af115612ce7575f513d61458357506001600160a01b0381163b155b6145615750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561455a565b9190600181018091116108295760018201809211610829576145af828285613eb3565b928215612eab5709151581018091116108295790565b600c54806145d657505f905f905f90565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061462b57505f905f905f90565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806146805750505f905f905f90565b5f19918183810111610829575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610899576001820180600c5582101561308457600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c4a83398151915290910155565b600a5490600160401b821015610899576001820180600a5582101561308457600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c6a83398151915290910155565b8054600160401b8110156108995761478391600182018155613aaa565b6147ae57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156148685761427d6147d991612c5c565b9081549165ffffffffffff908184169183168083116148565786920361481e5761481792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506148519061483d61482f6108da565b65ffffffffffff9092168252565b6001600160d01b03851660208201526146b8565b614817565b604051632520601d60e01b8152600490fd5b5061488c9061487861482f6108da565b6001600160d01b03841660208201526146b8565b5f9190565b600a54919291801561490c576141b66148a991612c5c565b9081549165ffffffffffff90818416918316808311614856578692036148e75761481792509065ffffffffffff82549181199060301b169116179055565b5050614851906148f861482f6108da565b6001600160d01b038516602082015261470f565b5061488c9061491c61482f6108da565b6001600160d01b038416602082015261470f565b805492939280156149c55761494761495291612c5c565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161485657879303614991575061481792509065ffffffffffff82549181199060301b169116179055565b915050614851916149b16149a36108da565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614766565b509061488c916149d66149a36108da565b6001600160d01b0385166020830152614766565b6001811115610ef557600181600160801b811015614b03575b614aab614aa1614a97614a8d614a83614a79614ab797600488600160401b614ab29a1015614af6575b640100000000811015614ae9575b62010000811015614adc575b610100811015614ad0575b6010811015614ac4575b1015614abc575b60030260011c614a72818b613e2b565b0160011c90565b614a72818a613e2b565b614a728189613e2b565b614a728188613e2b565b614a728187613e2b565b614a728186613e2b565b8093613e2b565b821190565b900390565b60011b614a62565b811c9160021b91614a5b565b60081c91811b91614a51565b60101c9160081b91614a46565b60201c9160101b91614a3a565b60401c9160201b91614a2c565b50600160401b9050608082901c614a03565b905b828110614b2357505090565b9091808216906001818418811c830180931161082957600a5f5265ffffffffffff80845f80516020614c6a833981519152015416908616105f14614b6b575050915b90614b17565b9093925081018091116108295790614b65565b905b828110614b8c57505090565b9091808216906001818418811c830180931161082957600c5f5265ffffffffffff80845f80516020614c4a833981519152015416908616105f14614bd4575050915b90614b80565b9093925081018091116108295790614bce565b91905b838210614bf75750505090565b909192808316906001818518811c830180931161082957855f5265ffffffffffff808460205f20015416908516105f14614c36575050925b9190614bea565b9094935081018091116108295791614c2f56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122043efa6c6f5254f6085ff6b05ed44ecdfbd83fe049c6a052e5989dccd273a1f9864736f6c63430008190033","sourceMap":"1252:21240:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21240;;;;;;;;1785:36;1252:21240;;;;;;;;;;1831:32;1252:21240;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;;;-1:-1:-1;1252:21240:107;;;;;-1:-1:-1;1252:21240:107;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105a45780631415519b1461059f5780631b66c9e11461059a5780631e9a695014610595578063248a9ca3146105905780632749f9c41461058b57806327810b6e14610586578063281f5752146105815780632d73c69c1461057c5780632f2ff15d146105775780632fa27fae1461057257806331d9736c1461056d57806336568abe14610568578063392e53cd146105635780634105a7dd1461055e578063463616711461055957806347e7ef241461055457806348d3b7751461054f5780634ff0876a1461054a57806350861adc1461054557806350f220681461054057806352741a401461053b5780635346e34f1461053657806359f769a9146105315780635a36aa741461052c5780635cc07076146105275780635cffe9de14610522578063613255ab1461051d57806361819dd81461051857806361a8c8c414610513578063653b04cd1461050e57806365d61c6c146105095780636da3e06d146105045780636e0f2455146104ff5780636ec1e3f8146104fa5780637278e31c146104f557806373790ab3146104f057806376671808146104eb578063794b15b7146104e65780637953b33b146104e15780637c04c80a146104dc578063810da75d146104d757806383cd9cc3146104d257806383f46c2c146104cd578063859b9344146104c857806387df0788146104c35780638b0e9f3f146104be57806391d14854146104b957806398ccba4a146104b45780639b4bae3e146104af5780639d66201b146104aa5780639f86fd85146104a55780639f9962dd146104a0578063a1b122021461049b578063a217fddf14610496578063a21a1df914610491578063a28614661461048c578063a3b5417214610487578063a5d0322314610482578063a66b3a731461047d578063a8b24f9a14610478578063aa9354a314610473578063aabc24961461046e578063aad3ec9614610469578063ae13539e14610464578063afba70ad1461045f578063b13442711461045a578063bba6ff4a14610455578063bc46f72214610450578063bd49c35f1461044b578063bdc8144b14610446578063bfefcd7b14610441578063c1bc6f511461043c578063c31e8dd714610437578063c4db46fc14610432578063c642b0501461042d578063cc52aee714610428578063ce9b793014610423578063d547741f1461041e578063d626811b14610419578063d8dfeb4514610414578063d9d98ce41461040f578063db3887151461040a578063e945da7f14610405578063ecc98f0514610400578063ecf70858146103fb578063efb559d6146103f6578063f3fef3a3146103f15763f5e7ee0f146103ec575f80fd5b612c1e565b612b78565b612a2d565b612a10565b6129f2565b6129d5565b61299b565b612970565b612945565b612885565b612839565b612811565b6127e9565b6127cf565b6127b2565b612744565b61271c565b612702565b612642565b612628565b6125ee565b6125d1565b6125a9565b61257f565b61254f565b61248e565b6122e5565b6122c7565b61229f565b612265565b61221f565b6121d2565b6120ed565b6120b3565b612099565b612075565b61204d565b611f80565b611f46565b611f29565b611f0c565b611eae565b611e48565b611e04565b611d78565b611ab0565b611905565b6118ec565b611886565b611868565b611828565b61180a565b6117d8565b61151d565b6114f8565b6114d3565b61148f565b61146a565b611430565b61140a565b6113d0565b6113a9565b61113f565b6110e8565b6110c0565b611099565b611012565b610f11565b610ef8565b610e92565b610e78565b610e57565b610ba7565b610b8d565b610af2565b610aad565b610a62565b610a28565b610a08565b6109ba565b61094a565b6107dc565b6107b4565b610797565b61075e565b610683565b610638565b6105fe565b346105fa5760203660031901126105fa5760043563ffffffff60e01b81168091036105fa57602090637965db0b60e01b81149081156105e9575b506040519015158152f35b6301ffc9a760e01b1490505f6105de565b5f80fd5b346105fa575f3660031901126105fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105fa575f3660031901126105fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105fa57565b346105fa5760403660031901126105fa576004356106a081610672565b602435906106ac6132b4565b6001600160a01b0381161561074d57335f908152600e602052604090206106d7906140f6565b6140f6565b821161073b576106f76106e861400e565b6106f0614082565b9084614149565b9182156107265782610708926132f6565b906107116132e3565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105fa5760203660031901126105fa576004355f525f80516020614cca8339815191526020526020600160405f200154604051908152f35b346105fa575f3660031901126105fa576020601454604051908152f35b346105fa575f3660031901126105fa576001546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576107fd6107f842613fdc565b612eb0565b801561082e575f198101908111610829576108196020916130f8565b65ffffffffffff60405191168152f35b612c48565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105fa57565b6004359065ffffffffffff821682036105fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761089957604052565b61086a565b604081019081106001600160401b0382111761089957604052565b90601f801991011681019081106001600160401b0382111761089957604052565b604051906108e78261089e565b565b6001600160401b03811161089957601f01601f191660200190565b81601f820112156105fa5780359061091b826108e9565b9261092960405194856108b9565b828452602083830101116105fa57815f926020809301838601378301015290565b346105fa5760603660031901126105fa5760043561096781610672565b61096f610840565b90604435906001600160401b0382116105fa576020926109966109b2933690600401610904565b6001600160a01b039092165f908152600e855260409020613630565b604051908152f35b346105fa5760403660031901126105fa57610a066024356004356109dd82610672565b805f525f80516020614cca833981519152602052610a01600160405f2001546138b5565b6138e1565b005b346105fa575f3660031901126105fa57602060015460d01c604051908152f35b346105fa575f3660031901126105fa5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105fa5760403660031901126105fa57602435610a7f81610672565b336001600160a01b03821603610a9b57610a069060043561397c565b60405163334bd91960e11b8152600490fd5b346105fa575f3660031901126105fa5760ff60025460a01c1680610ad9575b6020906040519015158152f35b5060035460a01c60ff16610acc565b801515036105fa57565b346105fa5760203660031901126105fa57600435610b0f81610ae8565b610b176132b4565b610b1f6136fc565b5f54901515908160ff8216151514610b7b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614cea83398151915255005b60405163a741a04560e01b8152600490fd5b346105fa575f3660031901126105fa576020610819612c98565b346105fa576040806003193601126105fa576004803591610bc783610672565b610bcf6132b4565b6001600160a01b0391838316908115610e49575f5460ff811680610e30575b610e215783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610df9575f93610dfe575b50610c43906024359030903390613a0e565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610df957610c82935f92610dcc575b5050612c6a565b938415610dbd5760081c60ff1680610da8575b610d9a57509061072291610d46610caa61400e565b95610cf3610cb6614082565b610cde610cc48a838b614149565b99610cd88a610cd242613fdc565b92612d00565b90613b62565b5050610ced89610cd242613fdc565b90613c42565b50506001600160a01b0381165f908152600e6020526040902090610d4088610d3b6106d2610d2042613fdc565b6001600160a01b039095165f908152600e6020526040902090565b612d00565b91613d1e565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d846132e3565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610db584610d3b61400e565b815410610c95565b50825163070f6eed60e11b8152fd5b610deb9250803d10610df2575b610de381836108b9565b810190612cd8565b5f80610c7b565b503d610dd9565b612ce7565b610c43919350610e1a90853d8711610df257610de381836108b9565b9290610c31565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bee565b8251630d534ce360e11b8152fd5b346105fa575f3660031901126105fa57602060ff5f54166040519015158152f35b346105fa575f3660031901126105fa576020610819612d0d565b346105fa575f3660031901126105fa57602060ff60025460a01c166040519015158152f35b9060406003198301126105fa5760043565ffffffffffff811681036105fa5791602435906001600160401b0382116105fa57610ef591600401610904565b90565b346105fa5760206109b2610f0b36610eb7565b906134a5565b346105fa5760203660031901126105fa57600435610f2e81610672565b610f366132b4565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610ff457506016546001600160a01b039182169181168214610b7b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614cea83398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105fa5760203660031901126105fa5760043561102f81610ae8565b6110376132b4565b61103f613759565b5f54901515908160ff8260081c16151514610b7b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a066132e3565b346105fa5760203660031901126105fa5760206109b26004356110bb81610672565b612d53565b346105fa575f3660031901126105fa57602065ffffffffffff60135460301c16604051908152f35b346105fa5760203660031901126105fa576004355f526006602052602060405f2054604051908152f35b9181601f840112156105fa578235916001600160401b0383116105fa57602083818601950101116105fa57565b346105fa5760803660031901126105fa57600480359061115e82610672565b60243561116a81610672565b604435916064356001600160401b0381116105fa5761118c9036908301611112565b6111979491946132b4565b8115611398576111a684612dec565b82116113875761121a906111ba8386613210565b5f549095906111dc9060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610df9578c968f8f95978c988f955f9d611352575b509161124e8961126995935f98979516809a613ddc565b516323e30c8b60e01b8152998a988997889633908801612da2565b03925af18015610df9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611335575b500361132557875190815230858201908152909383918591908290819060200103915afa8015610df95785936112d9935f92610dcc575050612c6a565b036113175750806112f8575b826112ee6132e3565b5160018152602090f35b60165461131092906001600160a01b03165b90613ddc565b5f806112e5565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b61134c9150853d8711610df257610de381836108b9565b5f61129c565b5f969593919d5089611269959361137861124e938e803d10610df257610de381836108b9565b9f939597985093955050611237565b60405163347177ad60e21b81528390fd5b6040516391ba94bf60e01b81528390fd5b346105fa5760203660031901126105fa5760206109b26004356113cb81610672565b612dec565b346105fa575f3660031901126105fa5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105fa575f3660031901126105fa57602061081961142b6107f842613fdc565b6130f8565b346105fa575f3660031901126105fa5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105fa575f3660031901126105fa57602060ff60165460a01c166040519015158152f35b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57602065ffffffffffff60135416604051908152f35b346105fa575f3660031901126105fa57602060ff60035460a01c166040519015158152f35b346105fa5760403660031901126105fa57600435611539610840565b6115416132b4565b600354611556906001600160a01b03166111d0565b33036117c6576115686107f842613fdc565b9061157281612eb0565b90821515806117b5575b80156117ac575b61179a57610722937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115b561400e565b946115d06115c282612cf2565b5f52600660205260405f2090565b54908281036116b457506115e48187612d00565b83811881851002811896878061166d575b50505050505b8361163a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161162a6132e3565b6040519081529081906020820190565b5f546116689085906116579060101c6001600160a01b03166111d0565b6001546001600160a01b031661130a565b611601565b6116a993610c7b83610cd861169361168c6115c2986116a39888613eb3565b8096612c6a565b9461169d42613fdc565b92612c6a565b92612cf2565b555f808080876115f5565b91506116c8825f52600660205260405f2090565b54906116d881610d3b848a612d00565b9084821882861002821897886116f3575b50505050506115fb565b611768938361171b936117288c611723611711611759998884613eb3565b9788958584613eb3565b948592612c6a565b612c6a565b93848410611773575b610c7b90610cd861174795969761169d42613fdc565b6117536115c287612cf2565b55612c6a565b915f52600660205260405f2090565b555f808080806116e9565b9161178f610c7b91611789866117479798612c6a565b90612d00565b859450929050611731565b604051635e18d2a560e01b8152600490fd5b50828211611583565b506117bf83612c5c565b821061157c565b60405163dabc4ad960e01b8152600490fd5b346105fa575f3660031901126105fa576117f46107f842613fdc565b60018101809111610829576108196020916130f8565b346105fa575f3660031901126105fa5760206109b26107f842613fdc565b346105fa5760203660031901126105fa5760043561184581610672565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105fa5760203660031901126105fa5760206109b26107f8610855565b346105fa5760403660031901126105fa576004356118a381610672565b6024356001600160401b038082116105fa57366023830112156105fa5781600401359081116105fa573660248260051b840101116105fa5761072292602461162a930190612f9b565b346105fa5760206109b26118ff36610eb7565b9061357b565b346105fa576020806003193601126105fa57600480359061192582610672565b61192d6132b4565b60025460a01c60ff16611aa1576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91611a74575b5015611a645760405163fbfa77cf60e01b8152838516949082818581895afa928315610df9575f93611a35575b505030911603611a265750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a066132e3565b60405163b9f0f17160e01b8152fd5b611a55929350803d10611a5d575b611a4d81836108b9565b8101906130d0565b905f806119c7565b503d611a43565b506040516324e5af8d60e21b8152fd5b611a949150823d8411611a9a575b611a8c81836108b9565b8101906130bb565b5f61199a565b503d611a82565b604051631380833b60e01b8152fd5b346105fa5760403660031901126105fa57611ac9610855565b602435611ad46132b4565b611adc6137b0565b60038110611d665765ffffffffffff9182611b0260135465ffffffffffff9060601c1690565b168015159081611d50575b50611c52575b60015460d01c838083169116818111611c40571480611c35575b610b7b57611c0a611be1611bdc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b7c611b77611b6e6107f842613fdc565b600f5490612d00565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611bae61142b6107f842613fdc565b90611bd5600f54611bcf611bc460015460d01c90565b65ffffffffffff1690565b906130e5565b9116612d00565b613fdc565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c1382601055565b6040805165ffffffffffff9290921682526020820192909252a1610a066132e3565b5081600f5414611b2d565b6040516359dcfd5560e11b8152600490fd5b611c5d601154601255565b611c97611c6c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cc39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cce601454601155565b601354611d059060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d409060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d4b601054600f55565b611b13565b9050611d5e611bc442613fdc565b10155f611b0d565b6040516317a509b960e31b8152600490fd5b346105fa5760203660031901126105fa57600435611d9581610ae8565b611d9d6132b4565b611da5613807565b601654901515908160ff8260a01c16151514610b7b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a1610a066132e3565b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57611e646107f842613fdc565b611e6c61400e565b90805f52600660205260405f205482018092116108295760018101809111610829575f52600660205260405f2054810180911161082957604051908152602090f35b346105fa5760403660031901126105fa57602060ff611f00602435611ed281610672565b6004355f525f80516020614cca833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105fa575f3660031901126105fa576020601254604051908152f35b346105fa575f3660031901126105fa576020601154604051908152f35b346105fa5760203660031901126105fa57600435611f6381610672565b60018060a01b03165f52600e60205260206109b260405f206140f6565b346105fa576040806003193601126105fa57600435611f9e81610672565b6024356001600160401b0381116105fa575f8061203c93611fc56080943690600401611112565b908188519283928337810184815203915af43d156120445760203d611fe9816108e9565b90611ff6875192836108b9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108b9565b805190602001fd5b60206060611fff565b346105fa575f3660031901126105fa57602065ffffffffffff60015460a01c16604051908152f35b346105fa575f3660031901126105fa57602060ff5f5460081c166040519015158152f35b346105fa575f3660031901126105fa5760206040515f8152f35b346105fa575f3660031901126105fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105fa5760403660031901126105fa5760043561210a81610672565b60243561211681610ae8565b61211e6132b4565b61212661385e565b6001600160a01b0382169182156121c0575f8381526005602052604090205460ff16151582151514610b7b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121b5916121a3908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a066132e3565b604051630da30f6560e31b8152600490fd5b346105fa5760403660031901126105fa5760206122166024356121f481610672565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105fa5760403660031901126105fa57602060ff611f0060243561224381610672565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105fa575f3660031901126105fa5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105fa575f3660031901126105fa576016546040516001600160a01b039091168152602090f35b346105fa5760203660031901126105fa5760206108196004356130f8565b346105fa576020806003193601126105fa57600480359061230582610672565b61230d6132b4565b60035460a01c60ff1661247f576001600160a01b0382811693908461236d575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a066132e3565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91612462575b50156124515760405163fbfa77cf60e01b815282818581895afa928315610df9575f93612432575b5050309116036124235750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061232d565b604051633f3e089160e21b8152fd5b612449929350803d10611a5d57611a4d81836108b9565b905f806123f0565b60405163dabc4ad960e01b81528390fd5b6124799150833d8511611a9a57611a8c81836108b9565b5f6123c8565b60405163703fe2e560e01b8152fd5b346105fa5760403660031901126105fa576004356124ab81610672565b602435906124b76132b4565b6001600160a01b039181831690811561253d576124e8610722946124da83613f40565b9485915f5460101c16613ddc565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614cea833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105fa5760203660031901126105fa576004356001600160401b0381116105fa57610a06903690600401611112565b346105fa5760203660031901126105fa576004355f526007602052602060405f2054604051908152f35b346105fa575f3660031901126105fa576003546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576020600f54604051908152f35b346105fa575f3660031901126105fa5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105fa575f3660031901126105fa5760206109b261400e565b346105fa5760203660031901126105fa5760043561265e6132b4565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610ff457508060045414610b7b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614cea83398151915255005b346105fa575f3660031901126105fa5760206109b2614082565b346105fa575f3660031901126105fa57602065ffffffffffff60135460901c16604051908152f35b346105fa5760203660031901126105fa5760043561276181610672565b61276d6107f842613fdc565b61277682612d53565b916127818183613256565b830180931161082957600182018092116108295761279e91613256565b810180911161082957602090604051908152f35b346105fa575f3660031901126105fa576020601054604051908152f35b346105fa575f3660031901126105fa5760206109b26131d0565b346105fa575f3660031901126105fa57602065ffffffffffff60135460601c16604051908152f35b346105fa575f3660031901126105fa576002546040516001600160a01b039091168152602090f35b346105fa5760403660031901126105fa57610a0660243560043561285c82610672565b805f525f80516020614cca833981519152602052612880600160405f2001546138b5565b61397c565b346105fa5760203660031901126105fa576004356128a16132b4565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610ff457508060155414610b7b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614cea83398151915255005b346105fa575f3660031901126105fa575f5460405160109190911c6001600160a01b03168152602090f35b346105fa5760403660031901126105fa5760206109b260043561299281610672565b60243590613210565b346105fa575f3660031901126105fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105fa575f3660031901126105fa576020601554604051908152f35b346105fa575f3660031901126105fa576020604051633b9aca008152f35b346105fa575f3660031901126105fa576020600454604051908152f35b346105fa5760603660031901126105fa57600435612a4a81610672565b612a52610840565b6001600160401b0391906044358381116105fa57612a74903690600401611112565b90926040938451612a848161087e565b60608152606060208201526060868201529280612ae3575b61072286612ad48787612ace612ab58984845191612c77565b9285612ac560208501518361357b565b930151906134a5565b91614149565b90519081529081906020820190565b81019392506020818503126105fa578035908682116105fa5701926060848203126105fa57845195612b148761087e565b84358181116105fa5782612b29918701610904565b875260208501358181116105fa5782612b43918701610904565b6020880152858501359081116105fa5761072296612b6c612ace93612ab593612ad49801610904565b87820152939450612a9c565b346105fa5760403660031901126105fa57600435612b9581610672565b602435612ba06132b4565b6001600160a01b0382161561074d578015612c0c57612bcf612bc0614082565b612bc861400e565b908361458c565b335f908152600e60205260409020909290612be9906140f6565b8311612bfa576107089183916132f6565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105fa5760403660031901126105fa5760206109b2602435612c4081610672565b600435613256565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161082957565b9190820391821161082957565b6001600160a01b03165f908152600e60205260409020610ef5929190613630565b65ffffffffffff8060135460601c169081158015612cc5575b612cb9575090565b905060015460a01c1690565b508181612cd142613fdc565b1610612cb1565b908160209103126105fa575190565b6040513d5f823e3d90fd5b906001820180921161082957565b9190820180921161082957565b60135465ffffffffffff90818160601c168015908115612d3f575b50612d345760901c1690565b505060015460d01c90565b905082612d4b42613fdc565b16105f612d28565b6001600160a01b03165f908152600e60205260409020612d72906140f6565b612d7a61400e565b612d82614082565b9060018101809111610829576001820180921161082957610ef592613eb3565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612dfd9060a01c60ff161590565b612e63575f5460101c6001600160a01b0390811691168103612e63576040516370a0823160e01b815230600482015290602090829060249082905afa908115610df9575f91612e4a575090565b610ef5915060203d602011610df257610de381836108b9565b505f90565b65ffffffffffff918216908216039190821161082957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612eab57160490565b612e80565b60015465ffffffffffff808316929160a081901c821680851015612f285750506013549281841690818015918215612f1e575b5050612f0c57610ef59361178992612f01611bc49360125496612e68565b9160301c1690612e94565b60405163b7d0949760e01b8152600490fd5b109050815f612ee3565b909160135490808260601c1695868015918215612f91575b505015612f6c575050610ef5935061178991612f62611bc49260115495612e68565b9060d01c90612e94565b6117899350611bc49250612f86610ef59660145496612e68565b9160901c1690612e94565b109050865f612f40565b90612fa46132b4565b5f926001600160a01b03831692831561253d57811561304e575f5b82811061302c57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d27928692909161300f91849161300a9060101c6001600160a01b03166111d0565b613ddc565b613020604051928392339684613089565b0390a3906108e76132e3565b94613047600191611789613041898789613074565b35613f40565b9501612fbf565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b91908110156130845760051b0190565b613060565b604080825281018390529392916001600160fb1b0381116105fa5760209160609160051b809183880137850101930152565b908160209103126105fa5751610ef581610ae8565b908160209103126105fa5751610ef581610672565b8181029291811591840414171561082957565b6012548082106131be57601154808310156131395750611bdc90610ef592611bd561312d6013549365ffffffffffff93612c6a565b828460301c16906130e5565b9050601454801580156131b5575b1561317f5750610ef59165ffffffffffff61317561316b611bdc9460015494612c6a565b8360d01c906130e5565b9160a01c16612d00565b611bdc9150610ef5926131ab61319f6013549365ffffffffffff93612c6a565b828460901c16906130e5565b9160601c16612d00565b50808310613147565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c1680159182156131fb575b50506131f55760105490565b600f5490565b90915061320742613fdc565b16105f806131e9565b5f546001600160a01b039160109190911c821690821603613244576016541661323857505f90565b601554610ef591613e35565b60405163350b944160e11b8152600490fd5b9061327c90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610829576001820180921161082957610ef592613eb3565b5f80516020614cea83398151915260028154146132d15760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614cea83398151915255565b335f908152600e602052604090209392919061331142613fdc565b335f908152600e60205260409020613328906140f6565b91848303928311610829576133637febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936133f299613d1e565b505061337d61337142613fdc565b610ced87611723614082565b505061339761338b42613fdc565b610cd88461172361400e565b50506134408161342b6133b46133af6107f842613fdc565b612cf2565b61340a6133c9825f52600660205260405f2090565b546133dc835f52600760205260405f2090565b546133e882828b614149565b9d8e998a93612d00565b613404855f52600660205260405f2090565b55612d00565b61341c825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61344b838254612d00565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105fa575163ffffffff811681036105fa5790565b90600163ffffffff8093160191821161082957565b9080511561357157806020806134c093518301019101613474565b6134c9816143ba565b906134da825165ffffffffffff1690565b9065ffffffffffff80851692168281146135655782119182613510575b50506135075750610ef59061416a565b60209150015190565b90915061351e600a54612c5c565b63ffffffff831614918215613537575b50505f806134f7565b61355d91925061355161354c611bc492613490565b6143ba565b5165ffffffffffff1690565b115f8061352e565b50505060209150015190565b50610ef59061416a565b90805115613626578060208061359693518301019101613474565b61359f81614444565b906135b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461356557821191826135dd575b50506135075750610ef590614231565b9091506135eb600c54612c5c565b63ffffffff831614918215613604575b50505f806135cd565b61361e919250613551613619611bc492613490565b614444565b115f806135fb565b50610ef590614231565b918051156136f2578060208061364b93518301019101613474565b9161365683826144c4565b92613667845165ffffffffffff1690565b9065ffffffffffff80851692168281146136e6578211918261369d575b505061369457610ef592506142f1565b50506020015190565b9091506136aa8354612c5c565b63ffffffff8316149182156136c3575b50505f80613684565b6136de9192506135516136d8611bc492613490565b856144c4565b115f806136ba565b50505050506020015190565b50610ef5916142f1565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610ff45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061374f565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff9061374f565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff9061374f565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061374f565b5f8181525f80516020614cca83398151915260209081526040808320338452909152902060ff9061374f565b5f8181525f80516020614cca833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613975575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614cca833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613975575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610899576108e792604052614532565b600b5481101561308457600b5f525f80516020614caa83398151915201905f90565b600d5481101561308457600d5f525f80516020614c8a83398151915201905f90565b8054821015613084575f5260205f2001905f90565b600d54600160401b811015610899576001810180600d5581101561308457600d5f525f80516020614c8a8339815191520155565b600b54600160401b811015610899576001810180600b5581101561308457600b5f525f80516020614caa8339815191520155565b90815491600160401b8310156108995782613b4a9160016108e795018155613aaa565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613c0d575b50613b7a6145c5565b50929091815492613b8961400e565b9481613bf8575b5015613bd557505f1982018281116108295781541115613084575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613be9926001600160d01b031691506147c1565b5050613bf483613abf565b9190565b65ffffffffffff83811691161490505f613b90565b600160401b8110156108995760018101808455811015613084575f908382525f80516020614c8a83398151915201555f613b71565b919091600b9081548015613ce9575b50613c5a61461a565b50929091815492613c69614082565b9481613cd4575b5015613cb557505f1982018281116108295781541115613084575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613cc9926001600160d01b03169150614891565b5050613bf483613af3565b65ffffffffffff83811691161490505f613c70565b600160401b8110156108995760018101808455811015613084575f908382525f80516020614caa83398151915201555f613c51565b90929192600182019081548015613dac575b5084613d3b8461466f565b50949092845493613d4b836140f6565b9681613d97575b5015613d74575050505f19810190811161082957613b4a8591613bf493613aaa565b613bf4949293613d90926001600160d01b039091169190614930565b5050613b27565b65ffffffffffff83811691161490505f613d52565b600160401b81101561089957806001613dc89201845583613aaa565b8154905f199060031b1b191690555f613d30565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610899576108e792604052614532565b8115612eab570490565b90808202905f1981840990828083109203918083039214613ea657633b9aca009082821115613e94577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f335784831115613f265790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186146a8565b505090610ef59250613e2b565b90613f4d6107f842613fdc565b8210156131be5760ff613f7d613f6b845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613fca57613f8d3383613256565b918215613fb857613fab9061342b33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613fef571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061404957505f5b6001600160d01b03811615612e6357600d5481101561308457600d5f525f80516020614c8a833981519152015490565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c614019565b600a54806140bd57505f5b6001600160d01b03811615612e6357600b5481101561308457600b5f525f80516020614caa833981519152015490565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61408d565b80548061412b57505f5b6001600160d01b0381161561412557600161411b9201613aaa565b90549060031b1c90565b50505f90565b5f1990808281011161082957825f5260205f2001015460301c614100565b919060018101809111610829576001820180921161082957610ef592613eb3565b600a54905f8291600584116141d8575b6141849350614b15565b806141a757505f5b6001600160d01b03811615612e635761411b610ef591613a66565b6141cc6141b66141d392612c5c565b600a5f525f80516020614c6a8339815191520190565b5460301c90565b61418c565b91926141e3816149ea565b81039081116108295761418493600a5f5265ffffffffffff80835f80516020614c6a833981519152015416908516105f1461421f57509161417a565b92915061422b90612cf2565b9061417a565b600c54905f829160058411614298575b61424b9350614b7e565b8061426e57505f5b6001600160d01b03811615612e635761411b610ef591613a88565b6141cc61427d61429392612c5c565b600c5f525f80516020614c4a8339815191520190565b614253565b91926142a3816149ea565b81039081116108295761424b93600c5f5265ffffffffffff80835f80516020614c4a833981519152015416908516105f146142df575091614241565b9291506142eb90612cf2565b90614241565b908154905f829160058411614354575b61430c935084614be7565b8061433457505f905b6001600160d01b0382161561412557610ef591600161411b9201613aaa565b6141cc61434361434e92612c5c565b835f5260205f200190565b90614315565b919261435f816149ea565b81039081116108295761430c93855f5265ffffffffffff808360205f20015416908516105f14614390575091614301565b92915061439c90612cf2565b90614301565b604051906143af8261089e565b5f6020838281520152565b6143c26143a2565b506143cb6143a2565b50600a5481101561308457600a5f526020604051916143e98361089e565b5f80516020614c6a83398151915201549165ffffffffffff83169283825260301c9182910152600b5481101561308457600b5f525f80516020614caa83398151915201546040519161443a8361089e565b8252602082015290565b61444c6143a2565b506144556143a2565b50600c5481101561308457600c5f526020604051916144738361089e565b5f80516020614c4a83398151915201549165ffffffffffff83169283825260301c9182910152600d5481101561308457600d5f525f80516020614c8a83398151915201546040519161443a8361089e565b90602060016144e8614514936144d86143a2565b506144e16143a2565b5085613aaa565b5093604051946144f78661089e565b549465ffffffffffff86169586825260301c938491015201613aaa565b905490604051926145248461089e565b835260031b1c602082015290565b905f602091828151910182855af115612ce7575f513d61458357506001600160a01b0381163b155b6145615750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b6001141561455a565b9190600181018091116108295760018201809211610829576145af828285613eb3565b928215612eab5709151581018091116108295790565b600c54806145d657505f905f905f90565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061462b57505f905f905f90565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806146805750505f905f905f90565b5f19918183810111610829575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610899576001820180600c5582101561308457600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c4a83398151915290910155565b600a5490600160401b821015610899576001820180600a5582101561308457600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c6a83398151915290910155565b8054600160401b8110156108995761478391600182018155613aaa565b6147ae57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156148685761427d6147d991612c5c565b9081549165ffffffffffff908184169183168083116148565786920361481e5761481792509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506148519061483d61482f6108da565b65ffffffffffff9092168252565b6001600160d01b03851660208201526146b8565b614817565b604051632520601d60e01b8152600490fd5b5061488c9061487861482f6108da565b6001600160d01b03841660208201526146b8565b5f9190565b600a54919291801561490c576141b66148a991612c5c565b9081549165ffffffffffff90818416918316808311614856578692036148e75761481792509065ffffffffffff82549181199060301b169116179055565b5050614851906148f861482f6108da565b6001600160d01b038516602082015261470f565b5061488c9061491c61482f6108da565b6001600160d01b038416602082015261470f565b805492939280156149c55761494761495291612c5c565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161485657879303614991575061481792509065ffffffffffff82549181199060301b169116179055565b915050614851916149b16149a36108da565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614766565b509061488c916149d66149a36108da565b6001600160d01b0385166020830152614766565b6001811115610ef557600181600160801b811015614b03575b614aab614aa1614a97614a8d614a83614a79614ab797600488600160401b614ab29a1015614af6575b640100000000811015614ae9575b62010000811015614adc575b610100811015614ad0575b6010811015614ac4575b1015614abc575b60030260011c614a72818b613e2b565b0160011c90565b614a72818a613e2b565b614a728189613e2b565b614a728188613e2b565b614a728187613e2b565b614a728186613e2b565b8093613e2b565b821190565b900390565b60011b614a62565b811c9160021b91614a5b565b60081c91811b91614a51565b60101c9160081b91614a46565b60201c9160101b91614a3a565b60401c9160201b91614a2c565b50600160401b9050608082901c614a03565b905b828110614b2357505090565b9091808216906001818418811c830180931161082957600a5f5265ffffffffffff80845f80516020614c6a833981519152015416908616105f14614b6b575050915b90614b17565b9093925081018091116108295790614b65565b905b828110614b8c57505090565b9091808216906001818418811c830180931161082957600c5f5265ffffffffffff80845f80516020614c4a833981519152015416908616105f14614bd4575050915b90614b80565b9093925081018091116108295790614bce565b91905b838210614bf75750505090565b909192808316906001818518811c830180931161082957855f5265ffffffffffff808460205f20015416908516105f14614c36575050925b9190614bea565b9094935081018091116108295791614c2f56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122043efa6c6f5254f6085ff6b05ed44ecdfbd83fe049c6a052e5989dccd273a1f9864736f6c63430008190033","sourceMap":"1252:21240:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21240:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21240:107;-1:-1:-1;1252:21240:107;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;757:38:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;612:37:108;1252:21240:107;;;;-1:-1:-1;;;;;1252:21240:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;10871:21;10867:75;;10980:10;1252:21240;;;;6047:15;1252:21240;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10956:35;;10952:88;;1057:70:95;5628:21:107;;:::i;:::-;5272:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11147:20:107;;;11143:82;;11250:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;;;;;;11143:82;1252:21240;;-1:-1:-1;;;;;;11190:24:107;;1252:21240;;11190:24;10952:88;1252:21240;;-1:-1:-1;;;11014:15:107;;1252:21240;;11014:15;10867:75;1252:21240;;-1:-1:-1;;;10915:16:107;;1252:21240;;10915:16;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;4919:24:23;1252:21240:107;-1:-1:-1;1252:21240:107;4919:24:23;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;4327:34:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;4331:25;819:34:73;837:15;819:34;:::i;:::-;4331:25:107;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:21240:107;;;;;;;4757:21;1252:21240;4757:21;;:::i;:::-;1252:21240;;;;;;;;;;:::i;4676:65::-;1252:21240;;-1:-1:-1;;;4713:17:107;;1252:21240;;4713:17;1252:21240;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21240:107;;;;;;-1:-1:-1;;1252:21240:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;5831:59;1252:21240;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;;-1:-1:-1;1252:21240:107;;;5831:15;1252:21240;;;;;5831:59;:::i;:::-;1252:21240;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;5350:25:23;1252:21240:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;3202:4:23;4919:24;1252:21240:107;-1:-1:-1;1252:21240:107;4919:24:23;1252:21240:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21240:107;;;;;;;-1:-1:-1;;1252:21240:107;;;;;2227:28:108;1252:21240:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;1479:40:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21240:107;;6441:34:23;6437:102;;6549:37;1252:21240:107;;;6549:37:23;:::i;6437:102::-;1252:21240:107;;-1:-1:-1;;;6498:30:23;;1252:21240:107;;6498:30:23;1252:21240:107;;;;;;-1:-1:-1;;1252:21240:107;;;;;6206:22;1252:21240;;;;6206:46;;;1252:21240;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:107;1252:21240;;;;;6206:46;;1252:21240;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21240:107;;;;;;;;;;;15935:26;15931:76;;-1:-1:-1;;1252:21240:107;;;;;-1:-1:-1;1252:21240:107;;;;;;16058:27;;1252:21240;;16058:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21240:107;;15931:76;1252:21240;;-1:-1:-1;;;15984:12:107;;1252:21240;;15984:12;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;;;;8820:24;;8816:81;;-1:-1:-1;1252:21240:107;;;;8911:55;;;1252:21240;8907:118;;1252:21240;;-1:-1:-1;;;9059:43:107;;;9096:4;9059:43;;;1252:21240;;;;;;;;;;;;;;;;;;;;;;;;;9059:43;;;;;;;;;;-1:-1:-1;9059:43:107;;;1252:21240;;9175:6;1252:21240;;;9096:4;;9148:10;;9175:6;;:::i;:::-;-1:-1:-1;1252:21240:107;;;9210:43;;;9096:4;9210:43;;;1252:21240;;;;;;;;;;9210:43;1252:21240;;;;;;9210:43;1252:21240;;;;;9210:43;;;;;;;:59;:43;-1:-1:-1;9210:43:107;;;1252:21240;9210:59;;;:::i;:::-;9284:20;;;9280:79;;1252:21240;;;;;9373:64;;1252:21240;9369:123;;5628:21;;1252:21240;5628:21;9848:93;5628:21;;:::i;:::-;5272:22;9772:66;5272:22;;:::i;:::-;9695:67;390:70:95;;;;;:::i;:::-;837:15:73;9731:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9731:30:107;;:::i;:::-;9695:67;;:::i;:::-;837:15:73;;9809:28:107;837:15:73;819:34;837:15;819:34;:::i;9809:28:107:-;9772:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21240:107;;;;;;6047:15;1252:21240;;;;;837:15:73;9899:41:107;837:15:73;6047:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;;;;;;6047:15;1252:21240;;;;;;;6047:33;9899:41;:::i;:::-;9848:93;;:::i;:::-;-1:-1:-1;;1252:21240:107;;;;;;;;;;;9148:10;;9957:62;;1252:21240;;9957:62;3426:1:30;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;;;;;;;9369:123;1252:21240;;-1:-1:-1;;;9460:21:107;;;9373:64;5628:21;9391:31;5628:21;;;:::i;9391:31::-;1252:21240;;-1:-1:-1;9373:64:107;;9280:79;-1:-1:-1;1252:21240:107;;-1:-1:-1;;;9327:21:107;;;9210:43;;;;;;-1:-1:-1;9210:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9059:::-;9175:6;9059:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8907:118;-1:-1:-1;1252:21240:107;;-1:-1:-1;;;8989:25:107;;;8911:55;-1:-1:-1;8955:10:107;1252:21240;;;;8932:22;1252:21240;;;;;;;;8931:35;8911:55;;8816:81;1252:21240;;-1:-1:-1;;;8867:19:107;;;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;2391:34:108;1252:21240:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:21240;;;:::i;:::-;5098:48;;:::i;1252:21240::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;;1479:40:108;;1252:21240:107;;4468:23:23;4464:108;;-1:-1:-1;19598:16:107;1252:21240;-1:-1:-1;;;;;1252:21240:107;;;;;;19598:37;;19594:87;;-1:-1:-1;;;;;;1252:21240:107;;;19598:16;1252:21240;;;;;;19742:38;;1252:21240;;19742:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21240:107;;4464:108:23;1252:21240:107;;;;4514:47:23;;;;;;966:10:28;1252:21240:107;4514:47:23;;1252:21240:107;;;;;4514:47:23;1252:21240:107;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;16763:24;16759:74;;-1:-1:-1;;1252:21240:107;;;;;;;;-1:-1:-1;1252:21240:107;;;;;;16882:25;;1252:21240;;16882:25;3426:1:30;;:::i;1252:21240:107:-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;4059:32:108;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;-1:-1:-1;1252:21240:107;2854:59:108;1252:21240:107;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12539:10:107;;12535:70;;12626:19;;;:::i;:::-;12618:27;;12614:82;;12817:44;12719:22;;;;;:::i;:::-;-1:-1:-1;1252:21240:107;;;;12817:19;;1252:21240;;-1:-1:-1;;;;;1252:21240:107;;-1:-1:-1;;;;;1252:21240:107;;;12817:19;1252:21240;;;-1:-1:-1;;;12817:44:107;;;12855:4;12817:44;;;1252:21240;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;;;;12817:44;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12817:44:107;;;1252:21240;;;12924:5;1252:21240;12945:57;1252:21240;;-1:-1:-1;1252:21240:107;;;;12924:5;;;:::i;:::-;1252:21240;-1:-1:-1;;;12945:57:107;;1252:21240;;;;;;;12966:10;;12945:57;;;:::i;:::-;;;;;;;;;1714:45:108;12945:57:107;-1:-1:-1;12945:57:107;;;1252:21240;12945:73;;12941:128;;1252:21240;;13083:44;;;12855:4;13083:44;;;1252:21240;;;;;;;;;13083:44;1252:21240;;;;;;13083:44;;;;;;;;;;:60;:44;-1:-1:-1;13083:44:107;;;:60;;;:::i;:::-;:67;13079:126;;13219:7;;13215:93;;1252:21240;3426:1:30;;;:::i;:::-;1252:21240:107;13325:4;1252:21240;;;;;13215:93;13275:16;1252:21240;13293:3;;1252:21240;-1:-1:-1;;;;;1252:21240:107;;13293:3;;:::i;:::-;13215:93;;;;13079:126;1252:21240;;-1:-1:-1;;;13173:21:107;;;12941:128;1252:21240;;-1:-1:-1;;;13041:17:107;;1252:21240;;13041:17;12945:57;;;;;;;;;;;;;;:::i;:::-;;;;12817:44;-1:-1:-1;12817:44:107;;;;;;;12945:57;12817:44;;;12924:5;12817:44;;;;-1:-1:-1;12817:44:107;;;;;;:::i;:::-;;;;;;;;;;;;;12614:82;1252:21240;;-1:-1:-1;;;12668:17:107;;1252:21240;;12668:17;12535:70;1252:21240;;-1:-1:-1;;;12572:22:107;;1252:21240;;12572:22;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;1041:36:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4486:26;:::i;1252:21240::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;1714:45:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;4587:28:108;1252:21240:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;1575:42;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;3967:36:108;1252:21240:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;2559:32:108;1252:21240:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13524:7:107;1252:21240;13510:21;;-1:-1:-1;;;;;1252:21240:107;;;13510:21;:10;:21;13506:71;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;13658;;;;:::i;:::-;13698:17;;;;:53;;;1252:21240;13697:87;;;;1252:21240;13693:146;;1252:21240;5628:21;15703:48;5628:21;;;:::i;:::-;13933:17;13921:30;13933:17;;;:::i;:::-;1252:21240;;13921:11;1252:21240;;;;;;;13921:30;1252:21240;;13965:29;;;;;14035:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:21240:107;3060:42:68;;14145:17:107;;;14141:384;;13961:1615;;;;;;;15590:17;15586:102;;13961:1615;1252:21240;;;;;;;;;;;;;;;;;;;;;;;15703:48;3426:1:30;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;15586:102;-1:-1:-1;1252:21240:107;15663:13;;1252:21240;;15623:18;;1252:21240;;-1:-1:-1;;;;;1252:21240:107;;;15623:18;13949:1;1252:21240;-1:-1:-1;;;;;1252:21240:107;;;15663:13;15586:102;;14141:384;14438:29;14206:50;14355:65;14206:50;14391:28;14307:29;14206:50;14450:16;14206:50;14470:40;14206:50;;;:::i;:::-;14307:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14391:28:107;;:::i;14470:40::-;14450:16;;:::i;14438:29::-;1252:21240;14141:384;;;;;;;13961:1615;14578:26;;;;1252:21240;;13921:11;1252:21240;;;;;;;14578:26;1252:21240;14643:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:21240:107;3060:42:68;;14768:17:107;;14764:802;;13961:1615;;;;;;;;14764:802;15489:26;14829:50;;14930:53;14829:50;15030:54;14829:50;15030:29;14829:50;15518:33;14829:50;;;;:::i;:::-;14930:53;;;;;;:::i;:::-;15030:29;;;;:::i;:::-;:54;:::i;:::-;15107:33;;;;15103:194;;14764:802;15315:65;837:15:73;15351:28:107;15431:40;837:15:73;;;819:34;837:15;819:34;:::i;15431:40:107:-;15398:30;15410:17;;;:::i;15398:30::-;1252:21240;15518:33;:::i;:::-;15489:26;1252:21240;;13921:11;1252:21240;;;;;;;15489:26;1252:21240;14764:802;;;;;;;15103:194;15190:33;15164:59;15315:65;15190:33;;;15431:40;15190:33;;;:::i;:::-;15164:59;;:::i;:::-;15245:33;;-1:-1:-1;15245:33:107;;-1:-1:-1;15103:194:107;;13693:146;1252:21240;;-1:-1:-1;;;13807:21:107;;1252:21240;;13807:21;13697:87;13756:28;;;;13697:87;;13698:53;13734:17;;;;:::i;:::-;13719:32;;13698:53;;13506:71;1252:21240;;-1:-1:-1;;;13554:12:107;;1252:21240;;13554:12;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4933:1;1252:21240;;;;;;;4905:30;1252:21240;4905:30;;:::i;1252:21240::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;4331:25;819:34:73;837:15;819:34;:::i;1252:21240:107:-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21240:107;2730:68:108;1252:21240:107;;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11837:14;1252:21240;;11837:14;;:::i;1252:21240::-;;;;;5456:47;1252:21240;;;:::i;:::-;5456:47;;:::i;1252:21240::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;19927:22:107;1252:21240;;;;;19923:89;;1252:21240;;-1:-1:-1;;;20027:49:107;;-1:-1:-1;;;;;1252:21240:107;;;20027:49;;;1252:21240;;;;;;;;;;;;;;;20027:49;20037:17;;;1252:21240;20027:49;;;;;;;-1:-1:-1;20027:49:107;;;1252:21240;20026:50;;20022:102;;1252:21240;;-1:-1:-1;;;20138:34:107;;1252:21240;;;;;20138:34;1252:21240;20138:34;1252:21240;;20138:34;;;;;;;-1:-1:-1;20138:34:107;;;1252:21240;20184:4;;;1252:21240;;20138:51;20134:107;;-1:-1:-1;19927:22:107;1252:21240;;-1:-1:-1;;;;;1252:21240:107;;;;-1:-1:-1;;;;;;1252:21240:107;;;;;;;-1:-1:-1;;;1252:21240:107;;;20329:24;-1:-1:-1;;20329:24:107;3426:1:30;;:::i;20134:107:107:-;1252:21240;;-1:-1:-1;;;20212:18:107;;;20138:34;;;;;;;-1:-1:-1;20138:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20022:102;-1:-1:-1;1252:21240:107;;-1:-1:-1;;;20099:14:107;;;20027:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19923:89;1252:21240;;-1:-1:-1;;;19972:29:107;;;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17485:1:107;17454:32;;17450:106;;1252:21240;;;;17570:22;1252:21240;;;;;;;;;;17570:27;;;:73;;;;1252:21240;17566:505;;;1252:21240;18085:14;1252:21240;;;;;;;;;18085:31;;;18081:94;;18189:32;:96;;;1252:21240;18185:146;;18463:105;18488:80;18489:67;18657:62;837:15:73;18341:67:107;18363:45;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;18380:28;1252:21240;18363:45;;:::i;:::-;18341:67;1252:21240;;18341:67;17570:22;1252:21240;;-1:-1:-1;;;;1252:21240:107;;;;;-1:-1:-1;;;1252:21240:107;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4486:26:107:-;1252:21240;18511:45;18380:28;1252:21240;18511:45;1252:21240;18085:14;1252:21240;;;;;;;;;;18511:45;;;:::i;:::-;1252:21240;;18489:67;:::i;:::-;18488:80;:::i;:::-;17570:22;1252:21240;;-1:-1:-1;;;;1252:21240:107;;;;;;-1:-1:-1;;;1252:21240:107;;;;;;;;18463:105;18578:63;;;1252:21240;;18578:63;1252:21240;;;;;;;;;;;;;;;;;18657:62;3426:1:30;;:::i;18189:96:107:-;1252:21240;;18225:28;1252:21240;18225:60;18189:96;;18081:94;1252:21240;;-1:-1:-1;;;18139:25:107;;1252:21240;;18139:25;17566:505;17659:53;17689:23;1252:21240;17659:53;1252:21240;;17659:53;17726:35;1252:21240;17747:14;1252:21240;;;;;;;17570:22;1252:21240;;;;;;;;;;17570:22;1252:21240;;17726:35;17747:14;1252:21240;17775:43;;1252:21240;;;;;;;;17570:22;1252:21240;;;17570:22;1252:21240;;17775:43;17832:45;17858:19;1252:21240;17689:23;1252:21240;;17832:45;17570:22;1252:21240;17891:35;;1252:21240;;;;17747:14;1252:21240;;-1:-1:-1;;;;;1252:21240:107;;;;;;-1:-1:-1;;;;;;1252:21240:107;;;;;;;;17891:35;17570:22;1252:21240;17940:43;;1252:21240;;;;17747:14;1252:21240;;-1:-1:-1;;;;1252:21240:107;;;;;;-1:-1:-1;;;1252:21240:107;;;;;;;;17940:43;17997:63;18028:32;1252:21240;17997:63;1252:21240;;17997:63;17566:505;;17570:73;837:15:73;;17601:42:107;819:34:73;837:15;819:34;:::i;17601:42:107:-;-1:-1:-1;17601:42:107;17570:73;;;17450:106;1252:21240;;-1:-1:-1;;;17509:36:107;;1252:21240;;17509:36;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;18904:16:107;1252:21240;;;;;;;;;;;;;18904:26;18900:76;;-1:-1:-1;;;;1252:21240:107;;;;;-1:-1:-1;;;1252:21240:107;;18904:16;1252:21240;;;;;;19027:27;;1252:21240;;19027:27;3426:1:30;;:::i;1252:21240:107:-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;1666:40;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;5628:21;;:::i;:::-;1252:21240;;;;6432:11;1252:21240;;;;;;;;;;;;;6473:1;1252:21240;;;;;;;;;6432:11;1252:21240;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;3901:31:23;1252:21240:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;3901:31:23;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;3869:42:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;3775:38:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21240:107;6047:15;1252:21240;;;6047:33;1252:21240;-1:-1:-1;1252:21240:107;6047:33;:::i;1252:21240::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21240:107;;;;-1:-1:-1;1252:21240:107;477:31:86;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;477:31:86;;;1252:21240:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;477:31:86;1252:21240:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:21240:107;518:79:86;;1252:21240:107;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;2139:32:108;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;900:35:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;;16300:21;;16296:75;;-1:-1:-1;1252:21240:107;;;16385:22;1252:21240;;;;;;;;;;;;;16385:41;16381:91;;-1:-1:-1;;;;;1252:21240:107;;;;;8932:22;1252:21240;;;;;16538:44;;;;16482:40;;:31;1252:21240;;;;;;;;;;;;;;16482:40;1252:21240;;;;;;;;;;;;;;;16538:44;;;;3426:1:30;;:::i;16296:75:107:-;1252:21240;;-1:-1:-1;;;16344:16:107;;1252:21240;;16344:16;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;3089:94:108;1252:21240:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21240:107;3089:94:108;1252:21240:107;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;3089:94:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;3239:92:108;1252:21240:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21240:107;3239:92:108;1252:21240:107;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;1187:40:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;4500:31:108;1252:21240:107;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20496:20:107;1252:21240;;;;;20492:85;;-1:-1:-1;;;;;1252:21240:107;;;;;;20587:312;;1252:21240;20496:20;1252:21240;;-1:-1:-1;;;;1252:21240:107;-1:-1:-1;;;1252:21240:107;;;20909:27;20952:20;-1:-1:-1;20952:20:107;;3426:1:30;;:::i;20587:312:107:-;1252:21240;;-1:-1:-1;;;20634:45:107;;-1:-1:-1;;;;;1252:21240:107;;20634:45;;;1252:21240;;;20634:45;;1252:21240;;;;;;20634:45;20644:15;;;1252:21240;20634:45;;;;;;;-1:-1:-1;20634:45:107;;;20587:312;20633:46;;20629:104;;1252:21240;;-1:-1:-1;;;20751:30:107;;;1252:21240;20751:30;1252:21240;20751:30;;;;;;;;-1:-1:-1;20751:30:107;;;20587:312;20793:4;;;1252:21240;;20751:47;20747:109;;-1:-1:-1;20496:20:107;1252:21240;;-1:-1:-1;;;;;;1252:21240:107;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;20587:312;;;;;;20747:109;1252:21240;;-1:-1:-1;;;20825:16:107;;;20751:30;;;;;;;-1:-1:-1;20751:30:107;;;;;;:::i;:::-;;;;;;20629:104;1252:21240;;-1:-1:-1;;;20706:12:107;;1252:21240;;20706:12;20634:45;;;;;;;;;;;;;;:::i;:::-;;;;20492:85;1252:21240;;-1:-1:-1;;;20539:27:107;;;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;;;;11458:23;;11454:79;;11619:6;1252:21240;11552:13;;;;:::i;:::-;1252:21240;;;-1:-1:-1;1252:21240:107;;;;11619:6;:::i;:::-;1252:21240;;;;;;;;;;;;11648:10;;11642:43;;1252:21240;11642:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;;;;;;;11454:79;1252:21240;;-1:-1:-1;;;11504:18:107;;1252:21240;;11504:18;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;-1:-1:-1;1252:21240:107;2969:64:108;1252:21240:107;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;2481:22:108;1252:21240:107;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;3573:43:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;1333:36:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;5628:21;;:::i;1252:21240::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;;900:35:108;;1252:21240:107;;4468:23:23;4464:108;;1252:21240:107;;;;17085:21;17081:71;;1252:21240;;17198:22;1252:21240;;;;;;;;17198:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;5272:22;;:::i;1252:21240::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;4239:32:108;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:21240;;;;;;;7917:1;1252:21240;;;;;;;7895:33;;;:::i;:::-;1252:21240;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;3672:47:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;4147:36:108;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;2311:24:108;1252:21240:107;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;5767:26:23;1252:21240:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;3202:4:23;4919:24;1252:21240:107;-1:-1:-1;1252:21240:107;4919:24:23;1252:21240:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:21240:107:-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;;1333:36:108;;1252:21240:107;;4468:23:23;4464:108;;1252:21240:107;;19241:12;1252:21240;19241:29;19237:79;;1252:21240;;19369:30;1252:21240;19241:12;1252:21240;;;;;;19369:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;466:39:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;4417:27:108;1252:21240:107;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;1616:3:108;1252:21240:107;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:21240;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:21240;;6915:39;1057:70:95;6915:39:107;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:21240;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:21240;6878:77;1252:21240;1057:70:95;1252:21240:107;;;:::i;:::-;;;;;6712:111;;;;;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21240:107;;10236:21;10232:75;;10321:11;;10317:73;;845:69:95;5272:22:107;;:::i;:::-;5628:21;;:::i;:::-;845:69:95;;;:::i;:::-;10526:10:107;1252:21240;;;;6047:15;1252:21240;;;;;10526:10;;;6047:33;;;:::i;:::-;10496:41;;10492:96;;10613:40;;;;;:::i;10492:96::-;1252:21240;;-1:-1:-1;;;10560:17:107;;1252:21240;;10560:17;10317:73;1252:21240;;-1:-1:-1;;;10355:24:107;;1252:21240;;10355:24;1252:21240;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:21240:107;-1:-1:-1;1252:21240:107;;;5831:15;1252:21240;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:21240;;2589:22;1252:21240;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:21240;;2684:18;1252:21240;;;;2677:25;:::o;2589:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21240:107;2620:41;2589:72;;1252:21240;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13949:1;1252:21240;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:21240;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:21240;;;2240:229;:::o;2304:124::-;1252:21240;;2403:14;1252:21240;;;2396:21;:::o;2308:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21240:107;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:21240:107;-1:-1:-1;1252:21240:107;;;6047:15;1252:21240;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:21240;1884:1:95;1252:21240:107;;;;;;;1884:1:95;1252:21240:107;;;;;;;9478:25:68;;;:::i;1252:21240:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;:::o;7996:283::-;8092:16;1252:21240;8091:17;;1252:21240;;;;8931:35;;1252:21240;8091:17;8087:56;;8174:10;1252:21240;;;-1:-1:-1;;;;;1252:21240:107;;;;;8201:20;;1252:21240;;;;-1:-1:-1;;;8224:44:107;;8262:4;8224:44;;;1252:21240;;8224:44;;1252:21240;;;;;;8224:44;;;;;;;8174:10;8224:44;;;8201:71;7996:283;:::o;8224:44::-;;;;;;;;;;;;;;:::i;8201:71::-;;8174:10;7996:283;:::o;1252:21240::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:21240;;;;;;;;;;;;;2899:30;;;;;;1252:21240;;2949:22;1252:21240;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:21240;3094:87;1252:21240;3125:34;3124:57;1252:21240;3094:27;1252:21240;3125:34;;:::i;:::-;1252:21240;;;;3124:57;;:::i;2945:129::-;1252:21240;;-1:-1:-1;;;3041:18:107;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:107;;;;2895:598;1252:21240;;3202:22;1252:21240;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:107;;;1252:21240;;3290:75;1252:21240;;3290:75;1252:21240;3317:30;3316:49;1252:21240;3290:23;1252:21240;3317:30;;:::i;:::-;1252:21240;;;3316:49;;:::i;3198:295::-;3403:79;1252:21240;;3425:57;1252:21240;;3426:34;3403:79;1252:21240;3403:19;1252:21240;3426:34;;:::i;:::-;1252:21240;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:107;;;;3361:103:30;;;;:::i;:::-;1252:21240:107;;-1:-1:-1;;;;;1252:21240:107;;;11867:23;;11863:79;;11996:11;;11992:70;;1252:21240;12088:10;;;;;;-1:-1:-1;1252:21240:107;;12233:49;;1252:21240;;;;12210:6;;1252:21240;;12167:18;;1252:21240;;-1:-1:-1;;;;;1252:21240:107;;;12167:18;12210:6;:::i;:::-;12233:49;1252:21240;;12244:10;;;;12233:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12100:3:107:-;12136:9;12119:27;1252:21240;12136:9;12129:17;12136:9;;;;;:::i;:::-;1252:21240;12129:17;:::i;12119:27::-;12100:3;1252:21240;12077:9;;11992:70;1252:21240;;-1:-1:-1;;;12030:21:107;;;;;1252:21240;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:21240;3639:35;;;3635:87;;3744:23;1252:21240;3736:31;;;;;;1252:21240;3791:83;1252:21240;3790:96;1252:21240;3816:58;3817:35;3791:22;1252:21240;;;3817:35;;:::i;:::-;1252:21240;;;;;3816:58;;:::i;3732:474::-;1252:21240;;3907:19;1252:21240;3907:24;;:55;;;;3732:474;3903:303;;;1252:21240;3985:84;1252:21240;;4007:50;4008:31;3986:71;1252:21240;3986:18;1252:21240;4008:31;;:::i;:::-;1252:21240;;;4007:50;;:::i;:::-;1252:21240;;;;3986:71;:::i;3903:303::-;4108:75;1252:21240;;4107:88;1252:21240;4133:50;4134:27;4108:22;1252:21240;;;4134:27;;:::i;:::-;1252:21240;;;;;4133:50;;:::i;:::-;1252:21240;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:21240;;-1:-1:-1;;;3697:14:107;;;;;1918:274;1252:21240;;2003:22;1252:21240;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:21240;1918:274;:::o;1999:138::-;2098:28;1252:21240;2091:35;:::o;2003:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21240:107;2034:41;2003:72;;;;8340:265;8441:10;1252:21240;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;8432:19;8428:75;;8519:16;1252:21240;;8519:79;;;8441:10;8340:265;:::o;8519:79::-;8569:12;1252:21240;8556:42;;;:::i;8428:75::-;1252:21240;;-1:-1:-1;;;8474:18:107;;;;;7413:227;;7553:34;7413:227;1252:21240;-1:-1:-1;1252:21240:107;7553:18;1252:21240;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;;;;;;;7553:34;1252:21240;;-1:-1:-1;1252:21240:107;7589:11;1252:21240;;;-1:-1:-1;1252:21240:107;;7609:16;1252:21240;;;-1:-1:-1;1252:21240:107;;;1884:1:95;1252:21240:107;;;;;;;1884:1:95;1252:21240:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21240:107;;3670:20:30;3666:88;;1991:1;1252:21240:107;;3470:384:30:o;3666:88::-;1252:21240:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21240:107;3860:283:30:o;20985:960:107:-;21164:10;1252:21240;;;;6047:15;1252:21240;;;;;;20985:960;;;819:34:73;837:15;819:34;:::i;:::-;21164:10:107;1252:21240;;;;6047:15;1252:21240;;;;;6047:33;;;:::i;:::-;1252:21240;;;;;;;;;21148:93;21864:74;21148:93;;;21689:30;21148:93;;:::i;:::-;837:15:73;;21251:67:107;819:34:73;837:15;819:34;:::i;:::-;21288:29:107;5272:22;;;:::i;21251:67::-;837:15:73;;21328:68:107;819:34:73;837:15;819:34;:::i;:::-;21364:31:107;5628:21;;;:::i;21328:68::-;837:15:73;;21798:34:107;837:15:73;21798:25:107;21423:18;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;21423:18;:::i;:::-;21755:33;21474:18;;1252:21240;;13921:11;1252:21240;;;;;;;21474:18;1252:21240;21531:23;;1252:21240;;21531:16;1252:21240;;;;;;;21531:23;1252:21240;390:70:95;;;;;:::i;:::-;21689:30:107;;;;;;:::i;:::-;21668:18;;1252:21240;;13921:11;1252:21240;;;;;;;21668:18;1252:21240;21755:33;:::i;:::-;21729:23;;1252:21240;;21531:16;1252:21240;;;;;;;21729:23;1252:21240;;;21798:18;1252:21240;;;;;;;21798:25;1252:21240;;;;;;;;;;;;;;;;21798:34;:50;1252:21240;;;21798:50;:::i;:::-;1252:21240;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;21164:10;;1252:21240;;21864:74;20985:960::o;1252:21240::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:21240:107;;7686:17:94;7682:83;;1252:21240:107;7789:27:94;1252:21240:107;7789:27:94;1252:21240:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21240:107;8075:24:94;:::o;7975:84::-;1252:21240:107;;;8009:16:94;5098:13:107;1252:21240;8009:16:94;:::i;:::-;1252:21240:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21240:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21240:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21240:107;;7686:17:94;7682:83;;1252:21240:107;7789:27:94;1252:21240:107;7789:27:94;1252:21240:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21240:107;;;8009:16:94;5456:12:107;1252:21240;8009:16:94;:::i;:::-;1252:21240:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:29::-;;8001:57;;;;7682:83;7726:28;;;;:::i;7558:604::-;;1252:21240:107;;7686:17:94;7682:83;;1252:21240:107;7789:27:94;1252:21240:107;7789:27:94;1252:21240:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21240:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21240:107;8075:24:94;:::o;7975:84::-;1252:21240:107;;;8009:16:94;1252:21240:107;;8009:16:94;:::i;:::-;1252:21240:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:29::-;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;1252:21240:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;466:39:108;;1252:21240:107;;3901:31:23;1252:21240:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;757:38:108;;1252:21240:107;;3901:31:23;1252:21240:107;4148:103:23;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;1041:36:108;;1252:21240:107;;3901:31:23;1252:21240:107;4148:103:23;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;1187:40:108;;1252:21240:107;;3901:31:23;1252:21240:107;4148:103:23;966:10:28;-1:-1:-1;1252:21240:107;;;;;;;;;612:37:108;;1252:21240:107;;3901:31:23;1252:21240:107;4148:103:23;-1:-1:-1;1252:21240:107;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;966:10:28;1252:21240:107;;;;;;;;;3901:31:23;1252:21240:107;7270:387:23;-1:-1:-1;1252:21240:107;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;-1:-1:-1;;1252:21240:107;7509:4:23;1252:21240:107;;;966:10:28;;-1:-1:-1;;;;;1252:21240:107;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7892:388::-;-1:-1:-1;1252:21240:107;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;966:10:28;;-1:-1:-1;;;;;1252:21240:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21240:107;8209:11:23;:::o;1670:188:55:-;1252:21240:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:21240:107;;;1797:53:55;;;1252:21240:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:21240:107;;;;;;;-1:-1:-1;;;;;1252:21240:107;;;;;1797:53:55;1252:21240:107;;;1797:53:55;:::i;1252:21240:107:-;7178:12:94;1252:21240:107;;;;;;7178:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;-1:-1:-1;1252:21240:107;:::o;:::-;7178:12:94;1252:21240:107;;;;;;7178:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;-1:-1:-1;1252:21240:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:21240:107;;-1:-1:-1;1252:21240:107;;;-1:-1:-1;1252:21240:107;:::o;:::-;6360:12:94;1252:21240:107;-1:-1:-1;;;1252:21240:107;;;;;;;;;6360:12:94;1252:21240:107;;;;;;6360:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;:::o;:::-;6360:12:94;1252:21240:107;-1:-1:-1;;;1252:21240:107;;;;;;;;;6360:12:94;1252:21240:107;;;;;;6360:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:21240:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:21240:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21240:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21240:107;;;;;;;;;-1:-1:-1;1252:21240:107;;;-1:-1:-1;1252:21240:107;;;;;;6798:25:94;1252:21240:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21240:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21240:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;6356:75:94;;;6246:584;;;;6360:12;1252:21240:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21240:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21240:107;;;;;;;;;-1:-1:-1;1252:21240:107;;;-1:-1:-1;1252:21240:107;;;;;;6798:25:94;1252:21240:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21240:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:21240:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21240:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21240:107;;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:21240:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21240:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21240:107;;8310:38:71;;-1:-1:-1;;;;;1252:21240:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:21240:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21240:107;;;;;;6360:12:94;1252:21240:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:21240:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:21240:107;;;1380:43:55;;;1252:21240:107;;;;;;;;;1380:43:55;;;1252:21240:107;;;;-1:-1:-1;;;;;1252:21240:107;;;;;;;;1380:43:55;1252:21240:107;;;1380:43:55;:::i;1252:21240:107:-;;;;;;;:::o;4996:4226:68:-;;1252:21240:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1616:3:108;6270:20:68;;;;;6266:143;;1252:21240:107;6695:300:68;;;;;;;;1252:21240:107;;6695:300:68;;7259:375;;7700:21;1252:21240:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1252:21240:107;;1616:3:108;1252:21240:107;;;6119:26:68;:::o;4996:4226::-;;1252:21240:107;;;;-1:-1:-1;;1252:21240:107;4996:4226:68;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:59;-1:-1:-1;940:4:59;7214:31:68;;7259:375;;;8094:1;1252:21240:107;;8075:1:68;1252:21240:107;8074:21:68;1252:21240:107;;;940:4:59;;1252:21240:107;;;;940:4:59;;1252:21240:107;;;;940:4:59;;1252:21240:107;;;;940:4:59;;1252:21240:107;;;;940:4:59;;1252:21240:107;;;;940:4:59;;1252:21240:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:21240:107;6695:300:68;;7259:375;7700:21;1252:21240:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:21240:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21951:460:107:-;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;22044:23;;;22040:75;;1252:21240;22129:39;:27;;1252:21240;;22129:20;1252:21240;;;;;;;22129:27;22157:10;1252:21240;;;;;;;;;;;;;;22129:39;1252:21240;;22125:93;;22237:32;22157:10;22237:32;;:::i;:::-;22284:11;;;22280:68;;22358:39;22157:10;22358:27;22157:10;22358:27;1252:21240;;22129:20;1252:21240;;;;;;;22358:39;1252:21240;;-1:-1:-1;;1252:21240:107;22400:4;1252:21240;;;21951:460::o;22280:68::-;1252:21240;;-1:-1:-1;;;22318:19:107;;;;;22125:93;1252:21240;;-1:-1:-1;;;22191:16:107;;;;;14296:213:69;1252:21240:107;14374:24:69;;;;14370:103;;1252:21240:107;14296:213:69;:::o;14370:103::-;1252:21240:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:21240:107;;;;;14421:41:69;10580:184:94;5628:12:107;1252:21240;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21240:107;;10726:7:94;1252:21240:107;;10736:12:94;1252:21240:107;;;;;;10736:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;10580:184:94;:::o;10446:63:71:-;1252:21240:107;;;;;;;;5628:12;-1:-1:-1;14439:109:71;;;1252:21240:107;;;10446:63:71;;10580:184:94;5272:13:107;1252:21240;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21240:107;;10726:7:94;1252:21240:107;;10736:12:94;1252:21240:107;;;;;;10736:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;10580:184:94;:::o;10446:63:71:-;1252:21240:107;;;;;;;;5272:13;-1:-1:-1;14439:109:71;;;1252:21240:107;;;10446:63:71;;10580:184:94;1252:21240:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21240:107;;10726:7:94;1252:21240:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:21240:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:21240:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:21240:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:21240:107;;;;;;;1884:1:95;1252:21240:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5098:13:107;1252:21240;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1252:21240:107;;7168:7:94;1252:21240:107;;7178:17:94;1252:21240:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5098:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:21240:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21240:107;;;;;;;10049:53:71;14439:109;5098:13:107;-1:-1:-1;14439:109:71;1252:21240:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21240:107;;;;;9870:48:71;9866:149;1252:21240:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5456:12:107;1252:21240;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1252:21240:107;;7168:7:94;1252:21240:107;;7178:17:94;1252:21240:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5456:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21240:107;;;;;;;10049:53:71;14439:109;5456:12:107;-1:-1:-1;14439:109:71;1252:21240:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21240:107;;;;;9870:48:71;9866:149;1252:21240:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:21240:107;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;1252:21240:107;;7168:7:94;1252:21240:107;;;7178:12:94;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;1252:21240:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:21240:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21240:107;;;;;9870:48:71;9866:149;1252:21240:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21240:107;;;;;;;:::i;:::-;-1:-1:-1;1252:21240:107;;;;;;;:::o;11486:272:94:-;1252:21240:107;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:21240;;;;;;5098:13;-1:-1:-1;1252:21240:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21240:107;;;;;;11718:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:21240:107;11486:272:94;:::o;:::-;1252:21240:107;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:21240;;;;;;5456:12;-1:-1:-1;1252:21240:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21240:107;;;;;;11718:12:94;-1:-1:-1;1252:21240:107;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;;;;;:::i;11486:272:94:-;;1252:21240:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:21240:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:21240:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:21240:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:21240:107;11486:272:94;:::o;7738:720:55:-;;-1:-1:-1;7875:421:55;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:55;;8310:15;;-1:-1:-1;;;;;;1252:21240:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21240:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:21240:107;;;8401:40:55;;;1252:21240:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:21240:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:21240:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5628:12:107;1252:21240;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21240:107;;;;;;;;5628:12;10833:17:71;14439:109;;;1252:21240:107;11014:1:71;;1252:21240:107;;;;;;;11030:37:71:o;10695:389::-;5272:13:107;1252:21240;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21240:107;;;;;;;;5272:13;10833:17:71;14439:109;;;1252:21240:107;11014:1:71;;1252:21240:107;;;;;;;11030:37:71:o;10695:389::-;1252:21240:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21240:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:21240:107;11014:1:71;1252:21240:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:21240:107;5628:12;1252:21240;;-1:-1:-1;;;1252:21240:107;;;;;;;;;5628:12;1252:21240;;;;;;5628:12;-1:-1:-1;1252:21240:107;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;:::o;:::-;5272:13;1252:21240;;-1:-1:-1;;;1252:21240:107;;;;;;;;;5272:13;1252:21240;;;;;;5272:13;-1:-1:-1;1252:21240:107;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21240:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:21240:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21240:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5628:12:107;1252:21240;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21240:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21240:107;;;;;;;;;;;;;;;;;12285:19:71;1252:21240:107;;12423:25:71;;:::o;12247:163::-;1252:21240:107;;12343:52:71;1252:21240:107;12353:41:71;1252:21240:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21240:107;;12353:41:71;;;1252:21240:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:21240:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:21240:107;12479:52:71;1252:21240:107;12489:41:71;1252:21240:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21240:107;;12489:41:71;;;1252:21240:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:107;1252:21240;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21240:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21240:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21240:107;;12343:52:71;1252:21240:107;12353:41:71;1252:21240:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:21240:107;;12353:41:71;;;1252:21240:107;12343:52:71;:::i;11860:713::-;1252:21240:107;12479:52:71;1252:21240:107;12489:41:71;1252:21240:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21240:107;;12489:41:71;;;1252:21240:107;12343:52:71;:::i;11657:922::-;1252:21240:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21240:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21240:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21240:107;;;12343:52:71;1252:21240:107;12353:41:71;1252:21240:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21240:107;;12353:41:71;;;1252:21240:107;12343:52:71;:::i;11860:713::-;1252:21240:107;;12479:52:71;1252:21240:107;12489:41:71;1252:21240:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21240:107;;12489:41:71;;;1252:21240:107;12343:52:71;:::i;18080:5181:68:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;1252:21240:107;18246:1:68;1252:21240:107;22284:6:68;;;;:::i;:::-;1252:21240:107;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;1252:21240:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:21240:107;19887:61:68;;19787:87;1252:21240:107;;;;;19787:87:68;;;19687;1252:21240:107;;;;;19687:87:68;;;19585:89;1252:21240:107;;;;;19585:89:68;;;19482:90;1252:21240:107;;;;;19482:90:68;;;19379;1252:21240:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:21240:107;-1:-1:-1;1252:21240:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21240:107;;3731:5:68;;;1252:21240:107;;;;;;;;;5098:13;-1:-1:-1;14439:109:71;1252:21240:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21240:107;;;;;-1:-1:-1;13189:136:71;1252:21240:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21240:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21240:107;;3731:5:68;;;1252:21240:107;;;;;;;;;5456:12;-1:-1:-1;14439:109:71;1252:21240:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21240:107;;;;;-1:-1:-1;13189:136:71;1252:21240:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21240:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:21240:107;;3731:5:68;;;1252:21240:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:21240:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21240:107;;;;;-1:-1:-1;13189:136:71;1252:21240:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:21240:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"70057":[{"start":5284,"length":32},{"start":6506,"length":32}],"70060":[{"start":7705,"length":32},{"start":9112,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init(bytes)":"ae13539e","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","activeBalanceOf(address)":"59f769a9","activeBalanceOfAt(address,uint48,bytes)":"efb559d6","activeShares()":"bfefcd7b","activeSharesAt(uint48,bytes)":"50f22068","activeSharesOf(address)":"9d66201b","activeSharesOfAt(address,uint48,bytes)":"2d73c69c","activeStake()":"bd49c35f","activeStakeAt(uint48,bytes)":"810da75d","burner()":"27810b6e","claim(address,uint256)":"aad3ec96","claimBatch(address,uint256[])":"7c04c80a","collateral()":"d8dfeb45","currentEpoch()":"76671808","currentEpochStart()":"61a8c8c4","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochAt(uint48)":"7953b33b","epochDuration()":"4ff0876a","epochDurationInit()":"46361671","epochDurationSetEpochsDelay()":"c642b050","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","maxFlashLoan(address)":"613255ab","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setEpochDuration(uint48,uint256)":"83f46c2c","setFlashFeeRate(uint256)":"d626811b","setFlashFeeReceiver(address)":"52741a40","setFlashloanEnabled(bool)":"859b9344","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076","withdrawalsOf(uint256,address)":"f5e7ee0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientRedemption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientWithdrawal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNewEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReturnAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxLoanExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewEpochDurationNotReady\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLowFlashLoanValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"OnSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"SetDelegator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"SetDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositorWhitelistStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"epochDuration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay\",\"type\":\"uint256\"}],\"name\":\"SetEpochDuration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flashFeeRate\",\"type\":\"uint256\"}],\"name\":\"SetFlashFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"flashFeeReceiver\",\"type\":\"address\"}],\"name\":\"SetFlashFeeReceiver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetFlashloanEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetIsDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"name\":\"SetSlasher\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"activeBalanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeStakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"}],\"name\":\"claimBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"epochAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"epochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"onSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"previousEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator_\",\"type\":\"address\"}],\"name\":\"setDelegator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"setDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositorWhitelistStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"epochDuration_\",\"type\":\"uint48\"},{\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay_\",\"type\":\"uint256\"}],\"name\":\"setEpochDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashFeeRate_\",\"type\":\"uint256\"}],\"name\":\"setFlashFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"flashFeeReceiver_\",\"type\":\"address\"}],\"name\":\"setFlashFeeReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setFlashloanEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setIsDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher_\",\"type\":\"address\"}],\"name\":\"setSlasher\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"slashableBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"Claim(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epoch\":\"epoch the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"ClaimBatch(address,address,uint256[],uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epochs\":\"epochs the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral deposited\",\"depositor\":\"account that made the deposit\",\"onBehalfOf\":\"account the deposit was made on behalf of\",\"shares\":\"amount of the active shares minted\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(uint256,uint48,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to slash\",\"captureTimestamp\":\"time point when the stake was captured\",\"slashedAmount\":\"real amount of the collateral slashed\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"SetDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"SetDepositLimit(uint256)\":{\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"SetDepositWhitelist(bool)\":{\"params\":{\"status\":\"if enabled deposit whitelist\"}},\"SetDepositorWhitelistStatus(address,bool)\":{\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisted the account\"}},\"SetEpochDuration(uint48,uint256)\":{\"params\":{\"epochDuration\":\"epoch duration\",\"epochDurationSetEpochsDelay\":\"delay for the epoch duration set in epochs\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"SetFlashloanEnabled(bool)\":{\"params\":{\"status\":\"if enabled flash loan\"}},\"SetIsDepositLimit(bool)\":{\"params\":{\"status\":\"if enabled deposit limit\"}},\"SetSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral withdrawn\",\"burnedShares\":\"amount of the active shares burned\",\"claimer\":\"account that needs to claim the withdrawal\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawer\":\"account that made the withdrawal\"}}},\"kind\":\"dev\",\"methods\":{\"activeBalanceOf(address)\":{\"params\":{\"account\":\"account to get the active balance for\"},\"returns\":{\"_0\":\"active balance for the account\"}},\"activeBalanceOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the active balance for\",\"hints\":\"hints for checkpoints' indexes\",\"timestamp\":\"time point to get the active balance for the account at\"},\"returns\":{\"_0\":\"active balance for the account at the timestamp\"}},\"activeShares()\":{\"returns\":{\"_0\":\"total number of active shares\"}},\"activeSharesAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total number of active shares at\"},\"returns\":{\"_0\":\"total number of active shares at the timestamp\"}},\"activeSharesOf(address)\":{\"params\":{\"account\":\"account to get the number of active shares for\"},\"returns\":{\"_0\":\"number of active shares for the account\"}},\"activeSharesOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the number of active shares for\",\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the number of active shares for the account at\"},\"returns\":{\"_0\":\"number of active shares for the account at the timestamp\"}},\"activeStake()\":{\"returns\":{\"_0\":\"total amount of active stake\"}},\"activeStakeAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total active stake at\"},\"returns\":{\"_0\":\"total amount of active stake at the timestamp\"}},\"claim(address,uint256)\":{\"params\":{\"epoch\":\"epoch to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"claimBatch(address,uint256[])\":{\"params\":{\"epochs\":\"epochs to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"currentEpoch()\":{\"returns\":{\"_0\":\"current epoch\"}},\"currentEpochStart()\":{\"returns\":{\"_0\":\"start of the current epoch\"}},\"deposit(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to deposit\",\"onBehalfOf\":\"account the deposit is made on behalf of\"},\"returns\":{\"depositedAmount\":\"real amount of the collateral deposited\",\"mintedShares\":\"amount of the active shares minted\"}},\"epochAt(uint48)\":{\"details\":\"Reverts if the timestamp is less than the start of the epoch 0.\",\"params\":{\"timestamp\":\"time point to get the epoch at\"},\"returns\":{\"_0\":\"epoch at the timestamp\"}},\"epochDuration()\":{\"returns\":{\"_0\":\"duration of the epoch\"}},\"epochDurationInit()\":{\"returns\":{\"_0\":\"time point of the epoch duration set\"}},\"epochDurationSetEpochsDelay()\":{\"returns\":{\"_0\":\"delay for the epoch duration set\"}},\"epochStart(uint256)\":{\"params\":{\"epoch\":\"epoch to get the start of\"},\"returns\":{\"_0\":\"start of the epoch\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lended.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"nextEpochStart()\":{\"returns\":{\"_0\":\"start of the next epoch\"}},\"onSlash(uint256,uint48)\":{\"details\":\"Only the slasher can call this function.\",\"params\":{\"amount\":\"amount to slash\",\"captureTimestamp\":\"time point when the stake was captured\"},\"returns\":{\"slashedAmount\":\"real amount of the collateral slashed\"}},\"previousEpochStart()\":{\"details\":\"Reverts if the current epoch is 0.\",\"returns\":{\"_0\":\"start of the previous epoch\"}},\"redeem(address,uint256)\":{\"params\":{\"claimer\":\"account that needs to claim the withdrawal\",\"shares\":\"amount of the active shares to redeem\"},\"returns\":{\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawnAssets\":\"amount of the collateral withdrawn\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"setDepositLimit(uint256)\":{\"details\":\"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"setDepositWhitelist(bool)\":{\"details\":\"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit whitelist\"}},\"setDepositorWhitelistStatus(address,bool)\":{\"details\":\"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.\",\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisting the account\"}},\"setEpochDuration(uint48,uint256)\":{\"details\":\"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.\",\"params\":{\"epochDurationSetEpochsDelay_\":\"delay for the epoch duration set in epochs\",\"epochDuration_\":\"epoch duration\"}},\"setFlashFeeRate(uint256)\":{\"details\":\"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeRate_\":\"flash fee rate\"}},\"setFlashFeeReceiver(address)\":{\"details\":\"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeReceiver_\":\"flash fee receiver\"}},\"setFlashloanEnabled(bool)\":{\"details\":\"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabled flash loan\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"setSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"slashableBalanceOf(address)\":{\"params\":{\"account\":\"account to get the slashable collateral for\"},\"returns\":{\"_0\":\"total amount of the account's slashable collateral\"}},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"withdraw(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to withdraw\",\"claimer\":\"account that needs to claim the withdrawal\"},\"returns\":{\"burnedShares\":\"amount of the active shares burned\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\"}},\"withdrawalsOf(uint256,address)\":{\"params\":{\"account\":\"account to get the withdrawals for\",\"epoch\":\"epoch to get the withdrawals for the account at\"},\"returns\":{\"_0\":\"withdrawals for the account at the epoch\"}}},\"stateVariables\":{\"DELEGATOR_FACTORY\":{\"return\":\"address of the delegator factory\",\"returns\":{\"_0\":\"address of the delegator factory\"}},\"SLASHER_FACTORY\":{\"return\":\"address of the slasher factory\",\"returns\":{\"_0\":\"address of the slasher factory\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Claim(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a claim is made.\"},\"ClaimBatch(address,address,uint256[],uint256)\":{\"notice\":\"Emitted when a batch claim is made.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a deposit is made.\"},\"OnSlash(uint256,uint48,uint256)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetDelegator(address)\":{\"notice\":\"Emitted when a delegator is set.\"},\"SetDepositLimit(uint256)\":{\"notice\":\"Emitted when a deposit limit is set.\"},\"SetDepositWhitelist(bool)\":{\"notice\":\"Emitted when a deposit whitelist status is enabled/disabled.\"},\"SetDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Emitted when a depositor whitelist status is set.\"},\"SetEpochDuration(uint48,uint256)\":{\"notice\":\"Emitted when a epoch duration is set (can be accepted after `epochDurationSetEpochsDelay` epochs).\"},\"SetFlashFeeRate(uint256)\":{\"notice\":\"Emitted when a flash fee rate is set.\"},\"SetFlashFeeReceiver(address)\":{\"notice\":\"Emitted when a flash fee receiver is set.\"},\"SetFlashloanEnabled(bool)\":{\"notice\":\"Emitted when a flash loan enabled status is set.\"},\"SetIsDepositLimit(bool)\":{\"notice\":\"Emitted when a deposit limit status is enabled/disabled.\"},\"SetSlasher(address)\":{\"notice\":\"Emitted when a slasher is set.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a withdrawal is made.\"}},\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"activeBalanceOf(address)\":{\"notice\":\"Get an active balance for a particular account.\"},\"activeBalanceOfAt(address,uint48,bytes)\":{\"notice\":\"Get an active balance for a particular account at a given timestamp using hints.\"},\"activeShares()\":{\"notice\":\"Get a total number of active shares in the vault.\"},\"activeSharesAt(uint48,bytes)\":{\"notice\":\"Get a total number of active shares in the vault at a given timestamp using a hint.\"},\"activeSharesOf(address)\":{\"notice\":\"Get a number of active shares for a particular account.\"},\"activeSharesOfAt(address,uint48,bytes)\":{\"notice\":\"Get a total number of active shares for a particular account at a given timestamp using a hint.\"},\"activeStake()\":{\"notice\":\"Get a total amount of active stake in the vault.\"},\"activeStakeAt(uint48,bytes)\":{\"notice\":\"Get a total amount of active stake in the vault at a given timestamp using a hint.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"claim(address,uint256)\":{\"notice\":\"Claim collateral from the vault.\"},\"claimBatch(address,uint256[])\":{\"notice\":\"Claim collateral from the vault for multiple epochs.\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"currentEpoch()\":{\"notice\":\"Get a current vault epoch.\"},\"currentEpochStart()\":{\"notice\":\"Get a start of the current vault epoch.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit collateral into the vault.\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"epochAt(uint48)\":{\"notice\":\"Get an epoch at a given timestamp.\"},\"epochDuration()\":{\"notice\":\"Get a duration of the vault epoch.\"},\"epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set.\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochStart(uint256)\":{\"notice\":\"Get a start of the epoch.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isInitialized()\":{\"notice\":\"Check if the vault is fully initialized (a delegator and a slasher are set).\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"previousEpochStart()\":{\"notice\":\"Get a start of the previous vault epoch.\"},\"redeem(address,uint256)\":{\"notice\":\"Redeem collateral from the vault (it will be claimable after the next epoch).\"},\"setDelegator(address)\":{\"notice\":\"Set a delegator.\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setEpochDuration(uint48,uint256)\":{\"notice\":\"Set an epoch duration (can be only greater than the current one).\"},\"setFlashFeeRate(uint256)\":{\"notice\":\"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"setFlashFeeReceiver(address)\":{\"notice\":\"Set a flash fee receiver.\"},\"setFlashloanEnabled(bool)\":{\"notice\":\"Set a flash loan enabled status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"setSlasher(address)\":{\"notice\":\"Set a slasher.\"},\"slashableBalanceOf(address)\":{\"notice\":\"Get a total amount of the collateral that can be slashed for a given account.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"totalStake()\":{\"notice\":\"Get a total amount of the collateral that can be slashed.\"},\"withdraw(address,uint256)\":{\"notice\":\"Withdraw collateral from the vault (it will be claimable after the next epoch).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"},\"withdrawalsOf(uint256,address)\":{\"notice\":\"Get withdrawals for a particular account at a given epoch (zero if claimed).\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultImplementation.sol\":\"VaultImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/v1.1/VaultImplementation.sol\":{\"keccak256\":\"0xf9bf72da99413bd89867f3ad6241be269241b485f107d3ad0ddc4d4e410034ea\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://06bd78e8e8eebdbfac44f622efb5554f39acbec432e00ff875690e660ab431e1\",\"dweb:/ipfs/QmXKFkmcLGtkokB5FqdXNbKfsL8Z6f9Lm52cFSaeWxK5n2\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IRegistry.sol\":{\"keccak256\":\"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014\",\"dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/delegator/IBaseDelegator.sol\":{\"keccak256\":\"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2\",\"dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"delegatorFactory","type":"address"},{"internalType":"address","name":"slasherFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyClaimed"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"inputs":[],"type":"error","name":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InsufficientRedemption"},{"inputs":[],"type":"error","name":"InsufficientWithdrawal"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCaptureEpoch"},{"inputs":[],"type":"error","name":"InvalidClaimer"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidDelegator"},{"inputs":[],"type":"error","name":"InvalidEpoch"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidNewEpochDuration"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"InvalidReceiver"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidReturnAmount"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MaxLoanExceeded"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NewEpochDurationNotReady"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooLowFlashLoanValue"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"epoch","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256[]","name":"epochs","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ClaimBatch","anonymous":false},{"inputs":[{"internalType":"address","name":"depositor","type":"address","indexed":true},{"internalType":"address","name":"onBehalfOf","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false}],"type":"event","name":"OnSlash","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true}],"type":"event","name":"SetDelegator","anonymous":false},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"SetDepositLimit","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositWhitelist","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositorWhitelistStatus","anonymous":false},{"inputs":[{"internalType":"uint48","name":"epochDuration","type":"uint48","indexed":false},{"internalType":"uint256","name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false}],"type":"event","name":"SetEpochDuration","anonymous":false},{"inputs":[{"internalType":"uint256","name":"flashFeeRate","type":"uint256","indexed":false}],"type":"event","name":"SetFlashFeeRate","anonymous":false},{"inputs":[{"internalType":"address","name":"flashFeeReceiver","type":"address","indexed":false}],"type":"event","name":"SetFlashFeeReceiver","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetFlashloanEnabled","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetIsDepositLimit","anonymous":false},{"inputs":[{"internalType":"address","name":"slasher","type":"address","indexed":true}],"type":"event","name":"SetSlasher","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"burnedShares","type":"uint256","indexed":false},{"internalType":"uint256","name":"mintedShares","type":"uint256","indexed":false}],"type":"event","name":"Withdraw","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DELEGATOR_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_Vault_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeBalanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeSharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeStakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claim","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"epochs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"claimBatch","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"epochAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"epochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function","name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"nonpayable","type":"function","name":"onSlash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"previousEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"delegator_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegator"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDepositLimit"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositWhitelist"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositorWhitelistStatus"},{"inputs":[{"internalType":"uint48","name":"epochDuration_","type":"uint48"},{"internalType":"uint256","name":"epochDurationSetEpochsDelay_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setEpochDuration"},{"inputs":[{"internalType":"uint256","name":"flashFeeRate_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeRate"},{"inputs":[{"internalType":"address","name":"flashFeeReceiver_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeReceiver"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setFlashloanEnabled"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsDepositLimit"},{"inputs":[{"internalType":"address","name":"slasher_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSlasher"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"slashableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activeBalanceOf(address)":{"params":{"account":"account to get the active balance for"},"returns":{"_0":"active balance for the account"}},"activeBalanceOfAt(address,uint48,bytes)":{"params":{"account":"account to get the active balance for","hints":"hints for checkpoints' indexes","timestamp":"time point to get the active balance for the account at"},"returns":{"_0":"active balance for the account at the timestamp"}},"activeShares()":{"returns":{"_0":"total number of active shares"}},"activeSharesAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total number of active shares at"},"returns":{"_0":"total number of active shares at the timestamp"}},"activeSharesOf(address)":{"params":{"account":"account to get the number of active shares for"},"returns":{"_0":"number of active shares for the account"}},"activeSharesOfAt(address,uint48,bytes)":{"params":{"account":"account to get the number of active shares for","hint":"hint for the checkpoint index","timestamp":"time point to get the number of active shares for the account at"},"returns":{"_0":"number of active shares for the account at the timestamp"}},"activeStake()":{"returns":{"_0":"total amount of active stake"}},"activeStakeAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total active stake at"},"returns":{"_0":"total amount of active stake at the timestamp"}},"claim(address,uint256)":{"params":{"epoch":"epoch to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"claimBatch(address,uint256[])":{"params":{"epochs":"epochs to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"currentEpoch()":{"returns":{"_0":"current epoch"}},"currentEpochStart()":{"returns":{"_0":"start of the current epoch"}},"deposit(address,uint256)":{"params":{"amount":"amount of the collateral to deposit","onBehalfOf":"account the deposit is made on behalf of"},"returns":{"depositedAmount":"real amount of the collateral deposited","mintedShares":"amount of the active shares minted"}},"epochAt(uint48)":{"details":"Reverts if the timestamp is less than the start of the epoch 0.","params":{"timestamp":"time point to get the epoch at"},"returns":{"_0":"epoch at the timestamp"}},"epochDuration()":{"returns":{"_0":"duration of the epoch"}},"epochDurationInit()":{"returns":{"_0":"time point of the epoch duration set"}},"epochDurationSetEpochsDelay()":{"returns":{"_0":"delay for the epoch duration set"}},"epochStart(uint256)":{"params":{"epoch":"epoch to get the start of"},"returns":{"_0":"start of the epoch"}},"flashFee(address,uint256)":{"details":"The fee to be charged for a given loan.","params":{"amount":"The amount of tokens lent.","token":"The loan currency."},"returns":{"_0":"The amount of `token` to be charged for the loan, on top of the returned principal."}},"flashLoan(address,address,uint256,bytes)":{"details":"Initiate a flash loan.","params":{"amount":"The amount of tokens lent.","data":"Arbitrary data structure, intended to contain user-defined parameters.","receiver":"The receiver of the tokens in the loan, and the receiver of the callback.","token":"The loan currency."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"maxFlashLoan(address)":{"details":"The amount of currency available to be lended.","params":{"token":"The loan currency."},"returns":{"_0":"The amount of `token` that can be borrowed."}},"nextEpochStart()":{"returns":{"_0":"start of the next epoch"}},"onSlash(uint256,uint48)":{"details":"Only the slasher can call this function.","params":{"amount":"amount to slash","captureTimestamp":"time point when the stake was captured"},"returns":{"slashedAmount":"real amount of the collateral slashed"}},"previousEpochStart()":{"details":"Reverts if the current epoch is 0.","returns":{"_0":"start of the previous epoch"}},"redeem(address,uint256)":{"params":{"claimer":"account that needs to claim the withdrawal","shares":"amount of the active shares to redeem"},"returns":{"mintedShares":"amount of the epoch withdrawal shares minted","withdrawnAssets":"amount of the collateral withdrawn"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setDelegator(address)":{"details":"Can be set only once.","params":{"delegator":"vault's delegator to delegate the stake to networks and operators"}},"setDepositLimit(uint256)":{"details":"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"limit":"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)"}},"setDepositWhitelist(bool)":{"details":"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit whitelist"}},"setDepositorWhitelistStatus(address,bool)":{"details":"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.","params":{"account":"account for which the whitelist status is set","status":"if whitelisting the account"}},"setEpochDuration(uint48,uint256)":{"details":"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.","params":{"epochDurationSetEpochsDelay_":"delay for the epoch duration set in epochs","epochDuration_":"epoch duration"}},"setFlashFeeRate(uint256)":{"details":"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.","params":{"flashFeeRate_":"flash fee rate"}},"setFlashFeeReceiver(address)":{"details":"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.","params":{"flashFeeReceiver_":"flash fee receiver"}},"setFlashloanEnabled(bool)":{"details":"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.","params":{"status":"if enabled flash loan"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"setSlasher(address)":{"details":"Can be set only once.","params":{"slasher":"vault's slasher to provide a slashing mechanism to networks"}},"slashableBalanceOf(address)":{"params":{"account":"account to get the slashable collateral for"},"returns":{"_0":"total amount of the account's slashable collateral"}},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"totalStake()":{"returns":{"_0":"total amount of the slashable collateral"}},"withdraw(address,uint256)":{"params":{"amount":"amount of the collateral to withdraw","claimer":"account that needs to claim the withdrawal"},"returns":{"burnedShares":"amount of the active shares burned","mintedShares":"amount of the epoch withdrawal shares minted"}},"withdrawalsOf(uint256,address)":{"params":{"account":"account to get the withdrawals for","epoch":"epoch to get the withdrawals for the account at"},"returns":{"_0":"withdrawals for the account at the epoch"}}},"version":1},"userdoc":{"kind":"user","methods":{"DELEGATOR_FACTORY()":{"notice":"Get the delegator factory's address."},"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"SLASHER_FACTORY()":{"notice":"Get the slasher factory's address."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"activeBalanceOf(address)":{"notice":"Get an active balance for a particular account."},"activeBalanceOfAt(address,uint48,bytes)":{"notice":"Get an active balance for a particular account at a given timestamp using hints."},"activeShares()":{"notice":"Get a total number of active shares in the vault."},"activeSharesAt(uint48,bytes)":{"notice":"Get a total number of active shares in the vault at a given timestamp using a hint."},"activeSharesOf(address)":{"notice":"Get a number of active shares for a particular account."},"activeSharesOfAt(address,uint48,bytes)":{"notice":"Get a total number of active shares for a particular account at a given timestamp using a hint."},"activeStake()":{"notice":"Get a total amount of active stake in the vault."},"activeStakeAt(uint48,bytes)":{"notice":"Get a total amount of active stake in the vault at a given timestamp using a hint."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"claim(address,uint256)":{"notice":"Claim collateral from the vault."},"claimBatch(address,uint256[])":{"notice":"Claim collateral from the vault for multiple epochs."},"collateral()":{"notice":"Get a vault collateral."},"currentEpoch()":{"notice":"Get a current vault epoch."},"currentEpochStart()":{"notice":"Get a start of the current vault epoch."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"deposit(address,uint256)":{"notice":"Deposit collateral into the vault."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"epochAt(uint48)":{"notice":"Get an epoch at a given timestamp."},"epochDuration()":{"notice":"Get a duration of the vault epoch."},"epochDurationInit()":{"notice":"Get a time point of the epoch duration set."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochStart(uint256)":{"notice":"Get a start of the epoch."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isInitialized()":{"notice":"Check if the vault is fully initialized (a delegator and a slasher are set)."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"previousEpochStart()":{"notice":"Get a start of the previous vault epoch."},"redeem(address,uint256)":{"notice":"Redeem collateral from the vault (it will be claimable after the next epoch)."},"setDelegator(address)":{"notice":"Set a delegator."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setEpochDuration(uint48,uint256)":{"notice":"Set an epoch duration (can be only greater than the current one)."},"setFlashFeeRate(uint256)":{"notice":"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"setFlashFeeReceiver(address)":{"notice":"Set a flash fee receiver."},"setFlashloanEnabled(bool)":{"notice":"Set a flash loan enabled status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"setSlasher(address)":{"notice":"Set a slasher."},"slashableBalanceOf(address)":{"notice":"Get a total amount of the collateral that can be slashed for a given account."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"totalStake()":{"notice":"Get a total amount of the collateral that can be slashed."},"withdraw(address,uint256)":{"notice":"Withdraw collateral from the vault (it will be claimable after the next epoch)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."},"withdrawalsOf(uint256,address)":{"notice":"Get withdrawals for a particular account at a given epoch (zero if claimed)."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultImplementation.sol":"VaultImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/v1.1/VaultImplementation.sol":{"keccak256":"0xf9bf72da99413bd89867f3ad6241be269241b485f107d3ad0ddc4d4e410034ea","urls":["bzz-raw://06bd78e8e8eebdbfac44f622efb5554f39acbec432e00ff875690e660ab431e1","dweb:/ipfs/QmXKFkmcLGtkokB5FqdXNbKfsL8Z6f9Lm52cFSaeWxK5n2"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IRegistry.sol":{"keccak256":"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb","urls":["bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014","dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/delegator/IBaseDelegator.sol":{"keccak256":"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee","urls":["bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2","dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DELEGATOR_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_Vault_init","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeShares","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStakeAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimBatch","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epochs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"currentEpoch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"epochAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochStart","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"flashFee","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoan","inputs":[{"name":"receiver","type":"address","internalType":"contract IERC3156FlashBorrower"},{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxFlashLoan","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"previousEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDelegator","inputs":[{"name":"delegator_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositLimit","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositWhitelist","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEpochDuration","inputs":[{"name":"epochDuration_","type":"uint48","internalType":"uint48"},{"name":"epochDurationSetEpochsDelay_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeRate","inputs":[{"name":"flashFeeRate_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashloanEnabled","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsDepositLimit","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSlasher","inputs":[{"name":"slasher_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slashableBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalsOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Claim","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epoch","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ClaimBatch","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epochs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"onBehalfOf","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"shares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"slashedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDelegator","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDepositLimit","inputs":[{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetDepositWhitelist","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetEpochDuration","inputs":[{"name":"epochDuration","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeRate","inputs":[{"name":"flashFeeRate","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetFlashloanEnabled","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetIsDepositLimit","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSlasher","inputs":[{"name":"slasher","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Withdraw","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"burnedShares","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mintedShares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyClaimed","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","inputs":[]},{"type":"error","name":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InsufficientRedemption","inputs":[]},{"type":"error","name":"InsufficientWithdrawal","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCaptureEpoch","inputs":[]},{"type":"error","name":"InvalidClaimer","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidDelegator","inputs":[]},{"type":"error","name":"InvalidEpoch","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidNewEpochDuration","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"InvalidReceiver","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidReturnAmount","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MaxLoanExceeded","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NewEpochDurationNotReady","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooLowFlashLoanValue","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60e0346100a257601f614e5438819003918201601f19168301916001600160401b038311848410176100a6578084926060946040528339810103126100a257610047816100ba565b906100606040610059602084016100ba565b92016100ba565b9160805260a05260c052604051614d8590816100cf823960805181612583015260a0518181816114a4015261196a015260c051818181611e1901526123980152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100a25756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105a45780631415519b1461059f5780631b66c9e11461059a5780631e9a695014610595578063248a9ca3146105905780632749f9c41461058b57806327810b6e14610586578063281f5752146105815780632d73c69c1461057c5780632f2ff15d146105775780632fa27fae1461057257806331d9736c1461056d57806336568abe14610568578063392e53cd146105635780634105a7dd1461055e578063463616711461055957806347e7ef241461055457806348d3b7751461054f5780634ff0876a1461054a57806350861adc1461054557806350f220681461054057806352741a401461053b5780635346e34f1461053657806359f769a9146105315780635a36aa741461052c5780635cc07076146105275780635cffe9de14610522578063613255ab1461051d57806361819dd81461051857806361a8c8c414610513578063653b04cd1461050e57806365d61c6c146105095780636da3e06d146105045780636e0f2455146104ff5780636ec1e3f8146104fa5780637278e31c146104f557806373790ab3146104f057806376671808146104eb578063794b15b7146104e65780637953b33b146104e15780637c04c80a146104dc578063810da75d146104d757806383cd9cc3146104d257806383f46c2c146104cd578063859b9344146104c857806387df0788146104c35780638b0e9f3f146104be57806391d14854146104b957806398ccba4a146104b45780639b4bae3e146104af5780639d66201b146104aa5780639f86fd85146104a55780639f9962dd146104a0578063a1b122021461049b578063a217fddf14610496578063a21a1df914610491578063a28614661461048c578063a3b5417214610487578063a5d0322314610482578063a66b3a731461047d578063a8b24f9a14610478578063aa9354a314610473578063aabc24961461046e578063aad3ec9614610469578063ae13539e14610464578063afba70ad1461045f578063b13442711461045a578063bba6ff4a14610455578063bc46f72214610450578063bd49c35f1461044b578063bdc8144b14610446578063bfefcd7b14610441578063c1bc6f511461043c578063c31e8dd714610437578063c4db46fc14610432578063c642b0501461042d578063cc52aee714610428578063ce9b793014610423578063d547741f1461041e578063d626811b14610419578063d8dfeb4514610414578063d9d98ce41461040f578063db3887151461040a578063e945da7f14610405578063ecc98f0514610400578063ecf70858146103fb578063efb559d6146103f6578063f3fef3a3146103f15763f5e7ee0f146103ec575f80fd5b612c64565b612bbe565b612a73565b612a56565b612a38565b612a1b565b6129e1565b6129b6565b61298b565b6128cb565b61287f565b612857565b61282f565b612815565b6127f8565b61278a565b612762565b612748565b612688565b61266e565b612634565b612617565b6125ef565b6125c5565b61254f565b61248e565b6122e5565b6122c7565b61229f565b612265565b61221f565b6121d2565b6120ed565b6120b3565b612099565b612075565b61204d565b611f80565b611f46565b611f29565b611f0c565b611eae565b611e48565b611e04565b611d78565b611ab0565b611905565b6118ec565b611886565b611868565b611828565b61180a565b6117d8565b61151d565b6114f8565b6114d3565b61148f565b61146a565b611430565b61140a565b6113d0565b6113a9565b61113f565b6110e8565b6110c0565b611099565b611012565b610f11565b610ef8565b610e92565b610e78565b610e57565b610ba7565b610b8d565b610af2565b610aad565b610a62565b610a28565b610a08565b6109ba565b61094a565b6107dc565b6107b4565b610797565b61075e565b610683565b610638565b6105fe565b346105fa5760203660031901126105fa5760043563ffffffff60e01b81168091036105fa57602090637965db0b60e01b81149081156105e9575b506040519015158152f35b6301ffc9a760e01b1490505f6105de565b5f80fd5b346105fa575f3660031901126105fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105fa575f3660031901126105fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105fa57565b346105fa5760403660031901126105fa576004356106a081610672565b602435906106ac6132fa565b6001600160a01b0381161561074d57335f908152600e602052604090206106d79061413c565b61413c565b821161073b576106f76106e8614054565b6106f06140c8565b908461418f565b91821561072657826107089261333c565b90610711613329565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105fa5760203660031901126105fa576004355f525f80516020614d108339815191526020526020600160405f200154604051908152f35b346105fa575f3660031901126105fa576020601454604051908152f35b346105fa575f3660031901126105fa576001546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576107fd6107f842614022565b612ef6565b801561082e575f1981019081116108295761081960209161313e565b65ffffffffffff60405191168152f35b612c8e565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105fa57565b6004359065ffffffffffff821682036105fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761089957604052565b61086a565b604081019081106001600160401b0382111761089957604052565b90601f801991011681019081106001600160401b0382111761089957604052565b604051906108e78261089e565b565b6001600160401b03811161089957601f01601f191660200190565b81601f820112156105fa5780359061091b826108e9565b9261092960405194856108b9565b828452602083830101116105fa57815f926020809301838601378301015290565b346105fa5760603660031901126105fa5760043561096781610672565b61096f610840565b90604435906001600160401b0382116105fa576020926109966109b2933690600401610904565b6001600160a01b039092165f908152600e855260409020613676565b604051908152f35b346105fa5760403660031901126105fa57610a066024356004356109dd82610672565b805f525f80516020614d10833981519152602052610a01600160405f2001546138fb565b613927565b005b346105fa575f3660031901126105fa57602060015460d01c604051908152f35b346105fa575f3660031901126105fa5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105fa5760403660031901126105fa57602435610a7f81610672565b336001600160a01b03821603610a9b57610a06906004356139c2565b60405163334bd91960e11b8152600490fd5b346105fa575f3660031901126105fa5760ff60025460a01c1680610ad9575b6020906040519015158152f35b5060035460a01c60ff16610acc565b801515036105fa57565b346105fa5760203660031901126105fa57600435610b0f81610ae8565b610b176132fa565b610b1f613742565b5f54901515908160ff8216151514610b7b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614d3083398151915255005b60405163a741a04560e01b8152600490fd5b346105fa575f3660031901126105fa576020610819612cde565b346105fa576040806003193601126105fa576004803591610bc783610672565b610bcf6132fa565b6001600160a01b0391838316908115610e49575f5460ff811680610e30575b610e215783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610df9575f93610dfe575b50610c43906024359030903390613a54565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610df957610c82935f92610dcc575b5050612cb0565b938415610dbd5760081c60ff1680610da8575b610d9a57509061072291610d46610caa614054565b95610cf3610cb66140c8565b610cde610cc48a838b61418f565b99610cd88a610cd242614022565b92612d46565b90613ba8565b5050610ced89610cd242614022565b90613c88565b50506001600160a01b0381165f908152600e6020526040902090610d4088610d3b6106d2610d2042614022565b6001600160a01b039095165f908152600e6020526040902090565b612d46565b91613d64565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d84613329565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610db584610d3b614054565b815410610c95565b50825163070f6eed60e11b8152fd5b610deb9250803d10610df2575b610de381836108b9565b810190612d1e565b5f80610c7b565b503d610dd9565b612d2d565b610c43919350610e1a90853d8711610df257610de381836108b9565b9290610c31565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bee565b8251630d534ce360e11b8152fd5b346105fa575f3660031901126105fa57602060ff5f54166040519015158152f35b346105fa575f3660031901126105fa576020610819612d53565b346105fa575f3660031901126105fa57602060ff60025460a01c166040519015158152f35b9060406003198301126105fa5760043565ffffffffffff811681036105fa5791602435906001600160401b0382116105fa57610ef591600401610904565b90565b346105fa5760206109b2610f0b36610eb7565b906134eb565b346105fa5760203660031901126105fa57600435610f2e81610672565b610f366132fa565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610ff457506016546001600160a01b039182169181168214610b7b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614d3083398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105fa5760203660031901126105fa5760043561102f81610ae8565b6110376132fa565b61103f61379f565b5f54901515908160ff8260081c16151514610b7b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a06613329565b346105fa5760203660031901126105fa5760206109b26004356110bb81610672565b612d99565b346105fa575f3660031901126105fa57602065ffffffffffff60135460301c16604051908152f35b346105fa5760203660031901126105fa576004355f526006602052602060405f2054604051908152f35b9181601f840112156105fa578235916001600160401b0383116105fa57602083818601950101116105fa57565b346105fa5760803660031901126105fa57600480359061115e82610672565b60243561116a81610672565b604435916064356001600160401b0381116105fa5761118c9036908301611112565b6111979491946132fa565b8115611398576111a684612e32565b82116113875761121a906111ba8386613256565b5f549095906111dc9060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610df9578c968f8f95978c988f955f9d611352575b509161124e8961126995935f98979516809a613e22565b516323e30c8b60e01b8152998a988997889633908801612de8565b03925af18015610df9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611335575b500361132557875190815230858201908152909383918591908290819060200103915afa8015610df95785936112d9935f92610dcc575050612cb0565b036113175750806112f8575b826112ee613329565b5160018152602090f35b60165461131092906001600160a01b03165b90613e22565b5f806112e5565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b61134c9150853d8711610df257610de381836108b9565b5f61129c565b5f969593919d5089611269959361137861124e938e803d10610df257610de381836108b9565b9f939597985093955050611237565b60405163347177ad60e21b81528390fd5b6040516391ba94bf60e01b81528390fd5b346105fa5760203660031901126105fa5760206109b26004356113cb81610672565b612e32565b346105fa575f3660031901126105fa5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105fa575f3660031901126105fa57602061081961142b6107f842614022565b61313e565b346105fa575f3660031901126105fa5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105fa575f3660031901126105fa57602060ff60165460a01c166040519015158152f35b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57602065ffffffffffff60135416604051908152f35b346105fa575f3660031901126105fa57602060ff60035460a01c166040519015158152f35b346105fa5760403660031901126105fa57600435611539610840565b6115416132fa565b600354611556906001600160a01b03166111d0565b33036117c6576115686107f842614022565b9061157281612ef6565b90821515806117b5575b80156117ac575b61179a57610722937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115b5614054565b946115d06115c282612d38565b5f52600660205260405f2090565b54908281036116b457506115e48187612d46565b83811881851002811896878061166d575b50505050505b8361163a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161162a613329565b6040519081529081906020820190565b5f546116689085906116579060101c6001600160a01b03166111d0565b6001546001600160a01b031661130a565b611601565b6116a993610c7b83610cd861169361168c6115c2986116a39888613ef9565b8096612cb0565b9461169d42614022565b92612cb0565b92612d38565b555f808080876115f5565b91506116c8825f52600660205260405f2090565b54906116d881610d3b848a612d46565b9084821882861002821897886116f3575b50505050506115fb565b611768938361171b936117288c611723611711611759998884613ef9565b9788958584613ef9565b948592612cb0565b612cb0565b93848410611773575b610c7b90610cd861174795969761169d42614022565b6117536115c287612d38565b55612cb0565b915f52600660205260405f2090565b555f808080806116e9565b9161178f610c7b91611789866117479798612cb0565b90612d46565b859450929050611731565b604051635e18d2a560e01b8152600490fd5b50828211611583565b506117bf83612ca2565b821061157c565b60405163dabc4ad960e01b8152600490fd5b346105fa575f3660031901126105fa576117f46107f842614022565b600181018091116108295761081960209161313e565b346105fa575f3660031901126105fa5760206109b26107f842614022565b346105fa5760203660031901126105fa5760043561184581610672565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105fa5760203660031901126105fa5760206109b26107f8610855565b346105fa5760403660031901126105fa576004356118a381610672565b6024356001600160401b038082116105fa57366023830112156105fa5781600401359081116105fa573660248260051b840101116105fa5761072292602461162a930190612fe1565b346105fa5760206109b26118ff36610eb7565b906135c1565b346105fa576020806003193601126105fa57600480359061192582610672565b61192d6132fa565b60025460a01c60ff16611aa1576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91611a74575b5015611a645760405163fbfa77cf60e01b8152838516949082818581895afa928315610df9575f93611a35575b505030911603611a265750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a06613329565b60405163b9f0f17160e01b8152fd5b611a55929350803d10611a5d575b611a4d81836108b9565b810190613116565b905f806119c7565b503d611a43565b506040516324e5af8d60e21b8152fd5b611a949150823d8411611a9a575b611a8c81836108b9565b810190613101565b5f61199a565b503d611a82565b604051631380833b60e01b8152fd5b346105fa5760403660031901126105fa57611ac9610855565b602435611ad46132fa565b611adc6137f6565b60038110611d665765ffffffffffff9182611b0260135465ffffffffffff9060601c1690565b168015159081611d50575b50611c52575b60015460d01c838083169116818111611c40571480611c35575b610b7b57611c0a611be1611bdc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b7c611b77611b6e6107f842614022565b600f5490612d46565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611bae61142b6107f842614022565b90611bd5600f54611bcf611bc460015460d01c90565b65ffffffffffff1690565b9061312b565b9116612d46565b614022565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c1382601055565b6040805165ffffffffffff9290921682526020820192909252a1610a06613329565b5081600f5414611b2d565b6040516359dcfd5560e11b8152600490fd5b611c5d601154601255565b611c97611c6c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cc39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cce601454601155565b601354611d059060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d409060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d4b601054600f55565b611b13565b9050611d5e611bc442614022565b10155f611b0d565b6040516317a509b960e31b8152600490fd5b346105fa5760203660031901126105fa57600435611d9581610ae8565b611d9d6132fa565b611da561384d565b601654901515908160ff8260a01c16151514610b7b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a1610a06613329565b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57611e646107f842614022565b611e6c614054565b90805f52600660205260405f205482018092116108295760018101809111610829575f52600660205260405f2054810180911161082957604051908152602090f35b346105fa5760403660031901126105fa57602060ff611f00602435611ed281610672565b6004355f525f80516020614d10833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105fa575f3660031901126105fa576020601254604051908152f35b346105fa575f3660031901126105fa576020601154604051908152f35b346105fa5760203660031901126105fa57600435611f6381610672565b60018060a01b03165f52600e60205260206109b260405f2061413c565b346105fa576040806003193601126105fa57600435611f9e81610672565b6024356001600160401b0381116105fa575f8061203c93611fc56080943690600401611112565b908188519283928337810184815203915af43d156120445760203d611fe9816108e9565b90611ff6875192836108b9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108b9565b805190602001fd5b60206060611fff565b346105fa575f3660031901126105fa57602065ffffffffffff60015460a01c16604051908152f35b346105fa575f3660031901126105fa57602060ff5f5460081c166040519015158152f35b346105fa575f3660031901126105fa5760206040515f8152f35b346105fa575f3660031901126105fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105fa5760403660031901126105fa5760043561210a81610672565b60243561211681610ae8565b61211e6132fa565b6121266138a4565b6001600160a01b0382169182156121c0575f8381526005602052604090205460ff16151582151514610b7b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121b5916121a3908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a06613329565b604051630da30f6560e31b8152600490fd5b346105fa5760403660031901126105fa5760206122166024356121f481610672565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105fa5760403660031901126105fa57602060ff611f0060243561224381610672565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105fa575f3660031901126105fa5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105fa575f3660031901126105fa576016546040516001600160a01b039091168152602090f35b346105fa5760203660031901126105fa57602061081960043561313e565b346105fa576020806003193601126105fa57600480359061230582610672565b61230d6132fa565b60035460a01c60ff1661247f576001600160a01b0382811693908461236d575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a06613329565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91612462575b50156124515760405163fbfa77cf60e01b815282818581895afa928315610df9575f93612432575b5050309116036124235750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061232d565b604051633f3e089160e21b8152fd5b612449929350803d10611a5d57611a4d81836108b9565b905f806123f0565b60405163dabc4ad960e01b81528390fd5b6124799150833d8511611a9a57611a8c81836108b9565b5f6123c8565b60405163703fe2e560e01b8152fd5b346105fa5760403660031901126105fa576004356124ab81610672565b602435906124b76132fa565b6001600160a01b039181831690811561253d576124e8610722946124da83613f86565b9485915f5460101c16613e22565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614d30833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105fa5760203660031901126105fa576004356001600160401b0381116105fa5761257f903690600401611112565b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036125b357005b604051631966391b60e11b8152600490fd5b346105fa5760203660031901126105fa576004355f526007602052602060405f2054604051908152f35b346105fa575f3660031901126105fa576003546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576020600f54604051908152f35b346105fa575f3660031901126105fa5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105fa575f3660031901126105fa5760206109b2614054565b346105fa5760203660031901126105fa576004356126a46132fa565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610ff457508060045414610b7b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614d3083398151915255005b346105fa575f3660031901126105fa5760206109b26140c8565b346105fa575f3660031901126105fa57602065ffffffffffff60135460901c16604051908152f35b346105fa5760203660031901126105fa576004356127a781610672565b6127b36107f842614022565b6127bc82612d99565b916127c7818361329c565b83018093116108295760018201809211610829576127e49161329c565b810180911161082957602090604051908152f35b346105fa575f3660031901126105fa576020601054604051908152f35b346105fa575f3660031901126105fa5760206109b2613216565b346105fa575f3660031901126105fa57602065ffffffffffff60135460601c16604051908152f35b346105fa575f3660031901126105fa576002546040516001600160a01b039091168152602090f35b346105fa5760403660031901126105fa57610a066024356004356128a282610672565b805f525f80516020614d108339815191526020526128c6600160405f2001546138fb565b6139c2565b346105fa5760203660031901126105fa576004356128e76132fa565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610ff457508060155414610b7b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614d3083398151915255005b346105fa575f3660031901126105fa575f5460405160109190911c6001600160a01b03168152602090f35b346105fa5760403660031901126105fa5760206109b26004356129d881610672565b60243590613256565b346105fa575f3660031901126105fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105fa575f3660031901126105fa576020601554604051908152f35b346105fa575f3660031901126105fa576020604051633b9aca008152f35b346105fa575f3660031901126105fa576020600454604051908152f35b346105fa5760603660031901126105fa57600435612a9081610672565b612a98610840565b6001600160401b0391906044358381116105fa57612aba903690600401611112565b90926040938451612aca8161087e565b60608152606060208201526060868201529280612b29575b61072286612b1a8787612b14612afb8984845191612cbd565b9285612b0b6020850151836135c1565b930151906134eb565b9161418f565b90519081529081906020820190565b81019392506020818503126105fa578035908682116105fa5701926060848203126105fa57845195612b5a8761087e565b84358181116105fa5782612b6f918701610904565b875260208501358181116105fa5782612b89918701610904565b6020880152858501359081116105fa5761072296612bb2612b1493612afb93612b1a9801610904565b87820152939450612ae2565b346105fa5760403660031901126105fa57600435612bdb81610672565b602435612be66132fa565b6001600160a01b0382161561074d578015612c5257612c15612c066140c8565b612c0e614054565b90836145d2565b335f908152600e60205260409020909290612c2f9061413c565b8311612c405761070891839161333c565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105fa5760403660031901126105fa5760206109b2602435612c8681610672565b60043561329c565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161082957565b9190820391821161082957565b6001600160a01b03165f908152600e60205260409020610ef5929190613676565b65ffffffffffff8060135460601c169081158015612d0b575b612cff575090565b905060015460a01c1690565b508181612d1742614022565b1610612cf7565b908160209103126105fa575190565b6040513d5f823e3d90fd5b906001820180921161082957565b9190820180921161082957565b60135465ffffffffffff90818160601c168015908115612d85575b50612d7a5760901c1690565b505060015460d01c90565b905082612d9142614022565b16105f612d6e565b6001600160a01b03165f908152600e60205260409020612db89061413c565b612dc0614054565b612dc86140c8565b9060018101809111610829576001820180921161082957610ef592613ef9565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612e439060a01c60ff161590565b612ea9575f5460101c6001600160a01b0390811691168103612ea9576040516370a0823160e01b815230600482015290602090829060249082905afa908115610df9575f91612e90575090565b610ef5915060203d602011610df257610de381836108b9565b505f90565b65ffffffffffff918216908216039190821161082957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612ef157160490565b612ec6565b60015465ffffffffffff808316929160a081901c821680851015612f6e5750506013549281841690818015918215612f64575b5050612f5257610ef59361178992612f47611bc49360125496612eae565b9160301c1690612eda565b60405163b7d0949760e01b8152600490fd5b109050815f612f29565b909160135490808260601c1695868015918215612fd7575b505015612fb2575050610ef5935061178991612fa8611bc49260115495612eae565b9060d01c90612eda565b6117899350611bc49250612fcc610ef59660145496612eae565b9160901c1690612eda565b109050865f612f86565b90612fea6132fa565b5f926001600160a01b03831692831561253d578115613094575f5b82811061307257505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d2792869290916130559184916130509060101c6001600160a01b03166111d0565b613e22565b6130666040519283923396846130cf565b0390a3906108e7613329565b9461308d6001916117896130878987896130ba565b35613f86565b9501613005565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b91908110156130ca5760051b0190565b6130a6565b604080825281018390529392916001600160fb1b0381116105fa5760209160609160051b809183880137850101930152565b908160209103126105fa5751610ef581610ae8565b908160209103126105fa5751610ef581610672565b8181029291811591840414171561082957565b601254808210613204576011548083101561317f5750611bdc90610ef592611bd56131736013549365ffffffffffff93612cb0565b828460301c169061312b565b9050601454801580156131fb575b156131c55750610ef59165ffffffffffff6131bb6131b1611bdc9460015494612cb0565b8360d01c9061312b565b9160a01c16612d46565b611bdc9150610ef5926131f16131e56013549365ffffffffffff93612cb0565b828460901c169061312b565b9160601c16612d46565b5080831061318d565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613241575b505061323b5760105490565b600f5490565b90915061324d42614022565b16105f8061322f565b5f546001600160a01b039160109190911c82169082160361328a576016541661327e57505f90565b601554610ef591613e7b565b60405163350b944160e11b8152600490fd5b906132c290825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610829576001820180921161082957610ef592613ef9565b5f80516020614d3083398151915260028154146133175760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614d3083398151915255565b335f908152600e602052604090209392919061335742614022565b335f908152600e6020526040902061336e9061413c565b91848303928311610829576133a97febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361343899613d64565b50506133c36133b742614022565b610ced876117236140c8565b50506133dd6133d142614022565b610cd884611723614054565b5050613486816134716133fa6133f56107f842614022565b612d38565b61345061340f825f52600660205260405f2090565b54613422835f52600760205260405f2090565b5461342e82828b61418f565b9d8e998a93612d46565b61344a855f52600660205260405f2090565b55612d46565b613462825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b613491838254612d46565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105fa575163ffffffff811681036105fa5790565b90600163ffffffff8093160191821161082957565b908051156135b75780602080613506935183010191016134ba565b61350f81614400565b90613520825165ffffffffffff1690565b9065ffffffffffff80851692168281146135ab5782119182613556575b505061354d5750610ef5906141b0565b60209150015190565b909150613564600a54612ca2565b63ffffffff83161491821561357d575b50505f8061353d565b6135a3919250613597613592611bc4926134d6565b614400565b5165ffffffffffff1690565b115f80613574565b50505060209150015190565b50610ef5906141b0565b9080511561366c57806020806135dc935183010191016134ba565b6135e58161448a565b906135f6825165ffffffffffff1690565b9065ffffffffffff80851692168281146135ab5782119182613623575b505061354d5750610ef590614277565b909150613631600c54612ca2565b63ffffffff83161491821561364a575b50505f80613613565b61366491925061359761365f611bc4926134d6565b61448a565b115f80613641565b50610ef590614277565b918051156137385780602080613691935183010191016134ba565b9161369c838261450a565b926136ad845165ffffffffffff1690565b9065ffffffffffff808516921682811461372c57821191826136e3575b50506136da57610ef59250614337565b50506020015190565b9091506136f08354612ca2565b63ffffffff831614918215613709575b50505f806136ca565b61372491925061359761371e611bc4926134d6565b8561450a565b115f80613700565b50505050506020015190565b50610ef591614337565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610ff45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613795565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613795565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff90613795565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613795565b5f8181525f80516020614d1083398151915260209081526040808320338452909152902060ff90613795565b5f8181525f80516020614d10833981519152602081815260408084206001600160a01b03871685529091529091205460ff166139bb575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614d10833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156139bb575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610899576108e792604052614578565b600b548110156130ca57600b5f525f80516020614cf083398151915201905f90565b600d548110156130ca57600d5f525f80516020614cd083398151915201905f90565b80548210156130ca575f5260205f2001905f90565b600d54600160401b811015610899576001810180600d558110156130ca57600d5f525f80516020614cd08339815191520155565b600b54600160401b811015610899576001810180600b558110156130ca57600b5f525f80516020614cf08339815191520155565b90815491600160401b8310156108995782613b909160016108e795018155613af0565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613c53575b50613bc061460b565b50929091815492613bcf614054565b9481613c3e575b5015613c1b57505f19820182811161082957815411156130ca575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613c2f926001600160d01b03169150614807565b5050613c3a83613b05565b9190565b65ffffffffffff83811691161490505f613bd6565b600160401b81101561089957600181018084558110156130ca575f908382525f80516020614cd083398151915201555f613bb7565b919091600b9081548015613d2f575b50613ca0614660565b50929091815492613caf6140c8565b9481613d1a575b5015613cfb57505f19820182811161082957815411156130ca575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613d0f926001600160d01b031691506148d7565b5050613c3a83613b39565b65ffffffffffff83811691161490505f613cb6565b600160401b81101561089957600181018084558110156130ca575f908382525f80516020614cf083398151915201555f613c97565b90929192600182019081548015613df2575b5084613d81846146b5565b50949092845493613d918361413c565b9681613ddd575b5015613dba575050505f19810190811161082957613b908591613c3a93613af0565b613c3a949293613dd6926001600160d01b039091169190614976565b5050613b6d565b65ffffffffffff83811691161490505f613d98565b600160401b81101561089957806001613e0e9201845583613af0565b8154905f199060031b1b191690555f613d76565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610899576108e792604052614578565b8115612ef1570490565b90808202905f1981840990828083109203918083039214613eec57633b9aca009082821115613eda577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f795784831115613f6c5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186146ee565b505090610ef59250613e71565b90613f936107f842614022565b8210156132045760ff613fc3613fb1845f52600960205260405f2090565b335f9081526020919091526040902090565b541661401057613fd3338361329c565b918215613ffe57613ff19061347133915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111614035571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061408f57505f5b6001600160d01b03811615612ea957600d548110156130ca57600d5f525f80516020614cd0833981519152015490565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c61405f565b600a548061410357505f5b6001600160d01b03811615612ea957600b548110156130ca57600b5f525f80516020614cf0833981519152015490565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6140d3565b80548061417157505f5b6001600160d01b0381161561416b5760016141619201613af0565b90549060031b1c90565b50505f90565b5f1990808281011161082957825f5260205f2001015460301c614146565b919060018101809111610829576001820180921161082957610ef592613ef9565b600a54905f82916005841161421e575b6141ca9350614b5b565b806141ed57505f5b6001600160d01b03811615612ea957614161610ef591613aac565b6142126141fc61421992612ca2565b600a5f525f80516020614cb08339815191520190565b5460301c90565b6141d2565b919261422981614a30565b8103908111610829576141ca93600a5f5265ffffffffffff80835f80516020614cb0833981519152015416908516105f146142655750916141c0565b92915061427190612d38565b906141c0565b600c54905f8291600584116142de575b6142919350614bc4565b806142b457505f5b6001600160d01b03811615612ea957614161610ef591613ace565b6142126142c36142d992612ca2565b600c5f525f80516020614c908339815191520190565b614299565b91926142e981614a30565b81039081116108295761429193600c5f5265ffffffffffff80835f80516020614c90833981519152015416908516105f14614325575091614287565b92915061433190612d38565b90614287565b908154905f82916005841161439a575b614352935084614c2d565b8061437a57505f905b6001600160d01b0382161561416b57610ef59160016141619201613af0565b61421261438961439492612ca2565b835f5260205f200190565b9061435b565b91926143a581614a30565b81039081116108295761435293855f5265ffffffffffff808360205f20015416908516105f146143d6575091614347565b9291506143e290612d38565b90614347565b604051906143f58261089e565b5f6020838281520152565b6144086143e8565b506144116143e8565b50600a548110156130ca57600a5f5260206040519161442f8361089e565b5f80516020614cb083398151915201549165ffffffffffff83169283825260301c9182910152600b548110156130ca57600b5f525f80516020614cf08339815191520154604051916144808361089e565b8252602082015290565b6144926143e8565b5061449b6143e8565b50600c548110156130ca57600c5f526020604051916144b98361089e565b5f80516020614c9083398151915201549165ffffffffffff83169283825260301c9182910152600d548110156130ca57600d5f525f80516020614cd08339815191520154604051916144808361089e565b906020600161452e61455a9361451e6143e8565b506145276143e8565b5085613af0565b50936040519461453d8661089e565b549465ffffffffffff86169586825260301c938491015201613af0565b9054906040519261456a8461089e565b835260031b1c602082015290565b905f602091828151910182855af115612d2d575f513d6145c957506001600160a01b0381163b155b6145a75750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156145a0565b9190600181018091116108295760018201809211610829576145f5828285613ef9565b928215612ef15709151581018091116108295790565b600c548061461c57505f905f905f90565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061467157505f905f905f90565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806146c65750505f905f905f90565b5f19918183810111610829575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610899576001820180600c558210156130ca57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c9083398151915290910155565b600a5490600160401b821015610899576001820180600a558210156130ca57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614cb083398151915290910155565b8054600160401b811015610899576147c991600182018155613af0565b6147f457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156148ae576142c361481f91612ca2565b9081549165ffffffffffff9081841691831680831161489c578692036148645761485d92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614897906148836148756108da565b65ffffffffffff9092168252565b6001600160d01b03851660208201526146fe565b61485d565b604051632520601d60e01b8152600490fd5b506148d2906148be6148756108da565b6001600160d01b03841660208201526146fe565b5f9190565b600a549192918015614952576141fc6148ef91612ca2565b9081549165ffffffffffff9081841691831680831161489c5786920361492d5761485d92509065ffffffffffff82549181199060301b169116179055565b50506148979061493e6148756108da565b6001600160d01b0385166020820152614755565b506148d2906149626148756108da565b6001600160d01b0384166020820152614755565b80549293928015614a0b5761498d61499891612ca2565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161489c578793036149d7575061485d92509065ffffffffffff82549181199060301b169116179055565b915050614897916149f76149e96108da565b65ffffffffffff9093168352565b6001600160d01b03861660208301526147ac565b50906148d291614a1c6149e96108da565b6001600160d01b03851660208301526147ac565b6001811115610ef557600181600160801b811015614b49575b614af1614ae7614add614ad3614ac9614abf614afd97600488600160401b614af89a1015614b3c575b640100000000811015614b2f575b62010000811015614b22575b610100811015614b16575b6010811015614b0a575b1015614b02575b60030260011c614ab8818b613e71565b0160011c90565b614ab8818a613e71565b614ab88189613e71565b614ab88188613e71565b614ab88187613e71565b614ab88186613e71565b8093613e71565b821190565b900390565b60011b614aa8565b811c9160021b91614aa1565b60081c91811b91614a97565b60101c9160081b91614a8c565b60201c9160101b91614a80565b60401c9160201b91614a72565b50600160401b9050608082901c614a49565b905b828110614b6957505090565b9091808216906001818418811c830180931161082957600a5f5265ffffffffffff80845f80516020614cb0833981519152015416908616105f14614bb1575050915b90614b5d565b9093925081018091116108295790614bab565b905b828110614bd257505090565b9091808216906001818418811c830180931161082957600c5f5265ffffffffffff80845f80516020614c90833981519152015416908616105f14614c1a575050915b90614bc6565b9093925081018091116108295790614c14565b91905b838210614c3d5750505090565b909192808316906001818518811c830180931161082957855f5265ffffffffffff808460205f20015416908516105f14614c7c575050925b9190614c30565b9094935081018091116108295791614c7556fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220eff4d5fcb7aa031c364f1c353a823d2e7146f4cfb8509e3f9636ce6f078a9e5264736f6c63430008190033","sourceMap":"1305:21339:108:-:0;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;358:17:106;;;1925:36:108;;1971:32;;1305:21339;;;;;;;;358:17:106;1305:21339:108;;;;;1925:36;1305:21339;;;;;;;;;;1971:32;1305:21339;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;;;-1:-1:-1;1305:21339:108;;;;;-1:-1:-1;1305:21339:108;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105a45780631415519b1461059f5780631b66c9e11461059a5780631e9a695014610595578063248a9ca3146105905780632749f9c41461058b57806327810b6e14610586578063281f5752146105815780632d73c69c1461057c5780632f2ff15d146105775780632fa27fae1461057257806331d9736c1461056d57806336568abe14610568578063392e53cd146105635780634105a7dd1461055e578063463616711461055957806347e7ef241461055457806348d3b7751461054f5780634ff0876a1461054a57806350861adc1461054557806350f220681461054057806352741a401461053b5780635346e34f1461053657806359f769a9146105315780635a36aa741461052c5780635cc07076146105275780635cffe9de14610522578063613255ab1461051d57806361819dd81461051857806361a8c8c414610513578063653b04cd1461050e57806365d61c6c146105095780636da3e06d146105045780636e0f2455146104ff5780636ec1e3f8146104fa5780637278e31c146104f557806373790ab3146104f057806376671808146104eb578063794b15b7146104e65780637953b33b146104e15780637c04c80a146104dc578063810da75d146104d757806383cd9cc3146104d257806383f46c2c146104cd578063859b9344146104c857806387df0788146104c35780638b0e9f3f146104be57806391d14854146104b957806398ccba4a146104b45780639b4bae3e146104af5780639d66201b146104aa5780639f86fd85146104a55780639f9962dd146104a0578063a1b122021461049b578063a217fddf14610496578063a21a1df914610491578063a28614661461048c578063a3b5417214610487578063a5d0322314610482578063a66b3a731461047d578063a8b24f9a14610478578063aa9354a314610473578063aabc24961461046e578063aad3ec9614610469578063ae13539e14610464578063afba70ad1461045f578063b13442711461045a578063bba6ff4a14610455578063bc46f72214610450578063bd49c35f1461044b578063bdc8144b14610446578063bfefcd7b14610441578063c1bc6f511461043c578063c31e8dd714610437578063c4db46fc14610432578063c642b0501461042d578063cc52aee714610428578063ce9b793014610423578063d547741f1461041e578063d626811b14610419578063d8dfeb4514610414578063d9d98ce41461040f578063db3887151461040a578063e945da7f14610405578063ecc98f0514610400578063ecf70858146103fb578063efb559d6146103f6578063f3fef3a3146103f15763f5e7ee0f146103ec575f80fd5b612c64565b612bbe565b612a73565b612a56565b612a38565b612a1b565b6129e1565b6129b6565b61298b565b6128cb565b61287f565b612857565b61282f565b612815565b6127f8565b61278a565b612762565b612748565b612688565b61266e565b612634565b612617565b6125ef565b6125c5565b61254f565b61248e565b6122e5565b6122c7565b61229f565b612265565b61221f565b6121d2565b6120ed565b6120b3565b612099565b612075565b61204d565b611f80565b611f46565b611f29565b611f0c565b611eae565b611e48565b611e04565b611d78565b611ab0565b611905565b6118ec565b611886565b611868565b611828565b61180a565b6117d8565b61151d565b6114f8565b6114d3565b61148f565b61146a565b611430565b61140a565b6113d0565b6113a9565b61113f565b6110e8565b6110c0565b611099565b611012565b610f11565b610ef8565b610e92565b610e78565b610e57565b610ba7565b610b8d565b610af2565b610aad565b610a62565b610a28565b610a08565b6109ba565b61094a565b6107dc565b6107b4565b610797565b61075e565b610683565b610638565b6105fe565b346105fa5760203660031901126105fa5760043563ffffffff60e01b81168091036105fa57602090637965db0b60e01b81149081156105e9575b506040519015158152f35b6301ffc9a760e01b1490505f6105de565b5f80fd5b346105fa575f3660031901126105fa5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105fa575f3660031901126105fa5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105fa57565b346105fa5760403660031901126105fa576004356106a081610672565b602435906106ac6132fa565b6001600160a01b0381161561074d57335f908152600e602052604090206106d79061413c565b61413c565b821161073b576106f76106e8614054565b6106f06140c8565b908461418f565b91821561072657826107089261333c565b90610711613329565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105fa5760203660031901126105fa576004355f525f80516020614d108339815191526020526020600160405f200154604051908152f35b346105fa575f3660031901126105fa576020601454604051908152f35b346105fa575f3660031901126105fa576001546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576107fd6107f842614022565b612ef6565b801561082e575f1981019081116108295761081960209161313e565b65ffffffffffff60405191168152f35b612c8e565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105fa57565b6004359065ffffffffffff821682036105fa57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761089957604052565b61086a565b604081019081106001600160401b0382111761089957604052565b90601f801991011681019081106001600160401b0382111761089957604052565b604051906108e78261089e565b565b6001600160401b03811161089957601f01601f191660200190565b81601f820112156105fa5780359061091b826108e9565b9261092960405194856108b9565b828452602083830101116105fa57815f926020809301838601378301015290565b346105fa5760603660031901126105fa5760043561096781610672565b61096f610840565b90604435906001600160401b0382116105fa576020926109966109b2933690600401610904565b6001600160a01b039092165f908152600e855260409020613676565b604051908152f35b346105fa5760403660031901126105fa57610a066024356004356109dd82610672565b805f525f80516020614d10833981519152602052610a01600160405f2001546138fb565b613927565b005b346105fa575f3660031901126105fa57602060015460d01c604051908152f35b346105fa575f3660031901126105fa5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105fa5760403660031901126105fa57602435610a7f81610672565b336001600160a01b03821603610a9b57610a06906004356139c2565b60405163334bd91960e11b8152600490fd5b346105fa575f3660031901126105fa5760ff60025460a01c1680610ad9575b6020906040519015158152f35b5060035460a01c60ff16610acc565b801515036105fa57565b346105fa5760203660031901126105fa57600435610b0f81610ae8565b610b176132fa565b610b1f613742565b5f54901515908160ff8216151514610b7b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614d3083398151915255005b60405163a741a04560e01b8152600490fd5b346105fa575f3660031901126105fa576020610819612cde565b346105fa576040806003193601126105fa576004803591610bc783610672565b610bcf6132fa565b6001600160a01b0391838316908115610e49575f5460ff811680610e30575b610e215783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610df9575f93610dfe575b50610c43906024359030903390613a54565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610df957610c82935f92610dcc575b5050612cb0565b938415610dbd5760081c60ff1680610da8575b610d9a57509061072291610d46610caa614054565b95610cf3610cb66140c8565b610cde610cc48a838b61418f565b99610cd88a610cd242614022565b92612d46565b90613ba8565b5050610ced89610cd242614022565b90613c88565b50506001600160a01b0381165f908152600e6020526040902090610d4088610d3b6106d2610d2042614022565b6001600160a01b039095165f908152600e6020526040902090565b612d46565b91613d64565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d84613329565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610db584610d3b614054565b815410610c95565b50825163070f6eed60e11b8152fd5b610deb9250803d10610df2575b610de381836108b9565b810190612d1e565b5f80610c7b565b503d610dd9565b612d2d565b610c43919350610e1a90853d8711610df257610de381836108b9565b9290610c31565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bee565b8251630d534ce360e11b8152fd5b346105fa575f3660031901126105fa57602060ff5f54166040519015158152f35b346105fa575f3660031901126105fa576020610819612d53565b346105fa575f3660031901126105fa57602060ff60025460a01c166040519015158152f35b9060406003198301126105fa5760043565ffffffffffff811681036105fa5791602435906001600160401b0382116105fa57610ef591600401610904565b90565b346105fa5760206109b2610f0b36610eb7565b906134eb565b346105fa5760203660031901126105fa57600435610f2e81610672565b610f366132fa565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610ff457506016546001600160a01b039182169181168214610b7b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614d3083398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105fa5760203660031901126105fa5760043561102f81610ae8565b6110376132fa565b61103f61379f565b5f54901515908160ff8260081c16151514610b7b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a1610a06613329565b346105fa5760203660031901126105fa5760206109b26004356110bb81610672565b612d99565b346105fa575f3660031901126105fa57602065ffffffffffff60135460301c16604051908152f35b346105fa5760203660031901126105fa576004355f526006602052602060405f2054604051908152f35b9181601f840112156105fa578235916001600160401b0383116105fa57602083818601950101116105fa57565b346105fa5760803660031901126105fa57600480359061115e82610672565b60243561116a81610672565b604435916064356001600160401b0381116105fa5761118c9036908301611112565b6111979491946132fa565b8115611398576111a684612e32565b82116113875761121a906111ba8386613256565b5f549095906111dc9060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610df9578c968f8f95978c988f955f9d611352575b509161124e8961126995935f98979516809a613e22565b516323e30c8b60e01b8152998a988997889633908801612de8565b03925af18015610df9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611335575b500361132557875190815230858201908152909383918591908290819060200103915afa8015610df95785936112d9935f92610dcc575050612cb0565b036113175750806112f8575b826112ee613329565b5160018152602090f35b60165461131092906001600160a01b03165b90613e22565b5f806112e5565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b61134c9150853d8711610df257610de381836108b9565b5f61129c565b5f969593919d5089611269959361137861124e938e803d10610df257610de381836108b9565b9f939597985093955050611237565b60405163347177ad60e21b81528390fd5b6040516391ba94bf60e01b81528390fd5b346105fa5760203660031901126105fa5760206109b26004356113cb81610672565b612e32565b346105fa575f3660031901126105fa5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105fa575f3660031901126105fa57602061081961142b6107f842614022565b61313e565b346105fa575f3660031901126105fa5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105fa575f3660031901126105fa57602060ff60165460a01c166040519015158152f35b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57602065ffffffffffff60135416604051908152f35b346105fa575f3660031901126105fa57602060ff60035460a01c166040519015158152f35b346105fa5760403660031901126105fa57600435611539610840565b6115416132fa565b600354611556906001600160a01b03166111d0565b33036117c6576115686107f842614022565b9061157281612ef6565b90821515806117b5575b80156117ac575b61179a57610722937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115b5614054565b946115d06115c282612d38565b5f52600660205260405f2090565b54908281036116b457506115e48187612d46565b83811881851002811896878061166d575b50505050505b8361163a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161162a613329565b6040519081529081906020820190565b5f546116689085906116579060101c6001600160a01b03166111d0565b6001546001600160a01b031661130a565b611601565b6116a993610c7b83610cd861169361168c6115c2986116a39888613ef9565b8096612cb0565b9461169d42614022565b92612cb0565b92612d38565b555f808080876115f5565b91506116c8825f52600660205260405f2090565b54906116d881610d3b848a612d46565b9084821882861002821897886116f3575b50505050506115fb565b611768938361171b936117288c611723611711611759998884613ef9565b9788958584613ef9565b948592612cb0565b612cb0565b93848410611773575b610c7b90610cd861174795969761169d42614022565b6117536115c287612d38565b55612cb0565b915f52600660205260405f2090565b555f808080806116e9565b9161178f610c7b91611789866117479798612cb0565b90612d46565b859450929050611731565b604051635e18d2a560e01b8152600490fd5b50828211611583565b506117bf83612ca2565b821061157c565b60405163dabc4ad960e01b8152600490fd5b346105fa575f3660031901126105fa576117f46107f842614022565b600181018091116108295761081960209161313e565b346105fa575f3660031901126105fa5760206109b26107f842614022565b346105fa5760203660031901126105fa5760043561184581610672565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105fa5760203660031901126105fa5760206109b26107f8610855565b346105fa5760403660031901126105fa576004356118a381610672565b6024356001600160401b038082116105fa57366023830112156105fa5781600401359081116105fa573660248260051b840101116105fa5761072292602461162a930190612fe1565b346105fa5760206109b26118ff36610eb7565b906135c1565b346105fa576020806003193601126105fa57600480359061192582610672565b61192d6132fa565b60025460a01c60ff16611aa1576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91611a74575b5015611a645760405163fbfa77cf60e01b8152838516949082818581895afa928315610df9575f93611a35575b505030911603611a265750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a2610a06613329565b60405163b9f0f17160e01b8152fd5b611a55929350803d10611a5d575b611a4d81836108b9565b810190613116565b905f806119c7565b503d611a43565b506040516324e5af8d60e21b8152fd5b611a949150823d8411611a9a575b611a8c81836108b9565b810190613101565b5f61199a565b503d611a82565b604051631380833b60e01b8152fd5b346105fa5760403660031901126105fa57611ac9610855565b602435611ad46132fa565b611adc6137f6565b60038110611d665765ffffffffffff9182611b0260135465ffffffffffff9060601c1690565b168015159081611d50575b50611c52575b60015460d01c838083169116818111611c40571480611c35575b610b7b57611c0a611be1611bdc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b7c611b77611b6e6107f842614022565b600f5490612d46565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611bae61142b6107f842614022565b90611bd5600f54611bcf611bc460015460d01c90565b65ffffffffffff1690565b9061312b565b9116612d46565b614022565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c1382601055565b6040805165ffffffffffff9290921682526020820192909252a1610a06613329565b5081600f5414611b2d565b6040516359dcfd5560e11b8152600490fd5b611c5d601154601255565b611c97611c6c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cc39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cce601454601155565b601354611d059060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d409060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d4b601054600f55565b611b13565b9050611d5e611bc442614022565b10155f611b0d565b6040516317a509b960e31b8152600490fd5b346105fa5760203660031901126105fa57600435611d9581610ae8565b611d9d6132fa565b611da561384d565b601654901515908160ff8260a01c16151514610b7b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a1610a06613329565b346105fa575f3660031901126105fa576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105fa575f3660031901126105fa57611e646107f842614022565b611e6c614054565b90805f52600660205260405f205482018092116108295760018101809111610829575f52600660205260405f2054810180911161082957604051908152602090f35b346105fa5760403660031901126105fa57602060ff611f00602435611ed281610672565b6004355f525f80516020614d10833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105fa575f3660031901126105fa576020601254604051908152f35b346105fa575f3660031901126105fa576020601154604051908152f35b346105fa5760203660031901126105fa57600435611f6381610672565b60018060a01b03165f52600e60205260206109b260405f2061413c565b346105fa576040806003193601126105fa57600435611f9e81610672565b6024356001600160401b0381116105fa575f8061203c93611fc56080943690600401611112565b908188519283928337810184815203915af43d156120445760203d611fe9816108e9565b90611ff6875192836108b9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108b9565b805190602001fd5b60206060611fff565b346105fa575f3660031901126105fa57602065ffffffffffff60015460a01c16604051908152f35b346105fa575f3660031901126105fa57602060ff5f5460081c166040519015158152f35b346105fa575f3660031901126105fa5760206040515f8152f35b346105fa575f3660031901126105fa5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105fa5760403660031901126105fa5760043561210a81610672565b60243561211681610ae8565b61211e6132fa565b6121266138a4565b6001600160a01b0382169182156121c0575f8381526005602052604090205460ff16151582151514610b7b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121b5916121a3908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a2610a06613329565b604051630da30f6560e31b8152600490fd5b346105fa5760403660031901126105fa5760206122166024356121f481610672565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105fa5760403660031901126105fa57602060ff611f0060243561224381610672565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105fa575f3660031901126105fa5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105fa575f3660031901126105fa576016546040516001600160a01b039091168152602090f35b346105fa5760203660031901126105fa57602061081960043561313e565b346105fa576020806003193601126105fa57600480359061230582610672565b61230d6132fa565b60035460a01c60ff1661247f576001600160a01b0382811693908461236d575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a2610a06613329565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610df9575f91612462575b50156124515760405163fbfa77cf60e01b815282818581895afa928315610df9575f93612432575b5050309116036124235750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061232d565b604051633f3e089160e21b8152fd5b612449929350803d10611a5d57611a4d81836108b9565b905f806123f0565b60405163dabc4ad960e01b81528390fd5b6124799150833d8511611a9a57611a8c81836108b9565b5f6123c8565b60405163703fe2e560e01b8152fd5b346105fa5760403660031901126105fa576004356124ab81610672565b602435906124b76132fa565b6001600160a01b039181831690811561253d576124e8610722946124da83613f86565b9485915f5460101c16613e22565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614d30833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105fa5760203660031901126105fa576004356001600160401b0381116105fa5761257f903690600401611112565b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036125b357005b604051631966391b60e11b8152600490fd5b346105fa5760203660031901126105fa576004355f526007602052602060405f2054604051908152f35b346105fa575f3660031901126105fa576003546040516001600160a01b039091168152602090f35b346105fa575f3660031901126105fa576020600f54604051908152f35b346105fa575f3660031901126105fa5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105fa575f3660031901126105fa5760206109b2614054565b346105fa5760203660031901126105fa576004356126a46132fa565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610ff457508060045414610b7b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614d3083398151915255005b346105fa575f3660031901126105fa5760206109b26140c8565b346105fa575f3660031901126105fa57602065ffffffffffff60135460901c16604051908152f35b346105fa5760203660031901126105fa576004356127a781610672565b6127b36107f842614022565b6127bc82612d99565b916127c7818361329c565b83018093116108295760018201809211610829576127e49161329c565b810180911161082957602090604051908152f35b346105fa575f3660031901126105fa576020601054604051908152f35b346105fa575f3660031901126105fa5760206109b2613216565b346105fa575f3660031901126105fa57602065ffffffffffff60135460601c16604051908152f35b346105fa575f3660031901126105fa576002546040516001600160a01b039091168152602090f35b346105fa5760403660031901126105fa57610a066024356004356128a282610672565b805f525f80516020614d108339815191526020526128c6600160405f2001546138fb565b6139c2565b346105fa5760203660031901126105fa576004356128e76132fa565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610ff457508060155414610b7b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614d3083398151915255005b346105fa575f3660031901126105fa575f5460405160109190911c6001600160a01b03168152602090f35b346105fa5760403660031901126105fa5760206109b26004356129d881610672565b60243590613256565b346105fa575f3660031901126105fa5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105fa575f3660031901126105fa576020601554604051908152f35b346105fa575f3660031901126105fa576020604051633b9aca008152f35b346105fa575f3660031901126105fa576020600454604051908152f35b346105fa5760603660031901126105fa57600435612a9081610672565b612a98610840565b6001600160401b0391906044358381116105fa57612aba903690600401611112565b90926040938451612aca8161087e565b60608152606060208201526060868201529280612b29575b61072286612b1a8787612b14612afb8984845191612cbd565b9285612b0b6020850151836135c1565b930151906134eb565b9161418f565b90519081529081906020820190565b81019392506020818503126105fa578035908682116105fa5701926060848203126105fa57845195612b5a8761087e565b84358181116105fa5782612b6f918701610904565b875260208501358181116105fa5782612b89918701610904565b6020880152858501359081116105fa5761072296612bb2612b1493612afb93612b1a9801610904565b87820152939450612ae2565b346105fa5760403660031901126105fa57600435612bdb81610672565b602435612be66132fa565b6001600160a01b0382161561074d578015612c5257612c15612c066140c8565b612c0e614054565b90836145d2565b335f908152600e60205260409020909290612c2f9061413c565b8311612c405761070891839161333c565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105fa5760403660031901126105fa5760206109b2602435612c8681610672565b60043561329c565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161082957565b9190820391821161082957565b6001600160a01b03165f908152600e60205260409020610ef5929190613676565b65ffffffffffff8060135460601c169081158015612d0b575b612cff575090565b905060015460a01c1690565b508181612d1742614022565b1610612cf7565b908160209103126105fa575190565b6040513d5f823e3d90fd5b906001820180921161082957565b9190820180921161082957565b60135465ffffffffffff90818160601c168015908115612d85575b50612d7a5760901c1690565b505060015460d01c90565b905082612d9142614022565b16105f612d6e565b6001600160a01b03165f908152600e60205260409020612db89061413c565b612dc0614054565b612dc86140c8565b9060018101809111610829576001820180921161082957610ef592613ef9565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612e439060a01c60ff161590565b612ea9575f5460101c6001600160a01b0390811691168103612ea9576040516370a0823160e01b815230600482015290602090829060249082905afa908115610df9575f91612e90575090565b610ef5915060203d602011610df257610de381836108b9565b505f90565b65ffffffffffff918216908216039190821161082957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612ef157160490565b612ec6565b60015465ffffffffffff808316929160a081901c821680851015612f6e5750506013549281841690818015918215612f64575b5050612f5257610ef59361178992612f47611bc49360125496612eae565b9160301c1690612eda565b60405163b7d0949760e01b8152600490fd5b109050815f612f29565b909160135490808260601c1695868015918215612fd7575b505015612fb2575050610ef5935061178991612fa8611bc49260115495612eae565b9060d01c90612eda565b6117899350611bc49250612fcc610ef59660145496612eae565b9160901c1690612eda565b109050865f612f86565b90612fea6132fa565b5f926001600160a01b03831692831561253d578115613094575f5b82811061307257505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d2792869290916130559184916130509060101c6001600160a01b03166111d0565b613e22565b6130666040519283923396846130cf565b0390a3906108e7613329565b9461308d6001916117896130878987896130ba565b35613f86565b9501613005565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b91908110156130ca5760051b0190565b6130a6565b604080825281018390529392916001600160fb1b0381116105fa5760209160609160051b809183880137850101930152565b908160209103126105fa5751610ef581610ae8565b908160209103126105fa5751610ef581610672565b8181029291811591840414171561082957565b601254808210613204576011548083101561317f5750611bdc90610ef592611bd56131736013549365ffffffffffff93612cb0565b828460301c169061312b565b9050601454801580156131fb575b156131c55750610ef59165ffffffffffff6131bb6131b1611bdc9460015494612cb0565b8360d01c9061312b565b9160a01c16612d46565b611bdc9150610ef5926131f16131e56013549365ffffffffffff93612cb0565b828460901c169061312b565b9160601c16612d46565b5080831061318d565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c168015918215613241575b505061323b5760105490565b600f5490565b90915061324d42614022565b16105f8061322f565b5f546001600160a01b039160109190911c82169082160361328a576016541661327e57505f90565b601554610ef591613e7b565b60405163350b944160e11b8152600490fd5b906132c290825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610829576001820180921161082957610ef592613ef9565b5f80516020614d3083398151915260028154146133175760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614d3083398151915255565b335f908152600e602052604090209392919061335742614022565b335f908152600e6020526040902061336e9061413c565b91848303928311610829576133a97febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361343899613d64565b50506133c36133b742614022565b610ced876117236140c8565b50506133dd6133d142614022565b610cd884611723614054565b5050613486816134716133fa6133f56107f842614022565b612d38565b61345061340f825f52600660205260405f2090565b54613422835f52600760205260405f2090565b5461342e82828b61418f565b9d8e998a93612d46565b61344a855f52600660205260405f2090565b55612d46565b613462825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b613491838254612d46565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105fa575163ffffffff811681036105fa5790565b90600163ffffffff8093160191821161082957565b908051156135b75780602080613506935183010191016134ba565b61350f81614400565b90613520825165ffffffffffff1690565b9065ffffffffffff80851692168281146135ab5782119182613556575b505061354d5750610ef5906141b0565b60209150015190565b909150613564600a54612ca2565b63ffffffff83161491821561357d575b50505f8061353d565b6135a3919250613597613592611bc4926134d6565b614400565b5165ffffffffffff1690565b115f80613574565b50505060209150015190565b50610ef5906141b0565b9080511561366c57806020806135dc935183010191016134ba565b6135e58161448a565b906135f6825165ffffffffffff1690565b9065ffffffffffff80851692168281146135ab5782119182613623575b505061354d5750610ef590614277565b909150613631600c54612ca2565b63ffffffff83161491821561364a575b50505f80613613565b61366491925061359761365f611bc4926134d6565b61448a565b115f80613641565b50610ef590614277565b918051156137385780602080613691935183010191016134ba565b9161369c838261450a565b926136ad845165ffffffffffff1690565b9065ffffffffffff808516921682811461372c57821191826136e3575b50506136da57610ef59250614337565b50506020015190565b9091506136f08354612ca2565b63ffffffff831614918215613709575b50505f806136ca565b61372491925061359761371e611bc4926134d6565b8561450a565b115f80613700565b50505050506020015190565b50610ef591614337565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610ff45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613795565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613795565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff90613795565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613795565b5f8181525f80516020614d1083398151915260209081526040808320338452909152902060ff90613795565b5f8181525f80516020614d10833981519152602081815260408084206001600160a01b03871685529091529091205460ff166139bb575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614d10833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156139bb575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610899576108e792604052614578565b600b548110156130ca57600b5f525f80516020614cf083398151915201905f90565b600d548110156130ca57600d5f525f80516020614cd083398151915201905f90565b80548210156130ca575f5260205f2001905f90565b600d54600160401b811015610899576001810180600d558110156130ca57600d5f525f80516020614cd08339815191520155565b600b54600160401b811015610899576001810180600b558110156130ca57600b5f525f80516020614cf08339815191520155565b90815491600160401b8310156108995782613b909160016108e795018155613af0565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613c53575b50613bc061460b565b50929091815492613bcf614054565b9481613c3e575b5015613c1b57505f19820182811161082957815411156130ca575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613c2f926001600160d01b03169150614807565b5050613c3a83613b05565b9190565b65ffffffffffff83811691161490505f613bd6565b600160401b81101561089957600181018084558110156130ca575f908382525f80516020614cd083398151915201555f613bb7565b919091600b9081548015613d2f575b50613ca0614660565b50929091815492613caf6140c8565b9481613d1a575b5015613cfb57505f19820182811161082957815411156130ca575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613d0f926001600160d01b031691506148d7565b5050613c3a83613b39565b65ffffffffffff83811691161490505f613cb6565b600160401b81101561089957600181018084558110156130ca575f908382525f80516020614cf083398151915201555f613c97565b90929192600182019081548015613df2575b5084613d81846146b5565b50949092845493613d918361413c565b9681613ddd575b5015613dba575050505f19810190811161082957613b908591613c3a93613af0565b613c3a949293613dd6926001600160d01b039091169190614976565b5050613b6d565b65ffffffffffff83811691161490505f613d98565b600160401b81101561089957806001613e0e9201845583613af0565b8154905f199060031b1b191690555f613d76565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610899576108e792604052614578565b8115612ef1570490565b90808202905f1981840990828083109203918083039214613eec57633b9aca009082821115613eda577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f795784831115613f6c5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186146ee565b505090610ef59250613e71565b90613f936107f842614022565b8210156132045760ff613fc3613fb1845f52600960205260405f2090565b335f9081526020919091526040902090565b541661401057613fd3338361329c565b918215613ffe57613ff19061347133915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111614035571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061408f57505f5b6001600160d01b03811615612ea957600d548110156130ca57600d5f525f80516020614cd0833981519152015490565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c61405f565b600a548061410357505f5b6001600160d01b03811615612ea957600b548110156130ca57600b5f525f80516020614cf0833981519152015490565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6140d3565b80548061417157505f5b6001600160d01b0381161561416b5760016141619201613af0565b90549060031b1c90565b50505f90565b5f1990808281011161082957825f5260205f2001015460301c614146565b919060018101809111610829576001820180921161082957610ef592613ef9565b600a54905f82916005841161421e575b6141ca9350614b5b565b806141ed57505f5b6001600160d01b03811615612ea957614161610ef591613aac565b6142126141fc61421992612ca2565b600a5f525f80516020614cb08339815191520190565b5460301c90565b6141d2565b919261422981614a30565b8103908111610829576141ca93600a5f5265ffffffffffff80835f80516020614cb0833981519152015416908516105f146142655750916141c0565b92915061427190612d38565b906141c0565b600c54905f8291600584116142de575b6142919350614bc4565b806142b457505f5b6001600160d01b03811615612ea957614161610ef591613ace565b6142126142c36142d992612ca2565b600c5f525f80516020614c908339815191520190565b614299565b91926142e981614a30565b81039081116108295761429193600c5f5265ffffffffffff80835f80516020614c90833981519152015416908516105f14614325575091614287565b92915061433190612d38565b90614287565b908154905f82916005841161439a575b614352935084614c2d565b8061437a57505f905b6001600160d01b0382161561416b57610ef59160016141619201613af0565b61421261438961439492612ca2565b835f5260205f200190565b9061435b565b91926143a581614a30565b81039081116108295761435293855f5265ffffffffffff808360205f20015416908516105f146143d6575091614347565b9291506143e290612d38565b90614347565b604051906143f58261089e565b5f6020838281520152565b6144086143e8565b506144116143e8565b50600a548110156130ca57600a5f5260206040519161442f8361089e565b5f80516020614cb083398151915201549165ffffffffffff83169283825260301c9182910152600b548110156130ca57600b5f525f80516020614cf08339815191520154604051916144808361089e565b8252602082015290565b6144926143e8565b5061449b6143e8565b50600c548110156130ca57600c5f526020604051916144b98361089e565b5f80516020614c9083398151915201549165ffffffffffff83169283825260301c9182910152600d548110156130ca57600d5f525f80516020614cd08339815191520154604051916144808361089e565b906020600161452e61455a9361451e6143e8565b506145276143e8565b5085613af0565b50936040519461453d8661089e565b549465ffffffffffff86169586825260301c938491015201613af0565b9054906040519261456a8461089e565b835260031b1c602082015290565b905f602091828151910182855af115612d2d575f513d6145c957506001600160a01b0381163b155b6145a75750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156145a0565b9190600181018091116108295760018201809211610829576145f5828285613ef9565b928215612ef15709151581018091116108295790565b600c548061461c57505f905f905f90565b805f1981011161082957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061467157505f905f905f90565b805f1981011161082957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806146c65750505f905f905f90565b5f19918183810111610829575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610899576001820180600c558210156130ca57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c9083398151915290910155565b600a5490600160401b821015610899576001820180600a558210156130ca57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614cb083398151915290910155565b8054600160401b811015610899576147c991600182018155613af0565b6147f457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156148ae576142c361481f91612ca2565b9081549165ffffffffffff9081841691831680831161489c578692036148645761485d92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614897906148836148756108da565b65ffffffffffff9092168252565b6001600160d01b03851660208201526146fe565b61485d565b604051632520601d60e01b8152600490fd5b506148d2906148be6148756108da565b6001600160d01b03841660208201526146fe565b5f9190565b600a549192918015614952576141fc6148ef91612ca2565b9081549165ffffffffffff9081841691831680831161489c5786920361492d5761485d92509065ffffffffffff82549181199060301b169116179055565b50506148979061493e6148756108da565b6001600160d01b0385166020820152614755565b506148d2906149626148756108da565b6001600160d01b0384166020820152614755565b80549293928015614a0b5761498d61499891612ca2565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161489c578793036149d7575061485d92509065ffffffffffff82549181199060301b169116179055565b915050614897916149f76149e96108da565b65ffffffffffff9093168352565b6001600160d01b03861660208301526147ac565b50906148d291614a1c6149e96108da565b6001600160d01b03851660208301526147ac565b6001811115610ef557600181600160801b811015614b49575b614af1614ae7614add614ad3614ac9614abf614afd97600488600160401b614af89a1015614b3c575b640100000000811015614b2f575b62010000811015614b22575b610100811015614b16575b6010811015614b0a575b1015614b02575b60030260011c614ab8818b613e71565b0160011c90565b614ab8818a613e71565b614ab88189613e71565b614ab88188613e71565b614ab88187613e71565b614ab88186613e71565b8093613e71565b821190565b900390565b60011b614aa8565b811c9160021b91614aa1565b60081c91811b91614a97565b60101c9160081b91614a8c565b60201c9160101b91614a80565b60401c9160201b91614a72565b50600160401b9050608082901c614a49565b905b828110614b6957505090565b9091808216906001818418811c830180931161082957600a5f5265ffffffffffff80845f80516020614cb0833981519152015416908616105f14614bb1575050915b90614b5d565b9093925081018091116108295790614bab565b905b828110614bd257505090565b9091808216906001818418811c830180931161082957600c5f5265ffffffffffff80845f80516020614c90833981519152015416908616105f14614c1a575050915b90614bc6565b9093925081018091116108295790614c14565b91905b838210614c3d5750505090565b909192808316906001818518811c830180931161082957855f5265ffffffffffff808460205f20015416908516105f14614c7c575050925b9190614c30565b9094935081018091116108295791614c7556fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220eff4d5fcb7aa031c364f1c353a823d2e7146f4cfb8509e3f9636ce6f078a9e5264736f6c63430008190033","sourceMap":"1305:21339:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1305:21339:108;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1305:21339:108;-1:-1:-1;1305:21339:108;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;757:38:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;612:37:109;1305:21339:108;;;;-1:-1:-1;;;;;1305:21339:108;;;;;:::o;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;11011:21;11007:75;;11120:10;1305:21339;;;;6187:15;1305:21339;;;;;6187:33;;;:::i;:24::-;:33;:::i;:::-;11096:35;;11092:88;;1057:70:95;5768:21:108;;:::i;:::-;5412:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11287:20:108;;;11283:82;;11390:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;;;;;;11283:82;1305:21339;;-1:-1:-1;;;;;;11330:24:108;;1305:21339;;11330:24;11092:88;1305:21339;;-1:-1:-1;;;11154:15:108;;1305:21339;;11154:15;11007:75;1305:21339;;-1:-1:-1;;;11055:16:108;;1305:21339;;11055:16;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;4919:24:23;1305:21339:108;-1:-1:-1;1305:21339:108;4919:24:23;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;4327:34:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;4471:25;819:34:73;837:15;819:34;:::i;:::-;4471:25:108;:::i;:::-;4820:10;;4816:65;;-1:-1:-1;;1305:21339:108;;;;;;;4897:21;1305:21339;4897:21;;:::i;:::-;1305:21339;;;;;;;;;;:::i;4816:65::-;1305:21339;;-1:-1:-1;;;4853:17:108;;1305:21339;;4853:17;1305:21339;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1305:21339:108;;;;;;-1:-1:-1;;1305:21339:108;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;5971:59;1305:21339;;;;;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;;-1:-1:-1;1305:21339:108;;;5971:15;1305:21339;;;;;5971:59;:::i;:::-;1305:21339;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;5350:25:23;1305:21339:108;;;;;;;:::i;:::-;;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;3202:4:23;4919:24;1305:21339:108;-1:-1:-1;1305:21339:108;4919:24:23;1305:21339:108;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1305:21339:108;;;;;;;-1:-1:-1;;1305:21339:108;;;;;2227:28:109;1305:21339:108;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;1479:40:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1305:21339:108;;6441:34:23;6437:102;;6549:37;1305:21339:108;;;6549:37:23;:::i;6437:102::-;1305:21339:108;;-1:-1:-1;;;6498:30:23;;1305:21339:108;;6498:30:23;1305:21339:108;;;;;;-1:-1:-1;;1305:21339:108;;;;;6346:22;1305:21339;;;;6346:46;;;1305:21339;;;;;;;;;;;6346:46;-1:-1:-1;6372:20:108;1305:21339;;;;;6346:46;;1305:21339;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1305:21339:108;;;;;;;;;;;16075:26;16071:76;;-1:-1:-1;;1305:21339:108;;;;;-1:-1:-1;1305:21339:108;;;;;;16198:27;;1305:21339;;16198:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1305:21339:108;;16071:76;1305:21339;;-1:-1:-1;;;16124:12:108;;1305:21339;;16124:12;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;;;;8960:24;;8956:81;;-1:-1:-1;1305:21339:108;;;;9051:55;;;1305:21339;9047:118;;1305:21339;;-1:-1:-1;;;9199:43:108;;;9236:4;9199:43;;;1305:21339;;;;;;;;;;;;;;;;;;;;;;;;;9199:43;;;;;;;;;;-1:-1:-1;9199:43:108;;;1305:21339;;9315:6;1305:21339;;;9236:4;;9288:10;;9315:6;;:::i;:::-;-1:-1:-1;1305:21339:108;;;9350:43;;;9236:4;9350:43;;;1305:21339;;;;;;;;;;9350:43;1305:21339;;;;;;9350:43;1305:21339;;;;;9350:43;;;;;;;:59;:43;-1:-1:-1;9350:43:108;;;1305:21339;9350:59;;;:::i;:::-;9424:20;;;9420:79;;1305:21339;;;;;9513:64;;1305:21339;9509:123;;5768:21;;1305:21339;5768:21;9988:93;5768:21;;:::i;:::-;5412:22;9912:66;5412:22;;:::i;:::-;9835:67;390:70:95;;;;;:::i;:::-;837:15:73;9871:30:108;837:15:73;819:34;837:15;819:34;:::i;:::-;9871:30:108;;:::i;:::-;9835:67;;:::i;:::-;837:15:73;;9949:28:108;837:15:73;819:34;837:15;819:34;:::i;9949:28:108:-;9912:66;;:::i;:::-;-1:-1:-1;;;;;;;1305:21339:108;;;;;;6187:15;1305:21339;;;;;837:15:73;10039:41:108;837:15:73;6187:33:108;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;;;;;;6187:15;1305:21339;;;;;;;6187:33;10039:41;:::i;:::-;9988:93;;:::i;:::-;-1:-1:-1;;1305:21339:108;;;;;;;;;;;9288:10;;10097:62;;1305:21339;;10097:62;3426:1:30;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;;;;;;;9509:123;1305:21339;;-1:-1:-1;;;9600:21:108;;;9513:64;5768:21;9531:31;5768:21;;;:::i;9531:31::-;1305:21339;;-1:-1:-1;9513:64:108;;9420:79;-1:-1:-1;1305:21339:108;;-1:-1:-1;;;9467:21:108;;;9350:43;;;;;;-1:-1:-1;9350:43:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9199:::-;9315:6;9199:43;;;;;;;;;;;;;;;:::i;:::-;;;;;9047:118;-1:-1:-1;1305:21339:108;;-1:-1:-1;;;9129:25:108;;;9051:55;-1:-1:-1;9095:10:108;1305:21339;;;;9072:22;1305:21339;;;;;;;;9071:35;9051:55;;8956:81;1305:21339;;-1:-1:-1;;;9007:19:108;;;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;2391:34:109;1305:21339:108;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5238:48;1305:21339;;;:::i;:::-;5238:48;;:::i;1305:21339::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;;1479:40:109;;1305:21339:108;;4468:23:23;4464:108;;-1:-1:-1;19738:16:108;1305:21339;-1:-1:-1;;;;;1305:21339:108;;;;;;19738:37;;19734:87;;-1:-1:-1;;;;;;1305:21339:108;;;19738:16;1305:21339;;;;;;19882:38;;1305:21339;;19882:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1305:21339:108;;4464:108:23;1305:21339:108;;;;4514:47:23;;;;;;966:10:28;1305:21339:108;4514:47:23;;1305:21339:108;;;;;4514:47:23;1305:21339:108;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;16903:24;16899:74;;-1:-1:-1;;1305:21339:108;;;;;;;;-1:-1:-1;1305:21339:108;;;;;;17022:25;;1305:21339;;17022:25;3426:1:30;;:::i;1305:21339:108:-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;4059:32:109;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;-1:-1:-1;1305:21339:108;2854:59:109;1305:21339:108;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;:::i;:::-;3361:103:30;;;;;:::i;:::-;12679:10:108;;12675:70;;12766:19;;;:::i;:::-;12758:27;;12754:82;;12957:44;12859:22;;;;;:::i;:::-;-1:-1:-1;1305:21339:108;;;;12957:19;;1305:21339;;-1:-1:-1;;;;;1305:21339:108;;-1:-1:-1;;;;;1305:21339:108;;;12957:19;1305:21339;;;-1:-1:-1;;;12957:44:108;;;12995:4;12957:44;;;1305:21339;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;;;;12957:44;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12957:44:108;;;1305:21339;;;13064:5;1305:21339;13085:57;1305:21339;;-1:-1:-1;1305:21339:108;;;;13064:5;;;:::i;:::-;1305:21339;-1:-1:-1;;;13085:57:108;;1305:21339;;;;;;;13106:10;;13085:57;;;:::i;:::-;;;;;;;;;1714:45:109;13085:57:108;-1:-1:-1;13085:57:108;;;1305:21339;13085:73;;13081:128;;1305:21339;;13223:44;;;12995:4;13223:44;;;1305:21339;;;;;;;;;13223:44;1305:21339;;;;;;13223:44;;;;;;;;;;:60;:44;-1:-1:-1;13223:44:108;;;:60;;;:::i;:::-;:67;13219:126;;13359:7;;13355:93;;1305:21339;3426:1:30;;;:::i;:::-;1305:21339:108;13465:4;1305:21339;;;;;13355:93;13415:16;1305:21339;13433:3;;1305:21339;-1:-1:-1;;;;;1305:21339:108;;13433:3;;:::i;:::-;13355:93;;;;13219:126;1305:21339;;-1:-1:-1;;;13313:21:108;;;13081:128;1305:21339;;-1:-1:-1;;;13181:17:108;;1305:21339;;13181:17;13085:57;;;;;;;;;;;;;;:::i;:::-;;;;12957:44;-1:-1:-1;12957:44:108;;;;;;;13085:57;12957:44;;;13064:5;12957:44;;;;-1:-1:-1;12957:44:108;;;;;;:::i;:::-;;;;;;;;;;;;;12754:82;1305:21339;;-1:-1:-1;;;12808:17:108;;1305:21339;;12808:17;12675:70;1305:21339;;-1:-1:-1;;;12712:22:108;;1305:21339;;12712:22;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;1041:36:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;4626:26;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;4626:26;:::i;1305:21339::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;1714:45:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;4587:28:109;1305:21339:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;1664:42;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;3967:36:109;1305:21339:108;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;2559:32:109;1305:21339:108;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13664:7:108;1305:21339;13650:21;;-1:-1:-1;;;;;1305:21339:108;;;13650:21;:10;:21;13646:71;;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;13798;;;;:::i;:::-;13838:17;;;;:53;;;1305:21339;13837:87;;;;1305:21339;13833:146;;1305:21339;5768:21;15843:48;5768:21;;;:::i;:::-;14073:17;14061:30;14073:17;;;:::i;:::-;1305:21339;;14061:11;1305:21339;;;;;;;14061:30;1305:21339;;14105:29;;;;;14175:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1305:21339:108;3060:42:68;;14285:17:108;;;14281:384;;14101:1615;;;;;;;15730:17;15726:102;;14101:1615;1305:21339;;;;;;;;;;;;;;;;;;;;;;;15843:48;3426:1:30;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;15726:102;-1:-1:-1;1305:21339:108;15803:13;;1305:21339;;15763:18;;1305:21339;;-1:-1:-1;;;;;1305:21339:108;;;15763:18;14089:1;1305:21339;-1:-1:-1;;;;;1305:21339:108;;;15803:13;15726:102;;14281:384;14578:29;14346:50;14495:65;14346:50;14531:28;14447:29;14346:50;14590:16;14346:50;14610:40;14346:50;;;:::i;:::-;14447:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14531:28:108;;:::i;14610:40::-;14590:16;;:::i;14578:29::-;1305:21339;14281:384;;;;;;;14101:1615;14718:26;;;;1305:21339;;14061:11;1305:21339;;;;;;;14718:26;1305:21339;14783:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1305:21339:108;3060:42:68;;14908:17:108;;14904:802;;14101:1615;;;;;;;;14904:802;15629:26;14969:50;;15070:53;14969:50;15170:54;14969:50;15170:29;14969:50;15658:33;14969:50;;;;:::i;:::-;15070:53;;;;;;:::i;:::-;15170:29;;;;:::i;:::-;:54;:::i;:::-;15247:33;;;;15243:194;;14904:802;15455:65;837:15:73;15491:28:108;15571:40;837:15:73;;;819:34;837:15;819:34;:::i;15571:40:108:-;15538:30;15550:17;;;:::i;15538:30::-;1305:21339;15658:33;:::i;:::-;15629:26;1305:21339;;14061:11;1305:21339;;;;;;;15629:26;1305:21339;14904:802;;;;;;;15243:194;15330:33;15304:59;15455:65;15330:33;;;15571:40;15330:33;;;:::i;:::-;15304:59;;:::i;:::-;15385:33;;-1:-1:-1;15385:33:108;;-1:-1:-1;15243:194:108;;13833:146;1305:21339;;-1:-1:-1;;;13947:21:108;;1305:21339;;13947:21;13837:87;13896:28;;;;13837:87;;13838:53;13874:17;;;;:::i;:::-;13859:32;;13838:53;;13646:71;1305:21339;;-1:-1:-1;;;13694:12:108;;1305:21339;;13694:12;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;5073:1;1305:21339;;;;;;;5045:30;1305:21339;5045:30;;:::i;1305:21339::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;4471:25;819:34:73;837:15;819:34;:::i;1305:21339:108:-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1305:21339:108;2730:68:109;1305:21339:108;;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11977:14;1305:21339;;11977:14;;:::i;1305:21339::-;;;;;5596:47;1305:21339;;;:::i;:::-;5596:47;;:::i;1305:21339::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20067:22:108;1305:21339;;;;;20063:89;;1305:21339;;-1:-1:-1;;;20167:49:108;;-1:-1:-1;;;;;1305:21339:108;;;20167:49;;;1305:21339;;;;;;;;;;;;;;;20167:49;20177:17;;;1305:21339;20167:49;;;;;;;-1:-1:-1;20167:49:108;;;1305:21339;20166:50;;20162:102;;1305:21339;;-1:-1:-1;;;20278:34:108;;1305:21339;;;;;20278:34;1305:21339;20278:34;1305:21339;;20278:34;;;;;;;-1:-1:-1;20278:34:108;;;1305:21339;20324:4;;;1305:21339;;20278:51;20274:107;;-1:-1:-1;20067:22:108;1305:21339;;-1:-1:-1;;;;;1305:21339:108;;;;-1:-1:-1;;;;;;1305:21339:108;;;;;;;-1:-1:-1;;;1305:21339:108;;;20469:24;-1:-1:-1;;20469:24:108;3426:1:30;;:::i;20274:107:108:-;1305:21339;;-1:-1:-1;;;20352:18:108;;;20278:34;;;;;;;-1:-1:-1;20278:34:108;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20162:102;-1:-1:-1;1305:21339:108;;-1:-1:-1;;;20239:14:108;;;20167:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20063:89;1305:21339;;-1:-1:-1;;;20112:29:108;;;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17625:1:108;17594:32;;17590:106;;1305:21339;;;;17710:22;1305:21339;;;;;;;;;;17710:27;;;:73;;;;1305:21339;17706:505;;;1305:21339;18225:14;1305:21339;;;;;;;;;18225:31;;;18221:94;;18329:32;:96;;;1305:21339;18325:146;;18603:105;18628:80;18629:67;18797:62;837:15:73;18481:67:108;18503:45;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;18520:28;1305:21339;18503:45;;:::i;:::-;18481:67;1305:21339;;18481:67;17710:22;1305:21339;;-1:-1:-1;;;;1305:21339:108;;;;;-1:-1:-1;;;1305:21339:108;;;;4626:26;4471:25;819:34:73;837:15;819:34;:::i;4626:26:108:-;1305:21339;18651:45;18520:28;1305:21339;18651:45;1305:21339;18225:14;1305:21339;;;;;;;;;;18651:45;;;:::i;:::-;1305:21339;;18629:67;:::i;:::-;18628:80;:::i;:::-;17710:22;1305:21339;;-1:-1:-1;;;;1305:21339:108;;;;;;-1:-1:-1;;;1305:21339:108;;;;;;;;18603:105;18718:63;;;1305:21339;;18718:63;1305:21339;;;;;;;;;;;;;;;;;18797:62;3426:1:30;;:::i;18329:96:108:-;1305:21339;;18365:28;1305:21339;18365:60;18329:96;;18221:94;1305:21339;;-1:-1:-1;;;18279:25:108;;1305:21339;;18279:25;17706:505;17799:53;17829:23;1305:21339;17799:53;1305:21339;;17799:53;17866:35;1305:21339;17887:14;1305:21339;;;;;;;17710:22;1305:21339;;;;;;;;;;17710:22;1305:21339;;17866:35;17887:14;1305:21339;17915:43;;1305:21339;;;;;;;;17710:22;1305:21339;;;17710:22;1305:21339;;17915:43;17972:45;17998:19;1305:21339;17829:23;1305:21339;;17972:45;17710:22;1305:21339;18031:35;;1305:21339;;;;17887:14;1305:21339;;-1:-1:-1;;;;;1305:21339:108;;;;;;-1:-1:-1;;;;;;1305:21339:108;;;;;;;;18031:35;17710:22;1305:21339;18080:43;;1305:21339;;;;17887:14;1305:21339;;-1:-1:-1;;;;1305:21339:108;;;;;;-1:-1:-1;;;1305:21339:108;;;;;;;;18080:43;18137:63;18168:32;1305:21339;18137:63;1305:21339;;18137:63;17706:505;;17710:73;837:15:73;;17741:42:108;819:34:73;837:15;819:34;:::i;17741:42:108:-;-1:-1:-1;17741:42:108;17710:73;;;17590:106;1305:21339;;-1:-1:-1;;;17649:36:108;;1305:21339;;17649:36;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;19044:16:108;1305:21339;;;;;;;;;;;;;19044:26;19040:76;;-1:-1:-1;;;;1305:21339:108;;;;;-1:-1:-1;;;1305:21339:108;;19044:16;1305:21339;;;;;;19167:27;;1305:21339;;19167:27;3426:1:30;;:::i;1305:21339:108:-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;1755:40;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;5768:21;;:::i;:::-;1305:21339;;;;6572:11;1305:21339;;;;;;;;;;;;;6613:1;1305:21339;;;;;;;;;6572:11;1305:21339;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;3901:31:23;1305:21339:108;;;;;:::i;:::-;;;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;3901:31:23;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;3869:42:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;3775:38:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1305:21339:108;6187:15;1305:21339;;;6187:33;1305:21339;-1:-1:-1;1305:21339:108;6187:33;:::i;1305:21339::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1305:21339:108;;;;-1:-1:-1;1305:21339:108;477:31:86;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;477:31:86;;;1305:21339:108;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;477:31:86;1305:21339:108;477:31:86;;;;;;;:::i;:::-;518:79;;;1305:21339:108;518:79:86;;1305:21339:108;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;2139:32:109;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;900:35:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;;16440:21;;16436:75;;-1:-1:-1;1305:21339:108;;;16525:22;1305:21339;;;;;;;;;;;;;16525:41;16521:91;;-1:-1:-1;;;;;1305:21339:108;;;;;9072:22;1305:21339;;;;;16678:44;;;;16622:40;;:31;1305:21339;;;;;;;;;;;;;;16622:40;1305:21339;;;;;;;;;;;;;;;16678:44;;;;3426:1:30;;:::i;16436:75:108:-;1305:21339;;-1:-1:-1;;;16484:16:108;;1305:21339;;16484:16;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;3089:94:109;1305:21339:108;;;;;:::i;:::-;;;-1:-1:-1;1305:21339:108;3089:94:109;1305:21339:108;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;3089:94:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;3239:92:109;1305:21339:108;;;;;:::i;:::-;;;-1:-1:-1;1305:21339:108;3239:92:109;1305:21339:108;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;1187:40:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;4500:31:109;1305:21339:108;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20636:20:108;1305:21339;;;;;20632:85;;-1:-1:-1;;;;;1305:21339:108;;;;;;20727:312;;1305:21339;20636:20;1305:21339;;-1:-1:-1;;;;1305:21339:108;-1:-1:-1;;;1305:21339:108;;;21049:27;21092:20;-1:-1:-1;21092:20:108;;3426:1:30;;:::i;20727:312:108:-;1305:21339;;-1:-1:-1;;;20774:45:108;;-1:-1:-1;;;;;1305:21339:108;;20774:45;;;1305:21339;;;20774:45;;1305:21339;;;;;;20774:45;20784:15;;;1305:21339;20774:45;;;;;;;-1:-1:-1;20774:45:108;;;20727:312;20773:46;;20769:104;;1305:21339;;-1:-1:-1;;;20891:30:108;;;1305:21339;20891:30;1305:21339;20891:30;;;;;;;;-1:-1:-1;20891:30:108;;;20727:312;20933:4;;;1305:21339;;20891:47;20887:109;;-1:-1:-1;20636:20:108;1305:21339;;-1:-1:-1;;;;;;1305:21339:108;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;20727:312;;;;;;20887:109;1305:21339;;-1:-1:-1;;;20965:16:108;;;20891:30;;;;;;;-1:-1:-1;20891:30:108;;;;;;:::i;:::-;;;;;;20769:104;1305:21339;;-1:-1:-1;;;20846:12:108;;1305:21339;;20846:12;20774:45;;;;;;;;;;;;;;:::i;:::-;;;;20632:85;1305:21339;;-1:-1:-1;;;20679:27:108;;;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;;;;11598:23;;11594:79;;11759:6;1305:21339;11692:13;;;;:::i;:::-;1305:21339;;;-1:-1:-1;1305:21339:108;;;;11759:6;:::i;:::-;1305:21339;;;;;;;;;;;;11788:10;;11782:43;;1305:21339;11782:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;;;;;;;11594:79;1305:21339;;-1:-1:-1;;;11644:18:108;;1305:21339;;11644:18;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;:::i;:::-;-1:-1:-1;;452:7:106;-1:-1:-1;;;;;1305:21339:108;438:10:106;:21;434:71;;1305:21339:108;434:71:106;1305:21339:108;;-1:-1:-1;;;482:12:106;;1305:21339:108;;482:12:106;1305:21339:108;;;;;;-1:-1:-1;;1305:21339:108;;;;;;-1:-1:-1;1305:21339:108;2969:64:109;1305:21339:108;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;2481:22:109;1305:21339:108;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;3573:43:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;1333:36:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;5768:21;;:::i;1305:21339::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;;900:35:109;;1305:21339:108;;4468:23:23;4464:108;;1305:21339:108;;;;17225:21;17221:71;;1305:21339;;17338:22;1305:21339;;;;;;;;17338:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;5412:22;;:::i;1305:21339::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;4239:32:109;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;7976:24;;;:::i;:::-;8003:29;;;;;:::i;:::-;1305:21339;;;;;;;8057:1;1305:21339;;;;;;;8035:33;;;:::i;:::-;1305:21339;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;3672:47:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;4147:36:109;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;2311:24:109;1305:21339:108;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;5767:26:23;1305:21339:108;;;;;;;:::i;:::-;;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;3202:4:23;4919:24;1305:21339:108;-1:-1:-1;1305:21339:108;4919:24:23;1305:21339:108;3202:4:23;:::i;:::-;5767:26;:::i;1305:21339:108:-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;;1333:36:109;;1305:21339:108;;4468:23:23;4464:108;;1305:21339:108;;19381:12;1305:21339;19381:29;19377:79;;1305:21339;;19509:30;1305:21339;19381:12;1305:21339;;;;;;19509:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;466:39:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;4417:27:109;1305:21339:108;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;1616:3:109;1305:21339:108;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;;:::i;:::-;6794:48;;1305:21339;;;;;;;:::i;:::-;;;;;;;;;;;;;;6856:16;;6852:111;;1305:21339;;7055:39;1057:70:95;7055:39:108;;5238:48;7018:77;7055:39;;;;7018:77;;:::i;:::-;7134:36;;5596:47;1305:21339;7134:36;;;5596:47;;:::i;:::-;7211:37;;;5238:48;;:::i;:::-;1057:70:95;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;6852:111;6911:41;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5238:48;1305:21339;7018:77;1305:21339;1057:70:95;1305:21339:108;;;:::i;:::-;;;;;6852:111;;;;;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1305:21339:108;;10376:21;10372:75;;10461:11;;10457:73;;845:69:95;5412:22:108;;:::i;:::-;5768:21;;:::i;:::-;845:69:95;;;:::i;:::-;10666:10:108;1305:21339;;;;6187:15;1305:21339;;;;;10666:10;;;6187:33;;;:::i;:::-;10636:41;;10632:96;;10753:40;;;;;:::i;10632:96::-;1305:21339;;-1:-1:-1;;;10700:17:108;;1305:21339;;10700:17;10457:73;1305:21339;;-1:-1:-1;;;10495:24:108;;1305:21339;;10495:24;1305:21339;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5844:193::-;-1:-1:-1;;;;;1305:21339:108;-1:-1:-1;1305:21339:108;;;5971:15;1305:21339;;;;;5971:59;;5844:193;;5971:59;:::i;2657:241::-;1305:21339;;2729:22;1305:21339;;;;2729:27;;;:72;;;;2657:241;2725:128;;2862:29;2657:241;:::o;2725:128::-;1305:21339;;2824:18;1305:21339;;;;2817:25;:::o;2729:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1305:21339:108;2760:41;2729:72;;1305:21339;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14089:1;1305:21339;;;;;;;:::o;:::-;;;;;;;;;;:::o;2380:229::-;2448:22;1305:21339;;;;;;;;2448:27;;:72;;;;;2380:229;2444:124;;;1305:21339;;;2380:229;:::o;2444:124::-;1305:21339;;2543:14;1305:21339;;;2536:21;:::o;2448:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1305:21339:108;2479:41;2448:72;;;7314:191;-1:-1:-1;;;;;1305:21339:108;-1:-1:-1;1305:21339:108;;;6187:15;1305:21339;;;;;6187:33;;;:::i;:::-;5768:21;;:::i;:::-;5412:22;;:::i;:::-;1305:21339;1884:1:95;1305:21339:108;;;;;;;1884:1:95;1305:21339:108;;;;;;;9478:25:68;;;:::i;1305:21339:108:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;:::o;8136:283::-;8232:16;1305:21339;8231:17;;1305:21339;;;;9071:35;;1305:21339;8231:17;8227:56;;8314:10;1305:21339;;;-1:-1:-1;;;;;1305:21339:108;;;;;8341:20;;1305:21339;;;;-1:-1:-1;;;8364:44:108;;8402:4;8364:44;;;1305:21339;;8364:44;;1305:21339;;;;;;8364:44;;;;;;;8314:10;8364:44;;;8341:71;8136:283;:::o;8364:44::-;;;;;;;;;;;;;;:::i;8341:71::-;;8314:10;8136:283;:::o;1305:21339::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2946:693::-;3051:18;1305:21339;;;;;;;;;;;;;3039:30;;;;;;1305:21339;;3089:22;1305:21339;;;;;3089:27;;;;:65;;;;;3035:598;3085:129;;;;3234:87;1305:21339;3234:87;1305:21339;3265:34;3264:57;1305:21339;3234:27;1305:21339;3265:34;;:::i;:::-;1305:21339;;;;3264:57;;:::i;3085:129::-;1305:21339;;-1:-1:-1;;;3181:18:108;;;;;3089:65;3120:34;;-1:-1:-1;3089:65:108;;;;3035:598;1305:21339;;3342:22;1305:21339;;;;;;;3342:27;;;;:65;;;;;3035:598;-1:-1:-1;;3338:295:108;;;1305:21339;;3430:75;1305:21339;;3430:75;1305:21339;3457:30;3456:49;1305:21339;3430:23;1305:21339;3457:30;;:::i;:::-;1305:21339;;;3456:49;;:::i;3338:295::-;3543:79;1305:21339;;3565:57;1305:21339;;3566:34;3543:79;1305:21339;3543:19;1305:21339;3566:34;;:::i;:::-;1305:21339;;;;3565:57;;:::i;3342:65::-;3373:34;;-1:-1:-1;3342:65:108;;;;3361:103:30;;;;:::i;:::-;1305:21339:108;;-1:-1:-1;;;;;1305:21339:108;;;12007:23;;12003:79;;12136:11;;12132:70;;1305:21339;12228:10;;;;;;-1:-1:-1;1305:21339:108;;12373:49;;1305:21339;;;;12350:6;;1305:21339;;12307:18;;1305:21339;;-1:-1:-1;;;;;1305:21339:108;;;12307:18;12350:6;:::i;:::-;12373:49;1305:21339;;12384:10;;;;12373:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12240:3:108:-;12276:9;12259:27;1305:21339;12276:9;12269:17;12276:9;;;;;:::i;:::-;1305:21339;12269:17;:::i;12259:27::-;12240:3;1305:21339;12217:9;;12132:70;1305:21339;;-1:-1:-1;;;12170:21:108;;;;;1305:21339;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3687:665::-;3787:27;1305:21339;3779:35;;;3775:87;;3884:23;1305:21339;3876:31;;;;;;1305:21339;3931:83;1305:21339;3930:96;1305:21339;3956:58;3957:35;3931:22;1305:21339;;;3957:35;;:::i;:::-;1305:21339;;;;;3956:58;;:::i;3872:474::-;1305:21339;;4047:19;1305:21339;4047:24;;:55;;;;3872:474;4043:303;;;1305:21339;4125:84;1305:21339;;4147:50;4148:31;4126:71;1305:21339;4126:18;1305:21339;4148:31;;:::i;:::-;1305:21339;;;4147:50;;:::i;:::-;1305:21339;;;;4126:71;:::i;4043:303::-;4248:75;1305:21339;;4247:88;1305:21339;4273:50;4274:27;4248:22;1305:21339;;;4274:27;;:::i;:::-;1305:21339;;;;;4273:50;;:::i;:::-;1305:21339;;;;4248:75;:::i;4047:55::-;4075:27;;;;4047:55;;3775:87;1305:21339;;-1:-1:-1;;;3837:14:108;;;;;2058:274;1305:21339;;2143:22;1305:21339;;;;2143:27;;:72;;;;;2058:274;2139:138;;;;2293:32;1305:21339;2058:274;:::o;2139:138::-;2238:28;1305:21339;2231:35;:::o;2143:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1305:21339:108;2174:41;2143:72;;;;8480:265;8581:10;1305:21339;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;8572:19;8568:75;;8659:16;1305:21339;;8659:79;;;8581:10;8480:265;:::o;8659:79::-;8709:12;1305:21339;8696:42;;;:::i;8568:75::-;1305:21339;;-1:-1:-1;;;8614:18:108;;;;;7553:227;;7693:34;7553:227;1305:21339;-1:-1:-1;1305:21339:108;7693:18;1305:21339;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;;;;;;;7693:34;1305:21339;;-1:-1:-1;1305:21339:108;7729:11;1305:21339;;;-1:-1:-1;1305:21339:108;;7749:16;1305:21339;;;-1:-1:-1;1305:21339:108;;;1884:1:95;1305:21339:108;;;;;;;1884:1:95;1305:21339:108;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1305:21339:108;;3670:20:30;3666:88;;1991:1;1305:21339:108;;3470:384:30:o;3666:88::-;1305:21339:108;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1305:21339:108;3860:283:30:o;21125:960:108:-;21304:10;1305:21339;;;;6187:15;1305:21339;;;;;;21125:960;;;819:34:73;837:15;819:34;:::i;:::-;21304:10:108;1305:21339;;;;6187:15;1305:21339;;;;;6187:33;;;:::i;:::-;1305:21339;;;;;;;;;21288:93;22004:74;21288:93;;;21829:30;21288:93;;:::i;:::-;837:15:73;;21391:67:108;819:34:73;837:15;819:34;:::i;:::-;21428:29:108;5412:22;;;:::i;21391:67::-;837:15:73;;21468:68:108;819:34:73;837:15;819:34;:::i;:::-;21504:31:108;5768:21;;;:::i;21468:68::-;837:15:73;;21938:34:108;837:15:73;21938:25:108;21563:18;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;21563:18;:::i;:::-;21895:33;21614:18;;1305:21339;;14061:11;1305:21339;;;;;;;21614:18;1305:21339;21671:23;;1305:21339;;21671:16;1305:21339;;;;;;;21671:23;1305:21339;390:70:95;;;;;:::i;:::-;21829:30:108;;;;;;:::i;:::-;21808:18;;1305:21339;;14061:11;1305:21339;;;;;;;21808:18;1305:21339;21895:33;:::i;:::-;21869:23;;1305:21339;;21671:16;1305:21339;;;;;;;21869:23;1305:21339;;;21938:18;1305:21339;;;;;;;21938:25;1305:21339;;;;;;;;;;;;;;;;21938:34;:50;1305:21339;;;21938:50;:::i;:::-;1305:21339;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;21304:10;;1305:21339;;22004:74;21125:960::o;1305:21339::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1305:21339:108;;7686:17:94;7682:83;;1305:21339:108;7789:27:94;1305:21339:108;7789:27:94;1305:21339:108;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1305:21339:108;8075:24:94;:::o;7975:84::-;1305:21339:108;;;8009:16:94;5238:13:108;1305:21339;8009:16:94;:::i;:::-;1305:21339:108;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1305:21339:108;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1305:21339:108;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1305:21339:108;;7686:17:94;7682:83;;1305:21339:108;7789:27:94;1305:21339:108;7789:27:94;1305:21339:108;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1305:21339:108;;;8009:16:94;5596:12:108;1305:21339;8009:16:94;:::i;:::-;1305:21339:108;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:29::-;;8001:57;;;;7682:83;7726:28;;;;:::i;7558:604::-;;1305:21339:108;;7686:17:94;7682:83;;1305:21339:108;7789:27:94;1305:21339:108;7789:27:94;1305:21339:108;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1305:21339:108;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1305:21339:108;8075:24:94;:::o;7975:84::-;1305:21339:108;;;8009:16:94;1305:21339:108;;8009:16:94;:::i;:::-;1305:21339:108;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:29::-;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;1305:21339:108;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;466:39:109;;1305:21339:108;;3901:31:23;1305:21339:108;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;757:38:109;;1305:21339:108;;3901:31:23;1305:21339:108;4148:103:23;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;1041:36:109;;1305:21339:108;;3901:31:23;1305:21339:108;4148:103:23;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;1187:40:109;;1305:21339:108;;3901:31:23;1305:21339:108;4148:103:23;966:10:28;-1:-1:-1;1305:21339:108;;;;;;;;;612:37:109;;1305:21339:108;;3901:31:23;1305:21339:108;4148:103:23;-1:-1:-1;1305:21339:108;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;966:10:28;1305:21339:108;;;;;;;;;3901:31:23;1305:21339:108;7270:387:23;-1:-1:-1;1305:21339:108;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;-1:-1:-1;;1305:21339:108;7509:4:23;1305:21339:108;;;966:10:28;;-1:-1:-1;;;;;1305:21339:108;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7892:388::-;-1:-1:-1;1305:21339:108;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;966:10:28;;-1:-1:-1;;;;;1305:21339:108;;8155:40:23;-1:-1:-1;;8155:40:23;1305:21339:108;8209:11:23;:::o;1670:188:55:-;1305:21339:108;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1305:21339:108;;;1797:53:55;;;1305:21339:108;;;;;;;;;;;;;;;;;1797:53:55;;;1305:21339:108;;;;;;;-1:-1:-1;;;;;1305:21339:108;;;;;1797:53:55;1305:21339:108;;;1797:53:55;:::i;1305:21339:108:-;7178:12:94;1305:21339:108;;;;;;7178:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;-1:-1:-1;1305:21339:108;:::o;:::-;7178:12:94;1305:21339:108;;;;;;7178:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;-1:-1:-1;1305:21339:108;:::o;:::-;;;;;;;;-1:-1:-1;1305:21339:108;;-1:-1:-1;1305:21339:108;;;-1:-1:-1;1305:21339:108;:::o;:::-;6360:12:94;1305:21339:108;-1:-1:-1;;;1305:21339:108;;;;;;;;;6360:12:94;1305:21339:108;;;;;;6360:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;:::o;:::-;6360:12:94;1305:21339:108;-1:-1:-1;;;1305:21339:108;;;;;;;;;6360:12:94;1305:21339:108;;;;;;6360:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;:::o;:::-;;;;;-1:-1:-1;;;1305:21339:108;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1305:21339:108;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1305:21339:108;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1305:21339:108;;;;;;;;;-1:-1:-1;1305:21339:108;;;-1:-1:-1;1305:21339:108;;;;;;6798:25:94;1305:21339:108;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1305:21339:108;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1305:21339:108;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;6356:75:94;;;6246:584;;;;6360:12;1305:21339:108;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1305:21339:108;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1305:21339:108;;;;;;;;;-1:-1:-1;1305:21339:108;;;-1:-1:-1;1305:21339:108;;;;;;6798:25:94;1305:21339:108;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1305:21339:108;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1305:21339:108;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1305:21339:108;;;;;;;;;;;;;;;;-1:-1:-1;1305:21339:108;;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;6356:75:94;;;6246:584;;;;;6360:12;;;1305:21339:108;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1305:21339:108;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1305:21339:108;;8310:38:71;;-1:-1:-1;;;;;1305:21339:108;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1305:21339:108;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1305:21339:108;;;;;;6360:12:94;1305:21339:108;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1305:21339:108;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1305:21339:108;;;1380:43:55;;;1305:21339:108;;;;;;;;;1380:43:55;;;1305:21339:108;;;;-1:-1:-1;;;;;1305:21339:108;;;;;;;;1380:43:55;1305:21339:108;;;1380:43:55;:::i;1305:21339:108:-;;;;;;;:::o;4996:4226:68:-;;1305:21339:108;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1616:3:109;6270:20:68;;;;;6266:143;;1305:21339:108;6695:300:68;;;;;;;;1305:21339:108;;6695:300:68;;7259:375;;7700:21;1305:21339:108;4996:4226:68;:::o;6266:143::-;1829:135:59;;;3060:42:68;1829:135:59;;;;;5792:368:68;1305:21339:108;;1616:3:109;1305:21339:108;;;6119:26:68;:::o;4996:4226::-;;1305:21339:108;;;;-1:-1:-1;;1305:21339:108;4996:4226:68;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:59;-1:-1:-1;940:4:59;7214:31:68;;7259:375;;;8094:1;1305:21339:108;;8075:1:68;1305:21339:108;8074:21:68;1305:21339:108;;;940:4:59;;1305:21339:108;;;;940:4:59;;1305:21339:108;;;;940:4:59;;1305:21339:108;;;;940:4:59;;1305:21339:108;;;;940:4:59;;1305:21339:108;;;;940:4:59;;1305:21339:108;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1305:21339:108;6695:300:68;;7259:375;7700:21;1305:21339:108;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1305:21339:108;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22091:460:108:-;;4471:25;819:34:73;837:15;819:34;:::i;4471:25:108:-;22184:23;;;22180:75;;1305:21339;22269:39;:27;;1305:21339;;22269:20;1305:21339;;;;;;;22269:27;22297:10;1305:21339;;;;;;;;;;;;;;22269:39;1305:21339;;22265:93;;22377:32;22297:10;22377:32;;:::i;:::-;22424:11;;;22420:68;;22498:39;22297:10;22498:27;22297:10;22498:27;1305:21339;;22269:20;1305:21339;;;;;;;22498:39;1305:21339;;-1:-1:-1;;1305:21339:108;22540:4;1305:21339;;;22091:460::o;22420:68::-;1305:21339;;-1:-1:-1;;;22458:19:108;;;;;22265:93;1305:21339;;-1:-1:-1;;;22331:16:108;;;;;14296:213:69;1305:21339:108;14374:24:69;;;;14370:103;;1305:21339:108;14296:213:69;:::o;14370:103::-;1305:21339:108;;;;14421:41:69;;;;;;14452:2;14421:41;;;1305:21339:108;;;;;14421:41:69;10580:184:94;5768:12:108;1305:21339;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1305:21339:108;;10726:7:94;1305:21339:108;;10736:12:94;1305:21339:108;;;;;;10736:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;10580:184:94;:::o;10446:63:71:-;1305:21339:108;;;;;;;;5768:12;-1:-1:-1;14439:109:71;;;1305:21339:108;;;10446:63:71;;10580:184:94;5412:13:108;1305:21339;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1305:21339:108;;10726:7:94;1305:21339:108;;10736:12:94;1305:21339:108;;;;;;10736:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;10580:184:94;:::o;10446:63:71:-;1305:21339:108;;;;;;;;5412:13;-1:-1:-1;14439:109:71;;;1305:21339:108;;;10446:63:71;;10580:184:94;1305:21339:108;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1305:21339:108;;10726:7:94;1305:21339:108;;10736:12:94;:17;:12;;:17;:::i;:::-;1305:21339:108;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1305:21339:108;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1305:21339:108;;;10446:63:71;;1662:280:95;;;1884:1;1305:21339:108;;;;;;;1884:1:95;1305:21339:108;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5238:13:108;1305:21339;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1305:21339:108;;7168:7:94;1305:21339:108;;7178:17:94;1305:21339:108;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5238:13:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1305:21339:108;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1305:21339:108;;;;;;;10049:53:71;14439:109;5238:13:108;-1:-1:-1;14439:109:71;1305:21339:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1305:21339:108;;;;;9870:48:71;9866:149;1305:21339:108;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5596:12:108;1305:21339;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1305:21339:108;;7168:7:94;1305:21339:108;;7178:17:94;1305:21339:108;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5596:12:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1305:21339:108;;;;;;;10049:53:71;14439:109;5596:12:108;-1:-1:-1;14439:109:71;1305:21339:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1305:21339:108;;;;;9870:48:71;9866:149;1305:21339:108;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1305:21339:108;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;1305:21339:108;;7168:7:94;1305:21339:108;;;7178:12:94;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;1305:21339:108;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1305:21339:108;14439:109:71;;;-1:-1:-1;14439:109:71;;1305:21339:108;;;;;9870:48:71;9866:149;1305:21339:108;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1305:21339:108;;;;;;;:::i;:::-;-1:-1:-1;1305:21339:108;;;;;;;:::o;11486:272:94:-;1305:21339:108;;:::i;:::-;;;;:::i;:::-;;5238:13;1305:21339;;;;;;5238:13;-1:-1:-1;1305:21339:108;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;;;;;;;;;;11718:12:94;1305:21339:108;;;;;;11718:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;:::i;:::-;;;;11672:79:94;;1305:21339:108;11486:272:94;:::o;:::-;1305:21339:108;;:::i;:::-;;;;:::i;:::-;;5596:12;1305:21339;;;;;;5596:12;-1:-1:-1;1305:21339:108;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;;;;;;;;;;11718:12:94;1305:21339:108;;;;;;11718:12:94;-1:-1:-1;1305:21339:108;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;;;;;:::i;11486:272:94:-;;1305:21339:108;11718:12:94;11452:22:71;11718:31:94;11486:272;1305:21339:108;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1305:21339:108;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1305:21339:108;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1305:21339:108;11486:272:94;:::o;7738:720:55:-;;-1:-1:-1;7875:421:55;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:55;;8310:15;;-1:-1:-1;;;;;;1305:21339:108;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1305:21339:108;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1305:21339:108;;;8401:40:55;;;1305:21339:108;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1305:21339:108;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1305:21339:108;;;;;;;1258:280:95;:::o;10695:389:71:-;5768:12:108;1305:21339;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1305:21339:108;;;;;;;;5768:12;10833:17:71;14439:109;;;1305:21339:108;11014:1:71;;1305:21339:108;;;;;;;11030:37:71:o;10695:389::-;5412:13:108;1305:21339;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1305:21339:108;;;;;;;;5412:13;10833:17:71;14439:109;;;1305:21339:108;11014:1:71;;1305:21339:108;;;;;;;11030:37:71:o;10695:389::-;1305:21339:108;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1305:21339:108;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1305:21339:108;11014:1:71;1305:21339:108;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1305:21339:108;5768:12;1305:21339;;-1:-1:-1;;;1305:21339:108;;;;;;;;;5768:12;1305:21339;;;;;;5768:12;-1:-1:-1;1305:21339:108;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;:::o;:::-;5412:13;1305:21339;;-1:-1:-1;;;1305:21339:108;;;;;;;;;5412:13;1305:21339;;;;;;5412:13;-1:-1:-1;1305:21339:108;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;-1:-1:-1;;;;;;;;;;;1305:21339:108;;;;:::o;:::-;;;-1:-1:-1;;;1305:21339:108;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1305:21339:108;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5768:12:108;1305:21339;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1305:21339:108;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1305:21339:108;;;;;;;;;;;;;;;;;12285:19:71;1305:21339:108;;12423:25:71;;:::o;12247:163::-;1305:21339:108;;12343:52:71;1305:21339:108;12353:41:71;1305:21339:108;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1305:21339:108;;12353:41:71;;;1305:21339:108;12343:52:71;:::i;:::-;12247:163;;12099:89;1305:21339:108;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1305:21339:108;12479:52:71;1305:21339:108;12489:41:71;1305:21339:108;;:::i;12489:41:71:-;-1:-1:-1;;;;;1305:21339:108;;12489:41:71;;;1305:21339:108;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5412:13:108;1305:21339;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1305:21339:108;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1305:21339:108;;;;;;;;;;;;;;;;;12247:163:71;1305:21339:108;;12343:52:71;1305:21339:108;12353:41:71;1305:21339:108;;:::i;12353:41:71:-;-1:-1:-1;;;;;1305:21339:108;;12353:41:71;;;1305:21339:108;12343:52:71;:::i;11860:713::-;1305:21339:108;12479:52:71;1305:21339:108;12489:41:71;1305:21339:108;;:::i;12489:41:71:-;-1:-1:-1;;;;;1305:21339:108;;12489:41:71;;;1305:21339:108;12343:52:71;:::i;11657:922::-;1305:21339:108;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1305:21339:108;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1305:21339:108;;;;;;;;;;;;;;;;;12247:163:71;1305:21339:108;;;12343:52:71;1305:21339:108;12353:41:71;1305:21339:108;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1305:21339:108;;12353:41:71;;;1305:21339:108;12343:52:71;:::i;11860:713::-;1305:21339:108;;12479:52:71;1305:21339:108;12489:41:71;1305:21339:108;;:::i;12489:41:71:-;-1:-1:-1;;;;;1305:21339:108;;12489:41:71;;;1305:21339:108;12343:52:71;:::i;18080:5181:68:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;1305:21339:108;18246:1:68;1305:21339:108;22284:6:68;;;;:::i;:::-;1305:21339:108;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;1305:21339:108;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1305:21339:108;19887:61:68;;19787:87;1305:21339:108;;;;;19787:87:68;;;19687;1305:21339:108;;;;;19687:87:68;;;19585:89;1305:21339:108;;;;;19585:89:68;;;19482:90;1305:21339:108;;;;;19482:90:68;;;19379;1305:21339:108;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1305:21339:108;-1:-1:-1;1305:21339:108;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1305:21339:108;;3731:5:68;;;1305:21339:108;;;;;;;;;5238:13;-1:-1:-1;14439:109:71;1305:21339:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1305:21339:108;;;;;-1:-1:-1;13189:136:71;1305:21339:108;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1305:21339:108;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1305:21339:108;;3731:5:68;;;1305:21339:108;;;;;;;;;5596:12;-1:-1:-1;14439:109:71;1305:21339:108;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1305:21339:108;;;;;-1:-1:-1;13189:136:71;1305:21339:108;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1305:21339:108;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1305:21339:108;;3731:5:68;;;1305:21339:108;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1305:21339:108;14439:109:71;;;-1:-1:-1;14439:109:71;;1305:21339:108;;;;;-1:-1:-1;13189:136:71;1305:21339:108;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1305:21339:108;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"69277":[{"start":9603,"length":32}],"70100":[{"start":5284,"length":32},{"start":6506,"length":32}],"70103":[{"start":7705,"length":32},{"start":9112,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_Vault_init(bytes)":"ae13539e","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","activeBalanceOf(address)":"59f769a9","activeBalanceOfAt(address,uint48,bytes)":"efb559d6","activeShares()":"bfefcd7b","activeSharesAt(uint48,bytes)":"50f22068","activeSharesOf(address)":"9d66201b","activeSharesOfAt(address,uint48,bytes)":"2d73c69c","activeStake()":"bd49c35f","activeStakeAt(uint48,bytes)":"810da75d","burner()":"27810b6e","claim(address,uint256)":"aad3ec96","claimBatch(address,uint256[])":"7c04c80a","collateral()":"d8dfeb45","currentEpoch()":"76671808","currentEpochStart()":"61a8c8c4","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochAt(uint48)":"7953b33b","epochDuration()":"4ff0876a","epochDurationInit()":"46361671","epochDurationSetEpochsDelay()":"c642b050","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","maxFlashLoan(address)":"613255ab","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setEpochDuration(uint48,uint256)":"83f46c2c","setFlashFeeRate(uint256)":"d626811b","setFlashFeeReceiver(address)":"52741a40","setFlashloanEnabled(bool)":"859b9344","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076","withdrawalsOf(uint256,address)":"f5e7ee0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientRedemption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientWithdrawal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNewEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReturnAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxLoanExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewEpochDurationNotReady\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLowFlashLoanValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"OnSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"SetDelegator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"SetDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositorWhitelistStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"epochDuration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay\",\"type\":\"uint256\"}],\"name\":\"SetEpochDuration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flashFeeRate\",\"type\":\"uint256\"}],\"name\":\"SetFlashFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"flashFeeReceiver\",\"type\":\"address\"}],\"name\":\"SetFlashFeeReceiver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetFlashloanEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetIsDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"name\":\"SetSlasher\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"_Vault_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"activeBalanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeStakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"}],\"name\":\"claimBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"epochAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"epochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"onSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"previousEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator_\",\"type\":\"address\"}],\"name\":\"setDelegator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"setDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositorWhitelistStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"epochDuration_\",\"type\":\"uint48\"},{\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay_\",\"type\":\"uint256\"}],\"name\":\"setEpochDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashFeeRate_\",\"type\":\"uint256\"}],\"name\":\"setFlashFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"flashFeeReceiver_\",\"type\":\"address\"}],\"name\":\"setFlashFeeReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setFlashloanEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setIsDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher_\",\"type\":\"address\"}],\"name\":\"setSlasher\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"slashableBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"Claim(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epoch\":\"epoch the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"ClaimBatch(address,address,uint256[],uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epochs\":\"epochs the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral deposited\",\"depositor\":\"account that made the deposit\",\"onBehalfOf\":\"account the deposit was made on behalf of\",\"shares\":\"amount of the active shares minted\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(uint256,uint48,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to slash\",\"captureTimestamp\":\"time point when the stake was captured\",\"slashedAmount\":\"real amount of the collateral slashed\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"SetDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"SetDepositLimit(uint256)\":{\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"SetDepositWhitelist(bool)\":{\"params\":{\"status\":\"if enabled deposit whitelist\"}},\"SetDepositorWhitelistStatus(address,bool)\":{\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisted the account\"}},\"SetEpochDuration(uint48,uint256)\":{\"params\":{\"epochDuration\":\"epoch duration\",\"epochDurationSetEpochsDelay\":\"delay for the epoch duration set in epochs\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"SetFlashloanEnabled(bool)\":{\"params\":{\"status\":\"if enabled flash loan\"}},\"SetIsDepositLimit(bool)\":{\"params\":{\"status\":\"if enabled deposit limit\"}},\"SetSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral withdrawn\",\"burnedShares\":\"amount of the active shares burned\",\"claimer\":\"account that needs to claim the withdrawal\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawer\":\"account that made the withdrawal\"}}},\"kind\":\"dev\",\"methods\":{\"activeBalanceOf(address)\":{\"params\":{\"account\":\"account to get the active balance for\"},\"returns\":{\"_0\":\"active balance for the account\"}},\"activeBalanceOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the active balance for\",\"hints\":\"hints for checkpoints' indexes\",\"timestamp\":\"time point to get the active balance for the account at\"},\"returns\":{\"_0\":\"active balance for the account at the timestamp\"}},\"activeShares()\":{\"returns\":{\"_0\":\"total number of active shares\"}},\"activeSharesAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total number of active shares at\"},\"returns\":{\"_0\":\"total number of active shares at the timestamp\"}},\"activeSharesOf(address)\":{\"params\":{\"account\":\"account to get the number of active shares for\"},\"returns\":{\"_0\":\"number of active shares for the account\"}},\"activeSharesOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the number of active shares for\",\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the number of active shares for the account at\"},\"returns\":{\"_0\":\"number of active shares for the account at the timestamp\"}},\"activeStake()\":{\"returns\":{\"_0\":\"total amount of active stake\"}},\"activeStakeAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total active stake at\"},\"returns\":{\"_0\":\"total amount of active stake at the timestamp\"}},\"claim(address,uint256)\":{\"params\":{\"epoch\":\"epoch to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"claimBatch(address,uint256[])\":{\"params\":{\"epochs\":\"epochs to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"currentEpoch()\":{\"returns\":{\"_0\":\"current epoch\"}},\"currentEpochStart()\":{\"returns\":{\"_0\":\"start of the current epoch\"}},\"deposit(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to deposit\",\"onBehalfOf\":\"account the deposit is made on behalf of\"},\"returns\":{\"depositedAmount\":\"real amount of the collateral deposited\",\"mintedShares\":\"amount of the active shares minted\"}},\"epochAt(uint48)\":{\"details\":\"Reverts if the timestamp is less than the start of the epoch 0.\",\"params\":{\"timestamp\":\"time point to get the epoch at\"},\"returns\":{\"_0\":\"epoch at the timestamp\"}},\"epochDuration()\":{\"returns\":{\"_0\":\"duration of the epoch\"}},\"epochDurationInit()\":{\"returns\":{\"_0\":\"time point of the epoch duration set\"}},\"epochDurationSetEpochsDelay()\":{\"returns\":{\"_0\":\"delay for the epoch duration set\"}},\"epochStart(uint256)\":{\"params\":{\"epoch\":\"epoch to get the start of\"},\"returns\":{\"_0\":\"start of the epoch\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lended.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"nextEpochStart()\":{\"returns\":{\"_0\":\"start of the next epoch\"}},\"onSlash(uint256,uint48)\":{\"details\":\"Only the slasher can call this function.\",\"params\":{\"amount\":\"amount to slash\",\"captureTimestamp\":\"time point when the stake was captured\"},\"returns\":{\"slashedAmount\":\"real amount of the collateral slashed\"}},\"previousEpochStart()\":{\"details\":\"Reverts if the current epoch is 0.\",\"returns\":{\"_0\":\"start of the previous epoch\"}},\"redeem(address,uint256)\":{\"params\":{\"claimer\":\"account that needs to claim the withdrawal\",\"shares\":\"amount of the active shares to redeem\"},\"returns\":{\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawnAssets\":\"amount of the collateral withdrawn\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"setDepositLimit(uint256)\":{\"details\":\"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"setDepositWhitelist(bool)\":{\"details\":\"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit whitelist\"}},\"setDepositorWhitelistStatus(address,bool)\":{\"details\":\"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.\",\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisting the account\"}},\"setEpochDuration(uint48,uint256)\":{\"details\":\"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.\",\"params\":{\"epochDurationSetEpochsDelay_\":\"delay for the epoch duration set in epochs\",\"epochDuration_\":\"epoch duration\"}},\"setFlashFeeRate(uint256)\":{\"details\":\"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeRate_\":\"flash fee rate\"}},\"setFlashFeeReceiver(address)\":{\"details\":\"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeReceiver_\":\"flash fee receiver\"}},\"setFlashloanEnabled(bool)\":{\"details\":\"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabled flash loan\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"setSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"slashableBalanceOf(address)\":{\"params\":{\"account\":\"account to get the slashable collateral for\"},\"returns\":{\"_0\":\"total amount of the account's slashable collateral\"}},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"withdraw(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to withdraw\",\"claimer\":\"account that needs to claim the withdrawal\"},\"returns\":{\"burnedShares\":\"amount of the active shares burned\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\"}},\"withdrawalsOf(uint256,address)\":{\"params\":{\"account\":\"account to get the withdrawals for\",\"epoch\":\"epoch to get the withdrawals for the account at\"},\"returns\":{\"_0\":\"withdrawals for the account at the epoch\"}}},\"stateVariables\":{\"DELEGATOR_FACTORY\":{\"return\":\"address of the delegator factory\",\"returns\":{\"_0\":\"address of the delegator factory\"}},\"SLASHER_FACTORY\":{\"return\":\"address of the slasher factory\",\"returns\":{\"_0\":\"address of the slasher factory\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Claim(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a claim is made.\"},\"ClaimBatch(address,address,uint256[],uint256)\":{\"notice\":\"Emitted when a batch claim is made.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a deposit is made.\"},\"OnSlash(uint256,uint48,uint256)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetDelegator(address)\":{\"notice\":\"Emitted when a delegator is set.\"},\"SetDepositLimit(uint256)\":{\"notice\":\"Emitted when a deposit limit is set.\"},\"SetDepositWhitelist(bool)\":{\"notice\":\"Emitted when a deposit whitelist status is enabled/disabled.\"},\"SetDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Emitted when a depositor whitelist status is set.\"},\"SetEpochDuration(uint48,uint256)\":{\"notice\":\"Emitted when a epoch duration is set (can be accepted after `epochDurationSetEpochsDelay` epochs).\"},\"SetFlashFeeRate(uint256)\":{\"notice\":\"Emitted when a flash fee rate is set.\"},\"SetFlashFeeReceiver(address)\":{\"notice\":\"Emitted when a flash fee receiver is set.\"},\"SetFlashloanEnabled(bool)\":{\"notice\":\"Emitted when a flash loan enabled status is set.\"},\"SetIsDepositLimit(bool)\":{\"notice\":\"Emitted when a deposit limit status is enabled/disabled.\"},\"SetSlasher(address)\":{\"notice\":\"Emitted when a slasher is set.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a withdrawal is made.\"}},\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"activeBalanceOf(address)\":{\"notice\":\"Get an active balance for a particular account.\"},\"activeBalanceOfAt(address,uint48,bytes)\":{\"notice\":\"Get an active balance for a particular account at a given timestamp using hints.\"},\"activeShares()\":{\"notice\":\"Get a total number of active shares in the vault.\"},\"activeSharesAt(uint48,bytes)\":{\"notice\":\"Get a total number of active shares in the vault at a given timestamp using a hint.\"},\"activeSharesOf(address)\":{\"notice\":\"Get a number of active shares for a particular account.\"},\"activeSharesOfAt(address,uint48,bytes)\":{\"notice\":\"Get a total number of active shares for a particular account at a given timestamp using a hint.\"},\"activeStake()\":{\"notice\":\"Get a total amount of active stake in the vault.\"},\"activeStakeAt(uint48,bytes)\":{\"notice\":\"Get a total amount of active stake in the vault at a given timestamp using a hint.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"claim(address,uint256)\":{\"notice\":\"Claim collateral from the vault.\"},\"claimBatch(address,uint256[])\":{\"notice\":\"Claim collateral from the vault for multiple epochs.\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"currentEpoch()\":{\"notice\":\"Get a current vault epoch.\"},\"currentEpochStart()\":{\"notice\":\"Get a start of the current vault epoch.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit collateral into the vault.\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"epochAt(uint48)\":{\"notice\":\"Get an epoch at a given timestamp.\"},\"epochDuration()\":{\"notice\":\"Get a duration of the vault epoch.\"},\"epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set.\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochStart(uint256)\":{\"notice\":\"Get a start of the epoch.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isInitialized()\":{\"notice\":\"Check if the vault is fully initialized (a delegator and a slasher are set).\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"previousEpochStart()\":{\"notice\":\"Get a start of the previous vault epoch.\"},\"redeem(address,uint256)\":{\"notice\":\"Redeem collateral from the vault (it will be claimable after the next epoch).\"},\"setDelegator(address)\":{\"notice\":\"Set a delegator.\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setEpochDuration(uint48,uint256)\":{\"notice\":\"Set an epoch duration (can be only greater than the current one).\"},\"setFlashFeeRate(uint256)\":{\"notice\":\"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"setFlashFeeReceiver(address)\":{\"notice\":\"Set a flash fee receiver.\"},\"setFlashloanEnabled(bool)\":{\"notice\":\"Set a flash loan enabled status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"setSlasher(address)\":{\"notice\":\"Set a slasher.\"},\"slashableBalanceOf(address)\":{\"notice\":\"Get a total amount of the collateral that can be slashed for a given account.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"totalStake()\":{\"notice\":\"Get a total amount of the collateral that can be slashed.\"},\"withdraw(address,uint256)\":{\"notice\":\"Withdraw collateral from the vault (it will be claimable after the next epoch).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"},\"withdrawalsOf(uint256,address)\":{\"notice\":\"Get withdrawals for a particular account at a given epoch (zero if claimed).\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultImplementation.sol\":\"VaultImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/v1.1/Implementation.sol\":{\"keccak256\":\"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6\",\"dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb\"]},\"src/contracts/vault/v1.1/VaultImplementation.sol\":{\"keccak256\":\"0x5471a172692228ee015fd3869419a712285d14a609626f9801ed96159c0805de\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://bfd55d4e772e3c1e40a38ebfd3e892e6dc8cf716f63570c8d30352cf971d0573\",\"dweb:/ipfs/QmRJAckWFgKQVACFY4dP2G6zkkASMCpiagExCR9Na3Co8v\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IRegistry.sol\":{\"keccak256\":\"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014\",\"dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/delegator/IBaseDelegator.sol\":{\"keccak256\":\"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2\",\"dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/v1.1/IImplementation.sol\":{\"keccak256\":\"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc\",\"dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe\",\"dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"delegatorFactory","type":"address"},{"internalType":"address","name":"slasherFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyClaimed"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"inputs":[],"type":"error","name":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InsufficientRedemption"},{"inputs":[],"type":"error","name":"InsufficientWithdrawal"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCaptureEpoch"},{"inputs":[],"type":"error","name":"InvalidClaimer"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidDelegator"},{"inputs":[],"type":"error","name":"InvalidEpoch"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidNewEpochDuration"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"InvalidReceiver"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidReturnAmount"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MaxLoanExceeded"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NewEpochDurationNotReady"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooLowFlashLoanValue"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"epoch","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256[]","name":"epochs","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ClaimBatch","anonymous":false},{"inputs":[{"internalType":"address","name":"depositor","type":"address","indexed":true},{"internalType":"address","name":"onBehalfOf","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false}],"type":"event","name":"OnSlash","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true}],"type":"event","name":"SetDelegator","anonymous":false},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"SetDepositLimit","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositWhitelist","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositorWhitelistStatus","anonymous":false},{"inputs":[{"internalType":"uint48","name":"epochDuration","type":"uint48","indexed":false},{"internalType":"uint256","name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false}],"type":"event","name":"SetEpochDuration","anonymous":false},{"inputs":[{"internalType":"uint256","name":"flashFeeRate","type":"uint256","indexed":false}],"type":"event","name":"SetFlashFeeRate","anonymous":false},{"inputs":[{"internalType":"address","name":"flashFeeReceiver","type":"address","indexed":false}],"type":"event","name":"SetFlashFeeReceiver","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetFlashloanEnabled","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetIsDepositLimit","anonymous":false},{"inputs":[{"internalType":"address","name":"slasher","type":"address","indexed":true}],"type":"event","name":"SetSlasher","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"burnedShares","type":"uint256","indexed":false},{"internalType":"uint256","name":"mintedShares","type":"uint256","indexed":false}],"type":"event","name":"Withdraw","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DELEGATOR_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_Vault_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeBalanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeSharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeStakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claim","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"epochs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"claimBatch","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"epochAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"epochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function","name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"nonpayable","type":"function","name":"onSlash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"previousEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"delegator_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegator"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDepositLimit"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositWhitelist"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositorWhitelistStatus"},{"inputs":[{"internalType":"uint48","name":"epochDuration_","type":"uint48"},{"internalType":"uint256","name":"epochDurationSetEpochsDelay_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setEpochDuration"},{"inputs":[{"internalType":"uint256","name":"flashFeeRate_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeRate"},{"inputs":[{"internalType":"address","name":"flashFeeReceiver_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeReceiver"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setFlashloanEnabled"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsDepositLimit"},{"inputs":[{"internalType":"address","name":"slasher_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSlasher"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"slashableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activeBalanceOf(address)":{"params":{"account":"account to get the active balance for"},"returns":{"_0":"active balance for the account"}},"activeBalanceOfAt(address,uint48,bytes)":{"params":{"account":"account to get the active balance for","hints":"hints for checkpoints' indexes","timestamp":"time point to get the active balance for the account at"},"returns":{"_0":"active balance for the account at the timestamp"}},"activeShares()":{"returns":{"_0":"total number of active shares"}},"activeSharesAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total number of active shares at"},"returns":{"_0":"total number of active shares at the timestamp"}},"activeSharesOf(address)":{"params":{"account":"account to get the number of active shares for"},"returns":{"_0":"number of active shares for the account"}},"activeSharesOfAt(address,uint48,bytes)":{"params":{"account":"account to get the number of active shares for","hint":"hint for the checkpoint index","timestamp":"time point to get the number of active shares for the account at"},"returns":{"_0":"number of active shares for the account at the timestamp"}},"activeStake()":{"returns":{"_0":"total amount of active stake"}},"activeStakeAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total active stake at"},"returns":{"_0":"total amount of active stake at the timestamp"}},"claim(address,uint256)":{"params":{"epoch":"epoch to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"claimBatch(address,uint256[])":{"params":{"epochs":"epochs to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"currentEpoch()":{"returns":{"_0":"current epoch"}},"currentEpochStart()":{"returns":{"_0":"start of the current epoch"}},"deposit(address,uint256)":{"params":{"amount":"amount of the collateral to deposit","onBehalfOf":"account the deposit is made on behalf of"},"returns":{"depositedAmount":"real amount of the collateral deposited","mintedShares":"amount of the active shares minted"}},"epochAt(uint48)":{"details":"Reverts if the timestamp is less than the start of the epoch 0.","params":{"timestamp":"time point to get the epoch at"},"returns":{"_0":"epoch at the timestamp"}},"epochDuration()":{"returns":{"_0":"duration of the epoch"}},"epochDurationInit()":{"returns":{"_0":"time point of the epoch duration set"}},"epochDurationSetEpochsDelay()":{"returns":{"_0":"delay for the epoch duration set"}},"epochStart(uint256)":{"params":{"epoch":"epoch to get the start of"},"returns":{"_0":"start of the epoch"}},"flashFee(address,uint256)":{"details":"The fee to be charged for a given loan.","params":{"amount":"The amount of tokens lent.","token":"The loan currency."},"returns":{"_0":"The amount of `token` to be charged for the loan, on top of the returned principal."}},"flashLoan(address,address,uint256,bytes)":{"details":"Initiate a flash loan.","params":{"amount":"The amount of tokens lent.","data":"Arbitrary data structure, intended to contain user-defined parameters.","receiver":"The receiver of the tokens in the loan, and the receiver of the callback.","token":"The loan currency."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"maxFlashLoan(address)":{"details":"The amount of currency available to be lended.","params":{"token":"The loan currency."},"returns":{"_0":"The amount of `token` that can be borrowed."}},"nextEpochStart()":{"returns":{"_0":"start of the next epoch"}},"onSlash(uint256,uint48)":{"details":"Only the slasher can call this function.","params":{"amount":"amount to slash","captureTimestamp":"time point when the stake was captured"},"returns":{"slashedAmount":"real amount of the collateral slashed"}},"previousEpochStart()":{"details":"Reverts if the current epoch is 0.","returns":{"_0":"start of the previous epoch"}},"redeem(address,uint256)":{"params":{"claimer":"account that needs to claim the withdrawal","shares":"amount of the active shares to redeem"},"returns":{"mintedShares":"amount of the epoch withdrawal shares minted","withdrawnAssets":"amount of the collateral withdrawn"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setDelegator(address)":{"details":"Can be set only once.","params":{"delegator":"vault's delegator to delegate the stake to networks and operators"}},"setDepositLimit(uint256)":{"details":"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"limit":"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)"}},"setDepositWhitelist(bool)":{"details":"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit whitelist"}},"setDepositorWhitelistStatus(address,bool)":{"details":"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.","params":{"account":"account for which the whitelist status is set","status":"if whitelisting the account"}},"setEpochDuration(uint48,uint256)":{"details":"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.","params":{"epochDurationSetEpochsDelay_":"delay for the epoch duration set in epochs","epochDuration_":"epoch duration"}},"setFlashFeeRate(uint256)":{"details":"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.","params":{"flashFeeRate_":"flash fee rate"}},"setFlashFeeReceiver(address)":{"details":"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.","params":{"flashFeeReceiver_":"flash fee receiver"}},"setFlashloanEnabled(bool)":{"details":"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.","params":{"status":"if enabled flash loan"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"setSlasher(address)":{"details":"Can be set only once.","params":{"slasher":"vault's slasher to provide a slashing mechanism to networks"}},"slashableBalanceOf(address)":{"params":{"account":"account to get the slashable collateral for"},"returns":{"_0":"total amount of the account's slashable collateral"}},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"totalStake()":{"returns":{"_0":"total amount of the slashable collateral"}},"withdraw(address,uint256)":{"params":{"amount":"amount of the collateral to withdraw","claimer":"account that needs to claim the withdrawal"},"returns":{"burnedShares":"amount of the active shares burned","mintedShares":"amount of the epoch withdrawal shares minted"}},"withdrawalsOf(uint256,address)":{"params":{"account":"account to get the withdrawals for","epoch":"epoch to get the withdrawals for the account at"},"returns":{"_0":"withdrawals for the account at the epoch"}}},"version":1},"userdoc":{"kind":"user","methods":{"DELEGATOR_FACTORY()":{"notice":"Get the delegator factory's address."},"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"SLASHER_FACTORY()":{"notice":"Get the slasher factory's address."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"activeBalanceOf(address)":{"notice":"Get an active balance for a particular account."},"activeBalanceOfAt(address,uint48,bytes)":{"notice":"Get an active balance for a particular account at a given timestamp using hints."},"activeShares()":{"notice":"Get a total number of active shares in the vault."},"activeSharesAt(uint48,bytes)":{"notice":"Get a total number of active shares in the vault at a given timestamp using a hint."},"activeSharesOf(address)":{"notice":"Get a number of active shares for a particular account."},"activeSharesOfAt(address,uint48,bytes)":{"notice":"Get a total number of active shares for a particular account at a given timestamp using a hint."},"activeStake()":{"notice":"Get a total amount of active stake in the vault."},"activeStakeAt(uint48,bytes)":{"notice":"Get a total amount of active stake in the vault at a given timestamp using a hint."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"claim(address,uint256)":{"notice":"Claim collateral from the vault."},"claimBatch(address,uint256[])":{"notice":"Claim collateral from the vault for multiple epochs."},"collateral()":{"notice":"Get a vault collateral."},"currentEpoch()":{"notice":"Get a current vault epoch."},"currentEpochStart()":{"notice":"Get a start of the current vault epoch."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"deposit(address,uint256)":{"notice":"Deposit collateral into the vault."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"epochAt(uint48)":{"notice":"Get an epoch at a given timestamp."},"epochDuration()":{"notice":"Get a duration of the vault epoch."},"epochDurationInit()":{"notice":"Get a time point of the epoch duration set."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochStart(uint256)":{"notice":"Get a start of the epoch."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isInitialized()":{"notice":"Check if the vault is fully initialized (a delegator and a slasher are set)."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"previousEpochStart()":{"notice":"Get a start of the previous vault epoch."},"redeem(address,uint256)":{"notice":"Redeem collateral from the vault (it will be claimable after the next epoch)."},"setDelegator(address)":{"notice":"Set a delegator."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setEpochDuration(uint48,uint256)":{"notice":"Set an epoch duration (can be only greater than the current one)."},"setFlashFeeRate(uint256)":{"notice":"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"setFlashFeeReceiver(address)":{"notice":"Set a flash fee receiver."},"setFlashloanEnabled(bool)":{"notice":"Set a flash loan enabled status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"setSlasher(address)":{"notice":"Set a slasher."},"slashableBalanceOf(address)":{"notice":"Get a total amount of the collateral that can be slashed for a given account."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"totalStake()":{"notice":"Get a total amount of the collateral that can be slashed."},"withdraw(address,uint256)":{"notice":"Withdraw collateral from the vault (it will be claimable after the next epoch)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."},"withdrawalsOf(uint256,address)":{"notice":"Get withdrawals for a particular account at a given epoch (zero if claimed)."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultImplementation.sol":"VaultImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/v1.1/Implementation.sol":{"keccak256":"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15","urls":["bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6","dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultImplementation.sol":{"keccak256":"0x5471a172692228ee015fd3869419a712285d14a609626f9801ed96159c0805de","urls":["bzz-raw://bfd55d4e772e3c1e40a38ebfd3e892e6dc8cf716f63570c8d30352cf971d0573","dweb:/ipfs/QmRJAckWFgKQVACFY4dP2G6zkkASMCpiagExCR9Na3Co8v"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IRegistry.sol":{"keccak256":"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb","urls":["bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014","dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/delegator/IBaseDelegator.sol":{"keccak256":"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee","urls":["bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2","dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/v1.1/IImplementation.sol":{"keccak256":"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca","urls":["bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc","dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0","urls":["bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe","dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"}},"version":1},"id":108} \ No newline at end of file diff --git a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json index a066e01..28adbf1 100644 --- a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json +++ b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseImplementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_VaultTokenized_init","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a034606d57601f611d6a38819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611ce4908161008682396080518181816106cc01526116c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436106116be575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a3036116be576112c7565b6112aa565b61128c565b61126f565b611240565b611206565b6111db565b6111b3565b61118b565b61116e565b611146565b61110c565b6110ef565b6110c7565b61109d565b61106c565b611044565b61100a565b610fbc565b610f73565b610f39565b610f15565b610eed565b610e6a565b610e4d565b610e30565b610d7e565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c4f8339815191528054906103b68261134c565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e381880382611398565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d560209161149a565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b6116fa565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611398565b7f000000000000000000000000000000000000000000000000000000000000000061154b565b602080825183010191016113ba565b9290916040519081525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b6107739350611568565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b78183611398565b8101906113d0565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611c8f83398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f206114f8565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b8101906040818303126104785780358481116104785782610c4b918301611425565b91602082013585811161047857610c629201611425565b91610c6b61177f565b610c7361177f565b8151938411610d79575f80516020611c4f83398151915291610c9e85610c99855461134c565b6117c0565b602091601f8611600114610ce657509380610cd292610cd9965f92610cdb575b50508160011b915f199060031b1c19161790565b90556118b2565b005b015190505f80610cbe565b5f80516020611c4f8339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d61575050916001939187610cd9989410610d49575b505050811b0190556118b2565b01515f1960f88460031b161c191690555f8080610d3c565b80600186978294978701518155019601940190610d22565b611384565b34610478575f366003190112610478576040515f5f80516020611c6f833981519152805490610dac8261134c565b8085529160209160019182811690811561044b5750600114610dd8576103ef866103e381880382611398565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e1d575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e00565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610e8361047c565b60243567ffffffffffffffff8111610478575f91610ea683923690600401610bc7565b90816040519283928337810184815203915af4610ee5610ec461146b565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610fb3610f91610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff610ffe610fdc610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b346104785760403660031901126104785761109261108861047c565b6024359033611568565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610fb361125e61047c565b6104e9611269610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113206106f06106bc6106ca6112ec61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b90600182811c9216801561137a575b602083101461136657565b634e487b7160e01b5f52602260045260245ffd5b91607f169161135b565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610d7957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610d7957604052565b67ffffffffffffffff8111610d7957601f01601f191660200190565b81601f820112156104785780359061143c82611409565b9261144a6040519485611398565b8284526020838301011161047857815f926020809301838601378301015290565b3d15611495573d9061147c82611409565b9161148a6040519384611398565b82523d5f602084013e565b606090565b600b548110156114cf57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156114cf575f5260205f2001905f90565b80548061152d57505f5b6001600160d01b0381161561152757600161151d92016114e3565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611502565b5f8061038593602081519101845af461156261146b565b9161171c565b916001600160a01b03808416929083156116a657811693841561168e576001600160a01b0381165f908152600e602052604090206115aa906114f8565b6114f8565b9083821061165c57611657926115f95f80516020611c8f83398151915295936115e66116459460018060a01b03165f52600e60205260405f2090565b90856115f142611aab565b9103916119e9565b50506001600160a01b0381165f908152600e60205260409020908361163e6115a561162342611aab565b6001600160a01b039094165f908152600e6020526040902090565b01916119e9565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156116f6573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611743575080511561173157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611776575b611754575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561174c565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117ae57565b604051631afcd79f60e31b8152600490fd5b601f81116117cc575050565b5f80516020611c4f8339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c8301931061182f575b601f0160051c01905b818110611824575050565b5f8155600101611819565b9091508190611810565b601f8111611845575050565b5f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118a8575b601f0160051c01905b81811061189d575050565b5f8155600101611892565b9091508190611889565b90815167ffffffffffffffff8111610d79575f80516020611c6f833981519152906118e6816118e1845461134c565b611839565b602080601f831160011461191b575081906119179394955f92610cdb5750508160011b915f199060031b1c19161790565b9055565b90601f198316956119595f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119945750508360019596971061197c575b505050811b019055565b01515f1960f88460031b161c191690555f8080611972565b8060018596829496860151815501950193019061195d565b90815491600160401b831015610d7957826119cf9160016119e7950181556114e3565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611a7b575b5084611a0684611add565b50949092845493611a16836114f8565b9681611a66575b5015611a43575050505f198101908111610627576119cf8591611a3f936114e3565b9190565b611a3f949293611a5f926001600160d01b039091169190611b71565b50506119ac565b65ffffffffffff83811691161490505f611a1d565b600160401b811015610d7957806001611a9792018455836114e3565b8154905f199060031b1b191690555f6119fb565b65ffffffffffff90818111611abe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611aee5750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610d7957611b33916001820181556114e3565b611b5e57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c2457611b88611b939161170e565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c1257879303611bd95750611bd292509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c0d91611bf9611beb6113e9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b16565b611bd2565b604051632520601d60e01b8152600490fd5b5090611c4991611c35611beb6113e9565b6001600160d01b0385166020830152611b16565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122072ff05afa035e3294883aa36f6638d5dcca4d207764b3e9b41e2a260b9ffdade64736f6c63430008190033","sourceMap":"978:3948:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;1324:40;;978:3948;;;;;;;;1324:40;978:3948;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;-1:-1:-1;978:3948:110;;;;;-1:-1:-1;978:3948:110","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106116be575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a3036116be576112c7565b6112aa565b61128c565b61126f565b611240565b611206565b6111db565b6111b3565b61118b565b61116e565b611146565b61110c565b6110ef565b6110c7565b61109d565b61106c565b611044565b61100a565b610fbc565b610f73565b610f39565b610f15565b610eed565b610e6a565b610e4d565b610e30565b610d7e565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c4f8339815191528054906103b68261134c565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e381880382611398565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d560209161149a565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b6116fa565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611398565b7f000000000000000000000000000000000000000000000000000000000000000061154b565b602080825183010191016113ba565b9290916040519081525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b6107739350611568565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b78183611398565b8101906113d0565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611c8f83398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f206114f8565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b8101906040818303126104785780358481116104785782610c4b918301611425565b91602082013585811161047857610c629201611425565b91610c6b61177f565b610c7361177f565b8151938411610d79575f80516020611c4f83398151915291610c9e85610c99855461134c565b6117c0565b602091601f8611600114610ce657509380610cd292610cd9965f92610cdb575b50508160011b915f199060031b1c19161790565b90556118b2565b005b015190505f80610cbe565b5f80516020611c4f8339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d61575050916001939187610cd9989410610d49575b505050811b0190556118b2565b01515f1960f88460031b161c191690555f8080610d3c565b80600186978294978701518155019601940190610d22565b611384565b34610478575f366003190112610478576040515f5f80516020611c6f833981519152805490610dac8261134c565b8085529160209160019182811690811561044b5750600114610dd8576103ef866103e381880382611398565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e1d575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e00565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610e8361047c565b60243567ffffffffffffffff8111610478575f91610ea683923690600401610bc7565b90816040519283928337810184815203915af4610ee5610ec461146b565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610fb3610f91610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff610ffe610fdc610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b346104785760403660031901126104785761109261108861047c565b6024359033611568565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610fb361125e61047c565b6104e9611269610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113206106f06106bc6106ca6112ec61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b90600182811c9216801561137a575b602083101461136657565b634e487b7160e01b5f52602260045260245ffd5b91607f169161135b565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610d7957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610d7957604052565b67ffffffffffffffff8111610d7957601f01601f191660200190565b81601f820112156104785780359061143c82611409565b9261144a6040519485611398565b8284526020838301011161047857815f926020809301838601378301015290565b3d15611495573d9061147c82611409565b9161148a6040519384611398565b82523d5f602084013e565b606090565b600b548110156114cf57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156114cf575f5260205f2001905f90565b80548061152d57505f5b6001600160d01b0381161561152757600161151d92016114e3565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611502565b5f8061038593602081519101845af461156261146b565b9161171c565b916001600160a01b03808416929083156116a657811693841561168e576001600160a01b0381165f908152600e602052604090206115aa906114f8565b6114f8565b9083821061165c57611657926115f95f80516020611c8f83398151915295936115e66116459460018060a01b03165f52600e60205260405f2090565b90856115f142611aab565b9103916119e9565b50506001600160a01b0381165f908152600e60205260409020908361163e6115a561162342611aab565b6001600160a01b039094165f908152600e6020526040902090565b01916119e9565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156116f6573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611743575080511561173157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611776575b611754575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561174c565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117ae57565b604051631afcd79f60e31b8152600490fd5b601f81116117cc575050565b5f80516020611c4f8339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c8301931061182f575b601f0160051c01905b818110611824575050565b5f8155600101611819565b9091508190611810565b601f8111611845575050565b5f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118a8575b601f0160051c01905b81811061189d575050565b5f8155600101611892565b9091508190611889565b90815167ffffffffffffffff8111610d79575f80516020611c6f833981519152906118e6816118e1845461134c565b611839565b602080601f831160011461191b575081906119179394955f92610cdb5750508160011b915f199060031b1c19161790565b9055565b90601f198316956119595f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119945750508360019596971061197c575b505050811b019055565b01515f1960f88460031b161c191690555f8080611972565b8060018596829496860151815501950193019061195d565b90815491600160401b831015610d7957826119cf9160016119e7950181556114e3565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611a7b575b5084611a0684611add565b50949092845493611a16836114f8565b9681611a66575b5015611a43575050505f198101908111610627576119cf8591611a3f936114e3565b9190565b611a3f949293611a5f926001600160d01b039091169190611b71565b50506119ac565b65ffffffffffff83811691161490505f611a1d565b600160401b811015610d7957806001611a9792018455836114e3565b8154905f199060031b1b191690555f6119fb565b65ffffffffffff90818111611abe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611aee5750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610d7957611b33916001820181556114e3565b611b5e57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c2457611b88611b939161170e565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c1257879303611bd95750611bd292509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c0d91611bf9611beb6113e9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b16565b611bd2565b604051632520601d60e01b8152600490fd5b5090611c4991611c35611beb6113e9565b6001600160d01b0385166020830152611b16565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122072ff05afa035e3294883aa36f6638d5dcca4d207764b3e9b41e2a260b9ffdade64736f6c63430008190033","sourceMap":"978:3948:110:-:0;;;;;;2603:64:50;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3948:110;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;-1:-1:-1;;978:3948:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;-1:-1:-1;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3948:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3948:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3948:110;;;;;;;;;;;;;;;;11334:29:27;978:3948:110;;;;;;11415:31:27;978:3948:110;966:10:28;11415:31:27;;978:3948:110;;;10117:4:27;978:3948:110;;;11235:90:27;978:3948:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3948:110;;;11283:31:27;11137:89;978:3948:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3948:110;;;11183:32:27;978:3948:110;;;;;;-1:-1:-1;;978:3948:110;;;;;;;757:38:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;1732:13;978:3948;10446:8:71;;;:63;978:3948:110;10446:63:71;-1:-1:-1;;;;;978:3948:110;;10726:7:94;978:3948:110;;10736:17:94;978:3948:110;10736:17:94;;:::i;:::-;978:3948:110;;;;;;10726:31:94;978:3948:110;;;;;;10726:31:94;;978:3948:110;;10726:31:94;;10446:63:71;978:3948:110;;;;;;;;1732:13;978:3948;14439:109:71;;;978:3948:110;;;10446:63:71;;978:3948:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;;612:37:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;3078:48:110;3013:156;3037:90;978:3948;;:::i;:::-;;;-1:-1:-1;;;978:3948:110;3078:48;;;-1:-1:-1;;;;;978:3948:110;;;;3078:48;;;978:3948;;;;;;;;;;;;;;;;3078:48;;978:3948;;3078:48;;;;;;:::i;:::-;3037:19;:90;:::i;:::-;978:3948;;;;3013:156;;;;;;:::i;:::-;978:3948;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;3194:10;3185:40;;978:3948;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3948:110;;11910:37:27;;;11906:310;;978:3948:110;6198:5:27;;;;:::i;:::-;978:3948:110;;4867:13:27;978:3948:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3948:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3948:110;6198:5:27;978:3948:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3948:110;11906:310:27;;11963:130;978:3948:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3948:110;12018:60:27;;978:3948:110;;;;;;;;;;;;;;;12018:60:27;978:3948:110;;;;;;-1:-1:-1;;978:3948:110;;;;;4327:34:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;2227:28:108;978:3948:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3948;1535:37;;978:3948;;;;;;;;-1:-1:-1;;;;;978:3948:110;1535:37;;;;;;978:3948;1535:37;978:3948;1535:37;;;978:3948;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3948;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1479:40:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3948:110;2242:52;;;-1:-1:-1;;;;;978:3948:110;;;2242:52;;;978:3948;;;;;;;;;2177:160;;2201:94;;2242:52;978:3948;;;;2242:52;978:3948;2177:160;978:3948;;;;;;;-1:-1:-1;;;;;978:3948:110;;-1:-1:-1;;;;;;;;;;;;;2353:46:110;978:3948;;2353:46;978:3948;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;2391:34:108;978:3948:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;4059:32:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;-1:-1:-1;978:3948:110;2854:59:108;978:3948:110;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1041:36:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1714:45:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;4587:28:108;978:3948:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3967:36:108;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;2559:32:108;978:3948:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;;;;;978:3948:110;;:::i;:::-;;-1:-1:-1;978:3948:110;1941:15;978:3948;;;1941:33;978:3948;-1:-1:-1;978:3948:110;1941:33;:::i;978:3948::-;-1:-1:-1;;;;;978:3948:110;;;;;4867:13:27;978:3948:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;;;;;978:3948:110;;:::i;:::-;;-1:-1:-1;978:3948:110;2730:68:108;978:3948:110;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4846:34;;978:3948;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3948:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3948:110;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3948:110;;;;;;;-1:-1:-1;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3869:42:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3775:38:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3948:110;;;;;;;;;;477:31:86;;978:3948:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3948:110;518:79:86;;978:3948:110;;;;;;-1:-1:-1;;978:3948:110;;;;;;2139:32:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;900:35:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3089:94:108;978:3948:110;;:::i;:::-;;;-1:-1:-1;978:3948:110;3089:94:108;978:3948:110;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;3089:94:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3239:92:108;978:3948:110;;:::i;:::-;;;-1:-1:-1;978:3948:110;3239:92:108;978:3948:110;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;3239:92:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1187:40:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;4500:31:108;978:3948:110;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;4616:5:27;978:3948:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3948:110;;;4639:4:27;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;-1:-1:-1;978:3948:110;2969:64:108;978:3948:110;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;2481:22:108;978:3948:110;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3573:43:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1333:36:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;4239:32:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3672:47:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;4147:36:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;2311:24:108;978:3948:110;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;466:39:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;4867:29:27;978:3948:110;;:::i;:::-;4867:20:27;978:3948:110;;:::i;:::-;4867:20:27;;:::i;978:3948:110:-;;;;;;-1:-1:-1;;978:3948:110;;;;;4417:27:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1616:3:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;2594:158;2618:92;2659:50;;978:3948;;:::i;:::-;;;-1:-1:-1;;;978:3948:110;2659:50;;;-1:-1:-1;;;;;978:3948:110;;;;2659:50;;;978:3948;;;;;;;;;;;;;;;;;2594:158;978:3948;-1:-1:-1;978:3948:110;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;2777:10;2768:46;;978:3948;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3948:110;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3948:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3948:110;;;;;;10736:12:94;-1:-1:-1;978:3948:110;;;;-1:-1:-1;978:3948:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;-1:-1:-1;978:3948:110;;;-1:-1:-1;978:3948:110;:::o;10580:184:94:-;978:3948:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3948:110;;10726:7:94;978:3948:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3948:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3948:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3948:110;;;10446:63:71;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;6605:300:27:-;;-1:-1:-1;;;;;978:3948:110;;;;;6688:18:27;;6684:86;;978:3948:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3948:110;;;;;;1941:15;978:3948;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3669:19;;;;3665:115;;4521:25;3900:21;:65;-1:-1:-1;;;;;;;;;;;3900:21:110;;;4416:65;3900:21;978:3948;;;;;;;;1941:15;978:3948;;;;;;;3900:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3948:110;;3900:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3948:110;;;;;;1941:15;978:3948;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3948:110;;;;;;;1941:15;978:3948;;;;;;;1941:33;978:3948;4416:65;;:::i;:::-;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;4521:25;;;;6605:300:27:o;3665:115:110:-;978:3948;;-1:-1:-1;;;3715:50:110;;-1:-1:-1;;;;;978:3948:110;;;;3715:50;;;978:3948;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3948:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3948:110;;;6822:32:27;6684:86;978:3948:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3948:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4685:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3948:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3948:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3948:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3948:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3948:110;;;4917:24:56;;;978:3948:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3948:110;8837:64:26;978:3948:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3948:110;;-1:-1:-1;;;7191:17:26;;;;;978:3948:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3948:110;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3948:110;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3948:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3948:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3948:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3948:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3948:110;;8310:38:71;;-1:-1:-1;;;;;978:3948:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3948:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3948:110;;;;;;6360:12:94;978:3948:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3948:110;14374:24:69;;;;14370:103;;978:3948:110;14296:213:69;:::o;14370:103::-;978:3948:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3948:110;;;;;14421:41:69;10695:389:71;978:3948:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3948:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3948:110;11014:1:71;978:3948:110;;;;;;;11030:37:71;:::o;978:3948:110:-;;;-1:-1:-1;;;978:3948:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3948:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3948:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3948:110;;;;;;;;;;;;;;;;;12285:19:71;978:3948:110;;12423:25:71;;:::o;12247:163::-;978:3948:110;;;12343:52:71;978:3948:110;12353:41:71;978:3948:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3948:110;;12353:41:71;;;978:3948:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3948:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3948:110;;12479:52:71;978:3948:110;12489:41:71;978:3948:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3948:110;;12489:41:71;;;978:3948:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72428":[{"start":1740,"length":32},{"start":5832,"length":32}]}},"methodIdentifiers":{"DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(bytes)":"7bd00ae8","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","collateral()":"d8dfeb45","decimals()":"313ce567","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":\"VaultTokenizedImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":"VaultTokenizedImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"baseImplementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_VaultTokenized_init","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034607a57601f611dcc38819003918201601f19168301916001600160401b03831184841017607e578084926040948552833981010312607a57604b60206045836092565b92016092565b9060805260a052604051611d2690816100a6823960805181610c2b015260a0518181816106cc015261170a0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203607a5756fe608060405260043610611700575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a30361170057611309565b6112ec565b6112ce565b6112b1565b611282565b611248565b61121d565b6111f5565b6111cd565b6111b0565b611188565b61114e565b611131565b611109565b6110df565b6110ae565b611086565b61104c565b610ffe565b610fb5565b610f7b565b610f57565b610f2f565b610eac565b610e8f565b610e72565b610dc0565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c918339815191528054906103b68261138e565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e3818803826113da565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d56020916114dc565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b61173c565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826113da565b7f000000000000000000000000000000000000000000000000000000000000000061158d565b602080825183010191016113fc565b9290916040519081525f80516020611cd183398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b61077393506115aa565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b781836113da565b810190611412565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611cd183398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f2061153a565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610dae578101906040818303126104785780358481116104785782610c7b918301611467565b91602082013585811161047857610c929201611467565b91610c9b6117c1565b610ca36117c1565b8151938411610da9575f80516020611c9183398151915291610cce85610cc9855461138e565b611802565b602091601f8611600114610d1657509380610d0292610d09965f92610d0b575b50508160011b915f199060031b1c19161790565b90556118f4565b005b015190505f80610cee565b5f80516020611c918339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d91575050916001939187610d09989410610d79575b505050811b0190556118f4565b01515f1960f88460031b161c191690555f8080610d6c565b80600186978294978701518155019601940190610d52565b6113c6565b604051631966391b60e11b8152600490fd5b34610478575f366003190112610478576040515f5f80516020611cb1833981519152805490610dee8261138e565b8085529160209160019182811690811561044b5750600114610e1a576103ef866103e3818803826113da565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e5f575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e42565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610ec561047c565b60243567ffffffffffffffff8111610478575f91610ee883923690600401610bc7565b90816040519283928337810184815203915af4610f27610f066114ad565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610ff5610fd3610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff61104061101e610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b34610478576040366003190112610478576110d46110ca61047c565b60243590336115aa565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610ff56112a061047c565b6104e96112ab610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113626106f06106bc6106ca61132e61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611cd183398151915260203392a3604080519182526020820192909252f35b90600182811c921680156113bc575b60208310146113a857565b634e487b7160e01b5f52602260045260245ffd5b91607f169161139d565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610da957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610da957604052565b67ffffffffffffffff8111610da957601f01601f191660200190565b81601f820112156104785780359061147e8261144b565b9261148c60405194856113da565b8284526020838301011161047857815f926020809301838601378301015290565b3d156114d7573d906114be8261144b565b916114cc60405193846113da565b82523d5f602084013e565b606090565b600b5481101561151157600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611511575f5260205f2001905f90565b80548061156f57505f5b6001600160d01b0381161561156957600161155f9201611525565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611544565b5f8061038593602081519101845af46115a46114ad565b9161175e565b916001600160a01b03808416929083156116e85781169384156116d0576001600160a01b0381165f908152600e602052604090206115ec9061153a565b61153a565b9083821061169e576116999261163b5f80516020611cd183398151915295936116286116879460018060a01b03165f52600e60205260405f2090565b908561163342611aed565b910391611a2b565b50506001600160a01b0381165f908152600e6020526040902090836116806115e761166542611aed565b6001600160a01b039094165f908152600e6020526040902090565b0191611a2b565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611738573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611785575080511561177357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806117b8575b611796575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561178e565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117f057565b604051631afcd79f60e31b8152600490fd5b601f811161180e575050565b5f80516020611c918339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611871575b601f0160051c01905b818110611866575050565b5f815560010161185b565b9091508190611852565b601f8111611887575050565b5f80516020611cb18339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118ea575b601f0160051c01905b8181106118df575050565b5f81556001016118d4565b90915081906118cb565b90815167ffffffffffffffff8111610da9575f80516020611cb18339815191529061192881611923845461138e565b61187b565b602080601f831160011461195d575081906119599394955f92610d0b5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561199b5f80516020611cb18339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119d6575050836001959697106119be575b505050811b019055565b01515f1960f88460031b161c191690555f80806119b4565b8060018596829496860151815501950193019061199f565b90815491600160401b831015610da95782611a11916001611a2995018155611525565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611abd575b5084611a4884611b1f565b50949092845493611a588361153a565b9681611aa8575b5015611a85575050505f19810190811161062757611a118591611a8193611525565b9190565b611a81949293611aa1926001600160d01b039091169190611bb3565b50506119ee565b65ffffffffffff83811691161490505f611a5f565b600160401b811015610da957806001611ad99201845583611525565b8154905f199060031b1b191690555f611a3d565b65ffffffffffff90818111611b00571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611b305750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610da957611b7591600182018155611525565b611ba057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c6657611bca611bd591611750565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c5457879303611c1b5750611c1492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c4f91611c3b611c2d61142b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b58565b611c14565b604051632520601d60e01b8152600490fd5b5090611c8b91611c77611c2d61142b565b6001600160d01b0385166020830152611b58565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200af6a124edf0402860a4a1df99dc5d690cbf4a4ccefcbc574840b28401a8f0fd64736f6c63430008190033","sourceMap":"1031:4017:111:-:0;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;358:17:106;;;1434:40:111;;1031:4017;;;;;;;;358:17:106;1031:4017:111;;;;;1434:40;1031:4017;;;;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;-1:-1:-1;1031:4017:111;;;;;-1:-1:-1;1031:4017:111;;;;-1:-1:-1;;;;;1031:4017:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611700575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a30361170057611309565b6112ec565b6112ce565b6112b1565b611282565b611248565b61121d565b6111f5565b6111cd565b6111b0565b611188565b61114e565b611131565b611109565b6110df565b6110ae565b611086565b61104c565b610ffe565b610fb5565b610f7b565b610f57565b610f2f565b610eac565b610e8f565b610e72565b610dc0565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c918339815191528054906103b68261138e565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e3818803826113da565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d56020916114dc565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b61173c565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f1981018352826113da565b7f000000000000000000000000000000000000000000000000000000000000000061158d565b602080825183010191016113fc565b9290916040519081525f80516020611cd183398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b61077393506115aa565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b781836113da565b810190611412565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611cd183398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f2061153a565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610dae578101906040818303126104785780358481116104785782610c7b918301611467565b91602082013585811161047857610c929201611467565b91610c9b6117c1565b610ca36117c1565b8151938411610da9575f80516020611c9183398151915291610cce85610cc9855461138e565b611802565b602091601f8611600114610d1657509380610d0292610d09965f92610d0b575b50508160011b915f199060031b1c19161790565b90556118f4565b005b015190505f80610cee565b5f80516020611c918339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d91575050916001939187610d09989410610d79575b505050811b0190556118f4565b01515f1960f88460031b161c191690555f8080610d6c565b80600186978294978701518155019601940190610d52565b6113c6565b604051631966391b60e11b8152600490fd5b34610478575f366003190112610478576040515f5f80516020611cb1833981519152805490610dee8261138e565b8085529160209160019182811690811561044b5750600114610e1a576103ef866103e3818803826113da565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e5f575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e42565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610ec561047c565b60243567ffffffffffffffff8111610478575f91610ee883923690600401610bc7565b90816040519283928337810184815203915af4610f27610f066114ad565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610ff5610fd3610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff61104061101e610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b34610478576040366003190112610478576110d46110ca61047c565b60243590336115aa565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610ff56112a061047c565b6104e96112ab610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113626106f06106bc6106ca61132e61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611cd183398151915260203392a3604080519182526020820192909252f35b90600182811c921680156113bc575b60208310146113a857565b634e487b7160e01b5f52602260045260245ffd5b91607f169161139d565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610da957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610da957604052565b67ffffffffffffffff8111610da957601f01601f191660200190565b81601f820112156104785780359061147e8261144b565b9261148c60405194856113da565b8284526020838301011161047857815f926020809301838601378301015290565b3d156114d7573d906114be8261144b565b916114cc60405193846113da565b82523d5f602084013e565b606090565b600b5481101561151157600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b8054821015611511575f5260205f2001905f90565b80548061156f57505f5b6001600160d01b0381161561156957600161155f9201611525565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611544565b5f8061038593602081519101845af46115a46114ad565b9161175e565b916001600160a01b03808416929083156116e85781169384156116d0576001600160a01b0381165f908152600e602052604090206115ec9061153a565b61153a565b9083821061169e576116999261163b5f80516020611cd183398151915295936116286116879460018060a01b03165f52600e60205260405f2090565b908561163342611aed565b910391611a2b565b50506001600160a01b0381165f908152600e6020526040902090836116806115e761166542611aed565b6001600160a01b039094165f908152600e6020526040902090565b0191611a2b565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611738573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611785575080511561177357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806117b8575b611796575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561178e565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117f057565b604051631afcd79f60e31b8152600490fd5b601f811161180e575050565b5f80516020611c918339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310611871575b601f0160051c01905b818110611866575050565b5f815560010161185b565b9091508190611852565b601f8111611887575050565b5f80516020611cb18339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118ea575b601f0160051c01905b8181106118df575050565b5f81556001016118d4565b90915081906118cb565b90815167ffffffffffffffff8111610da9575f80516020611cb18339815191529061192881611923845461138e565b61187b565b602080601f831160011461195d575081906119599394955f92610d0b5750508160011b915f199060031b1c19161790565b9055565b90601f1983169561199b5f80516020611cb18339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119d6575050836001959697106119be575b505050811b019055565b01515f1960f88460031b161c191690555f80806119b4565b8060018596829496860151815501950193019061199f565b90815491600160401b831015610da95782611a11916001611a2995018155611525565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611abd575b5084611a4884611b1f565b50949092845493611a588361153a565b9681611aa8575b5015611a85575050505f19810190811161062757611a118591611a8193611525565b9190565b611a81949293611aa1926001600160d01b039091169190611bb3565b50506119ee565b65ffffffffffff83811691161490505f611a5f565b600160401b811015610da957806001611ad99201845583611525565b8154905f199060031b1b191690555f611a3d565b65ffffffffffff90818111611b00571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611b305750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610da957611b7591600182018155611525565b611ba057815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c6657611bca611bd591611750565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c5457879303611c1b5750611c1492509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c4f91611c3b611c2d61142b565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b58565b611c14565b604051632520601d60e01b8152600490fd5b5090611c8b91611c77611c2d61142b565b6001600160d01b0385166020830152611b58565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212200af6a124edf0402860a4a1df99dc5d690cbf4a4ccefcbc574840b28401a8f0fd64736f6c63430008190033","sourceMap":"1031:4017:111:-:0;;;;;;2603:64:50;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;1031:4017:111;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;;-1:-1:-1;;1031:4017:111;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;-1:-1:-1;;;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1031:4017:111;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1031:4017:111;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1031:4017:111;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;1031:4017:111;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;1031:4017:111;;;;;;;;;;;;;;;;11334:29:27;1031:4017:111;;;;;;11415:31:27;1031:4017:111;966:10:28;11415:31:27;;1031:4017:111;;;10117:4:27;1031:4017:111;;;11235:90:27;1031:4017:111;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;1031:4017:111;;;11283:31:27;11137:89;1031:4017:111;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;1031:4017:111;;;11183:32:27;1031:4017:111;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;757:38:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;1842:13;1031:4017;10446:8:71;;;:63;1031:4017:111;10446:63:71;-1:-1:-1;;;;;1031:4017:111;;10726:7:94;1031:4017:111;;10736:17:94;1031:4017:111;10736:17:94;;:::i;:::-;1031:4017:111;;;;;;10726:31:94;1031:4017:111;;;;;;10726:31:94;;1031:4017:111;;10726:31:94;;10446:63:71;1031:4017:111;;;;;;;;1842:13;1031:4017;14439:109:71;;;1031:4017:111;;;10446:63:71;;1031:4017:111;;:::i;:::-;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;612:37:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;-1:-1:-1;3188:48:111;3123:156;3147:90;1031:4017;;:::i;:::-;;;-1:-1:-1;;;1031:4017:111;3188:48;;;-1:-1:-1;;;;;1031:4017:111;;;;3188:48;;;1031:4017;;;;;;;;;;;;;;;;3188:48;;1031:4017;;3188:48;;;;;;:::i;:::-;3147:19;:90;:::i;:::-;1031:4017;;;;3123:156;;;;;;:::i;:::-;1031:4017;;;;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;3304:10;3295:40;;1031:4017;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;1031:4017:111;;11910:37:27;;;11906:310;;1031:4017:111;6198:5:27;;;;:::i;:::-;1031:4017:111;;4867:13:27;1031:4017:111;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;1031:4017:111;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;1031:4017:111;6198:5:27;1031:4017:111;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;1031:4017:111;11906:310:27;;11963:130;1031:4017:111;;-1:-1:-1;;;12018:60:27;;966:10:28;1031:4017:111;12018:60:27;;1031:4017:111;;;;;;;;;;;;;;;12018:60:27;1031:4017:111;;;;;;-1:-1:-1;;1031:4017:111;;;;;4327:34:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;2227:28:109;1031:4017:111;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;-1:-1:-1;;;1645:37:111;;1031:4017;1645:37;;1031:4017;;;;;;;;-1:-1:-1;;;;;1031:4017:111;1645:37;;;;;;1031:4017;1645:37;1031:4017;1645:37;;;1031:4017;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;;;1645:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1031:4017;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;1479:40:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;:::i;:::-;;;-1:-1:-1;;;1031:4017:111;2352:52;;;-1:-1:-1;;;;;1031:4017:111;;;2352:52;;;1031:4017;;;;;;;;;2287:160;;2311:94;;2352:52;1031:4017;;;;2352:52;1031:4017;2287:160;1031:4017;;;;;;;-1:-1:-1;;;;;1031:4017:111;;-1:-1:-1;;;;;;;;;;;;;2463:46:111;1031:4017;;2463:46;1031:4017;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;2391:34:109;1031:4017:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;4059:32:109;1031:4017:111;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;-1:-1:-1;1031:4017:111;2854:59:109;1031:4017:111;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;1041:36:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;1714:45:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;4587:28:109;1031:4017:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;3967:36:109;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;2559:32:109;1031:4017:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;-1:-1:-1;;;;;1031:4017:111;;:::i;:::-;;-1:-1:-1;1031:4017:111;2051:15;1031:4017;;;2051:33;1031:4017;-1:-1:-1;1031:4017:111;2051:33;:::i;1031:4017::-;-1:-1:-1;;;;;1031:4017:111;;;;;4867:13:27;1031:4017:111;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1031:4017:111;;;;-1:-1:-1;;;;;1031:4017:111;;:::i;:::-;;-1:-1:-1;1031:4017:111;2730:68:109;1031:4017:111;;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;452:7:106;-1:-1:-1;;;;;1031:4017:111;438:10:106;:21;434:71;;4968:34:111;;1031:4017;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;1031:4017:111;;;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;1031:4017:111;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;;;;-1:-1:-1;;1031:4017:111;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;434:71:106:-;1031:4017:111;;-1:-1:-1;;;482:12:106;;1031:4017:111;;482:12:106;1031:4017:111;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;1031:4017:111;;;;;;;-1:-1:-1;;;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;3869:42:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;3775:38:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;1031:4017:111;;;;;;;;;;477:31:86;;1031:4017:111;;;;;;;;;;;:::i;477:31:86:-;518:79;;;1031:4017:111;518:79:86;;1031:4017:111;;;;;;-1:-1:-1;;1031:4017:111;;;;;;2139:32:109;1031:4017:111;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;900:35:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;3089:94:109;1031:4017:111;;:::i;:::-;;;-1:-1:-1;1031:4017:111;3089:94:109;1031:4017:111;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;;;;3089:94:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;3239:92:109;1031:4017:111;;:::i;:::-;;;-1:-1:-1;1031:4017:111;3239:92:109;1031:4017:111;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;;;;3239:92:109;1031:4017:111;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;1187:40:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;4500:31:109;1031:4017:111;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;4616:5:27;1031:4017:111;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;1031:4017:111;;;4639:4:27;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;-1:-1:-1;1031:4017:111;2969:64:109;1031:4017:111;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;2481:22:109;1031:4017:111;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;3573:43:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;1333:36:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;4239:32:109;1031:4017:111;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;3672:47:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;4147:36:109;1031:4017:111;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;2311:24:109;1031:4017:111;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;466:39:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;4867:29:27;1031:4017:111;;:::i;:::-;4867:20:27;1031:4017:111;;:::i;:::-;4867:20:27;;:::i;1031:4017:111:-;;;;;;-1:-1:-1;;1031:4017:111;;;;;4417:27:109;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;1616:3:109;1031:4017:111;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;2704:158;2728:92;2769:50;;1031:4017;;:::i;:::-;;;-1:-1:-1;;;1031:4017:111;2769:50;;;-1:-1:-1;;;;;1031:4017:111;;;;2769:50;;;1031:4017;;;;;;;;;;;;;;;;;2704:158;1031:4017;-1:-1:-1;1031:4017:111;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;2887:10;2878:46;;1031:4017;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1031:4017:111;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1031:4017:111;;;;:::o;:::-;;;:::o;:::-;10736:12:94;1031:4017:111;;;;;;10736:12:94;-1:-1:-1;1031:4017:111;;;;-1:-1:-1;1031:4017:111;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1031:4017:111;;-1:-1:-1;1031:4017:111;;;-1:-1:-1;1031:4017:111;:::o;10580:184:94:-;1031:4017:111;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1031:4017:111;;10726:7:94;1031:4017:111;;10736:12:94;:17;:12;;:17;:::i;:::-;1031:4017:111;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1031:4017:111;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1031:4017:111;;;10446:63:71;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;6605:300:27:-;;-1:-1:-1;;;;;1031:4017:111;;;;;6688:18:27;;6684:86;;1031:4017:111;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;1031:4017:111;;;;;;2051:15;1031:4017;;;;;2051:33;;;:::i;:24::-;:33;:::i;:::-;3779:19;;;;3775:115;;4631:25;4010:21;:65;-1:-1:-1;;;;;;;;;;;4010:21:111;;;4526:65;4010:21;1031:4017;;;;;;;;2051:15;1031:4017;;;;;;;4010:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;1031:4017:111;;4010:65;;:::i;:::-;-1:-1:-1;;;;;;;1031:4017:111;;;;;;2051:15;1031:4017;;;;;837:15:73;;2051:33:111;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1031:4017:111;;;;;;;2051:15;1031:4017;;;;;;;2051:33;1031:4017;4526:65;;:::i;:::-;-1:-1:-1;;1031:4017:111;;;;;;;;;;;;;4631:25;;;;6605:300:27:o;3775:115:111:-;1031:4017;;-1:-1:-1;;;3825:50:111;;-1:-1:-1;;;;;1031:4017:111;;;;3825:50;;;1031:4017;;;;;;;;;;;;;;;;12018:60:27;6779:86;1031:4017:111;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;1031:4017:111;;;6822:32:27;6684:86;1031:4017:111;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;1031:4017:111;;;6729:30:27;2323:83:50;1019:819;;;;;;;4795:19:111;;1019:819:50;;;;;;;;;;;;;;;;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;1031:4017:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;1031:4017:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;1031:4017:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1031:4017:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;1031:4017:111;;;4917:24:56;;;1031:4017:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;1031:4017:111;8837:64:26;1031:4017:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;1031:4017:111;;-1:-1:-1;;;7191:17:26;;;;;1031:4017:111;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1031:4017:111;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;1031:4017:111;;;;;;;;;-1:-1:-1;1031:4017:111;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;1031:4017:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1031:4017:111;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;1031:4017:111;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1031:4017:111;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1031:4017:111;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;1031:4017:111;;8310:38:71;;-1:-1:-1;;;;;1031:4017:111;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1031:4017:111;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1031:4017:111;;;;;;6360:12:94;1031:4017:111;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;1031:4017:111;14374:24:69;;;;14370:103;;1031:4017:111;14296:213:69;:::o;14370:103::-;1031:4017:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;1031:4017:111;;;;;14421:41:69;10695:389:71;1031:4017:111;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1031:4017:111;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1031:4017:111;11014:1:71;1031:4017:111;;;;;;;11030:37:71;:::o;1031:4017:111:-;;;-1:-1:-1;;;1031:4017:111;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1031:4017:111;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;1031:4017:111;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1031:4017:111;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1031:4017:111;;;;;;;;;;;;;;;;;12285:19:71;1031:4017:111;;12423:25:71;;:::o;12247:163::-;1031:4017:111;;;12343:52:71;1031:4017:111;12353:41:71;1031:4017:111;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1031:4017:111;;12353:41:71;;;1031:4017:111;12343:52:71;:::i;:::-;12247:163;;12099:89;1031:4017:111;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1031:4017:111;;12479:52:71;1031:4017:111;12489:41:71;1031:4017:111;;:::i;12489:41:71:-;-1:-1:-1;;;;;1031:4017:111;;12489:41:71;;;1031:4017:111;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"69277":[{"start":3115,"length":32}],"72482":[{"start":1740,"length":32},{"start":5898,"length":32}]}},"methodIdentifiers":{"DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(bytes)":"7bd00ae8","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","collateral()":"d8dfeb45","decimals()":"313ce567","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":\"VaultTokenizedImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Implementation.sol\":{\"keccak256\":\"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6\",\"dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d\",\"dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IImplementation.sol\":{\"keccak256\":\"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc\",\"dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe\",\"dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31\",\"dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"baseImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":"VaultTokenizedImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Implementation.sol":{"keccak256":"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15","urls":["bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6","dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73","urls":["bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d","dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C"],"license":"BUSL-1.1"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IImplementation.sol":{"keccak256":"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca","urls":["bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc","dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0","urls":["bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe","dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b","urls":["bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31","dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file diff --git a/out/VaultVotes.sol/VaultVotes.json b/out/VaultVotes.sol/VaultVotes.json index 5f39be4..7afe07f 100644 --- a/out/VaultVotes.sol/VaultVotes.json +++ b/out/VaultVotes.sol/VaultVotes.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"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":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","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":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034610123576128ee906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a0525161279e9081610150823960805181818161056601526106d1015260a051818181611320015281816115060152611b010152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220ab2d21d130e92c968ada4b6095d4f82b03a66123be02ce11364c3885149eef3a64736f6c63430008190033","sourceMap":"395:982:111:-:0;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;395:982:111;;;;;;;;;7896:76:26;;395:982:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;395:982:111;;;;;;;927:17:82;395:982:111;;;;;;;;;;1445:31:106;395:982:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;395:982:111;;;;;;;;;;;;;8087:29:26;;395:982:111;;8087:29:26;7981:146;;;;;7896:76;395:982:111;;-1:-1:-1;;;7938:23:26;;;;;395:982:111;-1:-1:-1;395:982:111;;;;;;-1:-1:-1;395:982:111;;;;;-1:-1:-1;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220ab2d21d130e92c968ada4b6095d4f82b03a66123be02ce11364c3885149eef3a64736f6c63430008190033","sourceMap":"395:982:111:-:0;;;;;;2603:64:50;395:982:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;395:982:111;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;395:982:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;395:982:111;-1:-1:-1;395:982:111;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;757:38:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;612:37:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;;4919:24:23;395:982:111;-1:-1:-1;395:982:111;4919:24:23;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;4327:34:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;395:982:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;395:982:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;;;;6431:44:26;;;;395:982:111;6427:105:26;;-1:-1:-1;;395:982:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;395:982:111;-1:-1:-1;;;395:982:111;;;6656:20:26;;;;395:982:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;395:982:111;6427:105:26;395:982:111;;-1:-1:-1;;;6498:23:26;;395:982:111;;6498:23:26;6431:44;395:982:111;;;;6450:25:26;;;6431:44;;1655:71:82;395:982:111;;-1:-1:-1;;;1703:12:82;;395:982:111;;1703:12:82;3666:88:30;395:982:111;;-1:-1:-1;;;3713:30:30;;395:982:111;;3713:30:30;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;655:32:82;-1:-1:-1;;;;;395:982:111;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;395:982:111;;;;5350:25:23;395:982:111;;;;;;;:::i;:::-;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;3202:4:23;4919:24;395:982:111;-1:-1:-1;395:982:111;4919:24:23;395:982:111;3202:4:23;:::i;:::-;5350:25;:::i;395:982:111:-;;;;;;-1:-1:-1;;395:982:111;;;;;2227:28:108;395:982:111;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1479:40:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;395:982:111;;6441:34:23;6437:102;;6549:37;395:982:111;;;6549:37:23;:::i;6437:102::-;395:982:111;;-1:-1:-1;;;6498:30:23;;395:982:111;;6498:30:23;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;2391:34:108;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;395:982:111;;;;;;734:29:82;730:87;;395:982:111;;;;;6431:44:26;;;;;395:982:111;6427:105:26;;;6656:20;395:982:111;6656:20:26;395:982:111;1167:340:82;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;395:982:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;395:982:111;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;6656:20:26;;;;395:982:111;6427:105:26;395:982:111;;-1:-1:-1;;;6498:23:26;;395:982:111;;6498:23:26;6431:44;395:982:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;395:982:111;;-1:-1:-1;;;786:20:82;;395:982:111;;786:20:82;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;4059:32:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;-1:-1:-1;395:982:111;2854:59:108;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1041:36:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1714:45:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;4587:28:108;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3967:36:108;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;2559:32:108;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;;;395:982:111;;;;;;;-1:-1:-1;;;;;395:982:111;3975:40:24;395:982:111;;3975:40:24;395:982:111;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;395:982:111;2730:68:108;395:982:111;;;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3901:31:23;395:982:111;;;;;:::i;:::-;;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;3901:31:23;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3869:42:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3775:38:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;395:982:111;;;;;;;;;;477:31:86;;395:982:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;395:982:111;518:79:86;;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;2139:32:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;900:35:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3089:94:108;395:982:111;;;;;:::i;:::-;;;-1:-1:-1;395:982:111;3089:94:108;395:982:111;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;3089:94:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3239:92:108;395:982:111;;;;;:::i;:::-;;;-1:-1:-1;395:982:111;3239:92:108;395:982:111;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1187:40:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;4500:31:108;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;-1:-1:-1;395:982:111;2969:64:108;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;2481:22:108;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3573:43:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1333:36:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;4239:32:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3672:47:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;4147:36:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;2311:24:108;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;5767:26:23;395:982:111;;;;;;;:::i;:::-;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;3202:4:23;4919:24;395:982:111;-1:-1:-1;395:982:111;4919:24:23;395:982:111;3202:4:23;:::i;:::-;5767:26;:::i;395:982:111:-;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;466:39:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;4417:27:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1616:3:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1286:6:106;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;2357:1:24;395:982:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;395:982:111:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:86;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;;;;6430:19:106;395:982:111;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;:::o;1167:340:82:-;;395:982:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;395:982:111;;1376:73:82;;1167:340;395:982:111;;;;:::i;:::-;;;740:55:109;;;;;;;395:982:111;;;;;;;740:55:109;;;395:982:111;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;807:73;395:982;;755:135;395:982;;;;;;:::i;:::-;;;;;;;;848:17:109;395:982:111;:::i;:::-;877:169:109;929:107;;1615:14:106;1007:11:109;;1020:13;;395:982:111;996:38:109;395:982:111;;996:38:109;;;;;;;:::i;:::-;;477:31:86;996:38:109;477:31:86;;996:38:109;;;;;;;;:::i;:::-;395:982:111;;-1:-1:-1;;;929:107:109;;;;395:982:111;;;929:107:109;;;;:::i;:::-;;;;;;;;;:::i;:::-;877:169;;:::i;:::-;;807:73:111;866:12;;:::i;:::-;395:982;;807:73;;;;;;;;;;929:107:109;807:73:111;;;:::i;:::-;;;;;;;;;:::i;:::-;755:135;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;395:982:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;395:982:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;;;-1:-1:-1;;395:982:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;395:982:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;;;395:982:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;395:982:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;395:982:111;;;3534:31:24;1809:204:82;;395:982:111;1038:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;395:982:111;;;:::i;:::-;;;1024:15;1038:1;;395:982;1055:86;;1155:143;395:982;1211:73;1270:12;;:::i;:::-;395:982;;807:73;;;;;;1211;;;;;;;;395:982;;;;;;:::i;1211:73::-;1615:14:106;1155:143:111;:::i;1055:86::-;395:982;;-1:-1:-1;;;1101:25:111;;1038:1;;1101:25;1020:349;395:982;;-1:-1:-1;;;1336:22:111;;1038:1;;1336:22;4148:103:23;-1:-1:-1;395:982:111;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;966:10:28;395:982:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;395:982:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;395:982:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;395:982:111;;3191:17:106;395:982:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;;;3191:17:106;395:982:111;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;-1:-1:-1;;395:982:111;7509:4:23;395:982:111;;;966:10:28;;-1:-1:-1;;;;;395:982:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;3191:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;-1:-1:-1;;395:982:111;7509:4:23;395:982:111;;;966:10:28;;-1:-1:-1;;;;;395:982:111;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;1333:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;1479:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;395:982:111;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;3901:31:23;395:982:111;7892:388:23;-1:-1:-1;395:982:111;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;-1:-1:-1;;395:982:111;;;966:10:28;;-1:-1:-1;;;;;395:982:111;;8155:40:23;-1:-1:-1;;8155:40:23;395:982:111;8209:11:23;:::o;395:982:111:-;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;1398:1:82;395:982:111;;;1398:1:82;395:982:111;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;395:982:111;-1:-1:-1;;;;;395:982:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;395:982:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;395:982:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;395:982:111;;-1:-1:-1;;;7191:17:26;;;;;395:982:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;395:982:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3010:4959:106;3139:37;3010:4959;3139:37;395:982:111;;;3139:37:106;;;;;;:::i;:::-;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;3191:31:106;3187:95;;3296:20;;;;;395:982:111;;;;;;;;;;;3296:25:106;3292:92;;3398:29;;;395:982:111;;3398:29:106;;395:982:111;3398:43:106;;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;;;;;395:982:111;;;3398:43:106;;3394:971;;3010:4959;4380:23;;;395:982:111;4379:24:106;395:982:111;;;;;;;;4379:24:106;;395:982:111;4379:24:106;:67;;;3010:4959;4375:132;;4537:28;;;;4522:9;3191:17;4574:3;4537:28;;395:982:111;;4533:39:106;;;;;4597:31;;;:45;:31;;:::i;:::-;395:982:111;-1:-1:-1;;;;;395:982:111;;;4597:45:106;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;395:982:111;;;;;4725:22:106;395:982:111;;;;;;;4725:55:106;395:982:111;;;;;4725:55:106;4721:120;;4878:28;4855:62;:55;4878:31;;395:982:111;4878:28:106;;;:31;:::i;4855:55::-;395:982:111;;-1:-1:-1;;395:982:111;4913:4:106;395:982:111;;;;4855:62:106;395:982:111;4522:9:106;;4721:120;395:982:111;;-1:-1:-1;;;4807:19:106;;;;;4593:114;395:982:111;;-1:-1:-1;;;4669:23:106;;;;;4533:39;;;;;;;;;;4942:43;395:982:111;;;;;;;;;;;4942:43:106;;4938:1254;;4517:411;6305:34;;;395:982:111;6375:23:106;;;;395:982:111;;;;;;;;6430:19:106;;;395:982:111;6485:23:106;;;395:982:111;6554:33:106;;;395:982:111;6636:36:106;;;395:982:111;6717:32:106;;;395:982:111;6798:36:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37:106;6237:612;;395:982:111;6237:612:106;;395:982:111;-1:-1:-1;;;;;395:982:111;4380:23:106;6237:612;;395:982:111;-1:-1:-1;;;;;395:982:111;6237:612:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;6237:612:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;6305:34:106;6237:612;;395:982:111;-1:-1:-1;;;;;395:982:111;6375:23:106;6237:612;;395:982:111;6237:612:106;;;:::i;:::-;395:982:111;;-1:-1:-1;;;;;395:982:111;3191:17:106;395:982:111;;-1:-1:-1;;;;;;395:982:111;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;3139:37:106;6920:13;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;-1:-1:-1;;;;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;4913:4:106;395:982:111;;-1:-1:-1;;;;395:982:111;;;;;;-1:-1:-1;;;395:982:111;;;;;;;;;;4913:4:106;395:982:111;;-1:-1:-1;;;;;395:982:111;;;;;;-1:-1:-1;;;;;;395:982:111;;;;;;;;;;7039:42:106;;395:982:111;;;3191:17:106;395:982:111;;;;;;;3191:17:106;395:982:111;;7039:42:106;6237:612;7109:21;;395:982:111;3191:17:106;395:982:111;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;6237:612:106;7155:19;;395:982:111;7140:34:106;1991:1:30;395:982:111;-1:-1:-1;;;;;395:982:111;;;7822:32:106;;395:982:111;;;7185:135:106;;4517:411;-1:-1:-1;7333:36:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;7329:157:106;;4517:411;-1:-1:-1;7499:35:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;7495:153:106;;4517:411;-1:-1:-1;7661:34:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;7657:152:106;;4517:411;-1:-1:-1;7822:32:106;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;7818:145:106;;3010:4959;:::o;7818:145::-;7884:68;;;:::i;7657:152::-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;395:982:111;;5005:23:106;;5052;;;395:982:111;5052:37:106;;-1:-1:-1;;;;;395:982:111;;;5052:37:106;:23;;5117:32;;;395:982:111;5117:46:106;;-1:-1:-1;;;;;395:982:111;;;5117:46:106;:32;;5195:36;;;395:982:111;5195:50:106;;-1:-1:-1;;;;;395:982:111;;;5195:50:106;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;395:982:111;-1:-1:-1;;;5312:27:106;;;;;5195:78;5249:19;;;;395:982:111;5249:24:106;5195:78;;5113:420;5398:36;;;395:982:111;5398:50:106;;-1:-1:-1;;;;;395:982:111;;;5398:50:106;5113:420;5394:139;395:982:111;-1:-1:-1;;;5483:27:106;;;;;5048:664;5561:32;;;395:982:111;5561:46:106;;-1:-1:-1;;;;;395:982:111;;;5561:46:106;;:74;;;5048:664;5557:155;5048:664;5557:155;395:982:111;-1:-1:-1;;;5666:27:106;;;;;5561:74;5611:19;;;;395:982:111;5611:24:106;5561:74;;5001:1181;5753:36;;;395:982:111;5753:50:106;;-1:-1:-1;;;;;395:982:111;;;5753:50:106;;:347;;;5001:1181;5732:450;4938:1254;5732:450;395:982:111;-1:-1:-1;;;6140:27:106;;;;;5753:347;-1:-1:-1;5853:23:106;;;395:982:111;5853:37:106;;-1:-1:-1;;;;;395:982:111;;;5853:37:106;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:106;;;395:982:111;6032:46:106;;-1:-1:-1;;;;;395:982:111;;;6032:46:106;;;5753:347;;5853:147;-1:-1:-1;5950:36:106;;;395:982:111;5950:50:106;;-1:-1:-1;;;;;395:982:111;;;5950:50:106;;;5853:147;;:65;5894:19;;;;395:982:111;5894:24:106;;5853:65;;4375:132;395:982:111;;-1:-1:-1;;;4469:27:106;;;;;4379:67;4407:28;;;;;395:982:111;4407:39:106;;4379:67;;3394:971;3461:36;;;395:982:111;3461:50:106;;-1:-1:-1;;;;;395:982:111;;;3461:50:106;;3457:419;;3394:971;3894:34;;;395:982:111;3894:48:106;;-1:-1:-1;;;;;395:982:111;;;3894:48:106;;3890:465;;3394:971;;;3890:465;3966:21;;;395:982:111;;3966:21:106;;4015:19;;;395:982:111;4015:24:106;:74;;;3962:379;4011:157;3394:971;4011:157;395:982:111;;-1:-1:-1;;;4124:21:106;;;;;4015:74;-1:-1:-1;4043:32:106;;;395:982:111;4043:46:106;;-1:-1:-1;;;;;395:982:111;;;4043:46:106;;4015:74;;3962:379;4196:19;;;395:982:111;4196:24:106;;;:74;;;3962:379;4192:149;3890:465;4192:149;395:982:111;;-1:-1:-1;;;4301:21:106;;;;;4196:74;-1:-1:-1;4224:32:106;;;395:982:111;4224:46:106;;-1:-1:-1;;;;;395:982:111;;;4224:46:106;;;4196:74;;3457:419;3535:23;;;395:982:111;;3535:23:106;;3586:35;;;395:982:111;3586:49:106;;-1:-1:-1;;;;;395:982:111;;;3586:49:106;3457:419;3582:132;395:982:111;;-1:-1:-1;;;3670:21:106;;;;;3531:331;3742:35;;;395:982:111;3742:49:106;;-1:-1:-1;;;;;395:982:111;;;3742:49:106;3738:124;3457:419;3738:124;395:982:111;;-1:-1:-1;;;3822:21:106;;;;;3292:92;395:982:111;;-1:-1:-1;;;3344:29:106;;;;;3187:95;395:982:111;;-1:-1:-1;;;3245:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;395:982:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;395:982:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;395:982:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;395:982:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;395:982:111;;;4917:24:56;;;395:982:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1070:106;1783:1;395:982:111;;1746:38:106;1742:119;;1875:23;;;395:982:111;;-1:-1:-1;;;;;395:982:111;1875:23:106;;395:982:111;;1875:37:106;;:65;;1642:1070;1871:130;;395:982:111;2183:42:106;395:982:111;2552:36:106;395:982:111;2011:65:106;395:982:111;;;2011:65:106;1991:1:30;;2011:65:106;2087:42;395:982:111;2106:23:106;;;395:982:111;;;;;;2087:42:106;395:982:111;;-1:-1:-1;;;;395:982:111;;;;;;-1:-1:-1;;;395:982:111;;;;;;;;2087:42:106;2139:34;2154:19;;;395:982:111;2139:34:106;1991:1:30;;395:982:111;;;;;;;;;;2087:42:106;395:982:111;;;2087:42:106;395:982:111;;2183:42:106;2240:33;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;2236:148:106;;1642:1070;-1:-1:-1;2397:32:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;2393:146:106;;-1:-1:-1;2552:36:106;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;2548:158:106;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;395:982:111;;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;395:982:111;1916:24:106;;1875:65;;1742:119;395:982:111;;-1:-1:-1;;;1807:43:106;;;;;14296:213:69;395:982:111;14374:24:69;;;;14370:103;;395:982:111;14296:213:69;:::o;14370:103::-;395:982:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;395:982:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4896,"length":32},{"start":5382,"length":32},{"start":6913,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotes.sol\":\"VaultVotes\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5\",\"dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65\",\"dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7\",\"dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","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":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultVotes.sol":"VaultVotes"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol":{"keccak256":"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b","urls":["bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0","dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol":{"keccak256":"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4","urls":["bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827","dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol":{"keccak256":"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5","urls":["bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33","dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3","urls":["bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5","dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a","urls":["bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65","dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed","urls":["bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7","dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"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":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","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":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034610123576128ee906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a0525161279e9081610150823960805181818161056601526106d1015260a051818181611320015281816115060152611b010152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122044404f1ac8b001c0b5ea5622df23e8a4a85b819380c872d7ebf7567916593bcd64736f6c63430008190033","sourceMap":"395:982:112:-:0;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;395:982:112;;;;;;;;;7896:76:26;;395:982:112;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:107;;395:982:112;;;;;;;927:17:82;395:982:112;;;;;;;;;;1445:31:107;395:982:112;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;395:982:112;;;;;;;;;;;;;8087:29:26;;395:982:112;;8087:29:26;7981:146;;;;;7896:76;395:982:112;;-1:-1:-1;;;7938:23:26;;;;;395:982:112;-1:-1:-1;395:982:112;;;;;;-1:-1:-1;395:982:112;;;;;-1:-1:-1;395:982:112;;;;-1:-1:-1;;;;;395:982:112;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122044404f1ac8b001c0b5ea5622df23e8a4a85b819380c872d7ebf7567916593bcd64736f6c63430008190033","sourceMap":"395:982:112:-:0;;;;;;2603:64:50;395:982:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;395:982:112;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;395:982:112;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;395:982:112;-1:-1:-1;395:982:112;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;757:38:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;612:37:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;-1:-1:-1;395:982:112;-1:-1:-1;;;;;;;;;;;395:982:112;;;4919:24:23;395:982:112;-1:-1:-1;395:982:112;4919:24:23;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;4327:34:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;395:982:112;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;395:982:112;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;395:982:112;;;;;;;;;;;6431:44:26;;;;395:982:112;6427:105:26;;-1:-1:-1;;395:982:112;;;;;;;;;-1:-1:-1;;;;;;;;;;;395:982:112;;-1:-1:-1;;;;395:982:112;-1:-1:-1;;;395:982:112;;;6656:20:26;;;;395:982:112;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:112;;-1:-1:-1;;;;395:982:112;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;395:982:112;6427:105:26;395:982:112;;-1:-1:-1;;;6498:23:26;;395:982:112;;6498:23:26;6431:44;395:982:112;;;;6450:25:26;;;6431:44;;1655:71:82;395:982:112;;-1:-1:-1;;;1703:12:82;;395:982:112;;1703:12:82;3666:88:30;395:982:112;;-1:-1:-1;;;3713:30:30;;395:982:112;;3713:30:30;395:982:112;;;;;;-1:-1:-1;;395:982:112;;;;;;655:32:82;-1:-1:-1;;;;;395:982:112;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;:::o;:::-;;;;;;-1:-1:-1;;395:982:112;;;;5350:25:23;395:982:112;;;;;;;:::i;:::-;;-1:-1:-1;395:982:112;-1:-1:-1;;;;;;;;;;;395:982:112;;3202:4:23;4919:24;395:982:112;-1:-1:-1;395:982:112;4919:24:23;395:982:112;3202:4:23;:::i;:::-;5350:25;:::i;395:982:112:-;;;;;;-1:-1:-1;;395:982:112;;;;;2227:28:109;395:982:112;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1479:40:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;395:982:112;;6441:34:23;6437:102;;6549:37;395:982:112;;;6549:37:23;:::i;6437:102::-;395:982:112;;-1:-1:-1;;;6498:30:23;;395:982:112;;6498:30:23;395:982:112;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;2391:34:109;395:982:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;-1:-1:-1;;;;;;;;;;;;;;;;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;395:982:112;;;;;;734:29:82;730:87;;395:982:112;;;;;6431:44:26;;;;;395:982:112;6427:105:26;;;6656:20;395:982:112;6656:20:26;395:982:112;1167:340:82;395:982:112;;;;-1:-1:-1;;;;;395:982:112;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;395:982:112;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:112;;-1:-1:-1;;;;395:982:112;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;6656:20:26;;;;395:982:112;6427:105:26;395:982:112;;-1:-1:-1;;;6498:23:26;;395:982:112;;6498:23:26;6431:44;395:982:112;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;395:982:112;;-1:-1:-1;;;786:20:82;;395:982:112;;786:20:82;395:982:112;;;;;;-1:-1:-1;;395:982:112;;;;;;4059:32:109;395:982:112;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;-1:-1:-1;395:982:112;2854:59:109;395:982:112;;;;-1:-1:-1;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1041:36:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1714:45:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;4587:28:109;395:982:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;3967:36:109;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;2559:32:109;395:982:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:112;;-1:-1:-1;;;;;;395:982:112;;;;;;;-1:-1:-1;;;;;395:982:112;3975:40:24;395:982:112;;3975:40:24;395:982:112;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;395:982:112;2730:68:109;395:982:112;;;;;-1:-1:-1;395:982:112;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;-1:-1:-1;;;;;;;;;;;395:982:112;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;3901:31:23;395:982:112;;;;;:::i;:::-;;;-1:-1:-1;395:982:112;-1:-1:-1;;;;;;;;;;;395:982:112;;;-1:-1:-1;395:982:112;;;;;;;;;;;;;;;;;3901:31:23;395:982:112;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;3869:42:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;3775:38:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;395:982:112;;;;-1:-1:-1;395:982:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;395:982:112;;;;;;;;;;477:31:86;;395:982:112;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;395:982:112;518:79:86;;395:982:112;;;;;;-1:-1:-1;;395:982:112;;;;;;2139:32:109;395:982:112;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;900:35:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;3089:94:109;395:982:112;;;;;:::i;:::-;;;-1:-1:-1;395:982:112;3089:94:109;395:982:112;;;-1:-1:-1;395:982:112;;;;;;;;;;;;;;;;;3089:94:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;3239:92:109;395:982:112;;;;;:::i;:::-;;;-1:-1:-1;395:982:112;3239:92:109;395:982:112;;;-1:-1:-1;395:982:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1187:40:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;4500:31:109;395:982:112;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;-1:-1:-1;395:982:112;2969:64:109;395:982:112;;;;-1:-1:-1;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;2481:22:109;395:982:112;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;3573:43:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1333:36:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;4239:32:109;395:982:112;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;3672:47:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;4147:36:109;395:982:112;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;2311:24:109;395:982:112;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;5767:26:23;395:982:112;;;;;;;:::i;:::-;;-1:-1:-1;395:982:112;-1:-1:-1;;;;;;;;;;;395:982:112;;3202:4:23;4919:24;395:982:112;-1:-1:-1;395:982:112;4919:24:23;395:982:112;3202:4:23;:::i;:::-;5767:26;:::i;395:982:112:-;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;466:39:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;4417:27:109;395:982:112;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1616:3:109;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:112;;;;;;;1286:6:107;395:982:112;;;;;;;;;-1:-1:-1;;395:982:112;;;;2357:1:24;395:982:112;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;395:982:112:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:86;;395:982:112;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;:::o;:::-;;;;6430:19:107;395:982:112;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;:::o;:::-;-1:-1:-1;;;;;395:982:112;;;;;;-1:-1:-1;;395:982:112;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:112;;;;;;:::o;1167:340:82:-;;395:982:112;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;395:982:112;;1376:73:82;;1167:340;395:982:112;;;;:::i;:::-;;;740:55:110;;;;;;;395:982:112;;;;;;;740:55:110;;;395:982:112;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;807:73;395:982;;755:135;395:982;;;;;;:::i;:::-;;;;;;;;848:17:110;395:982:112;:::i;:::-;877:169:110;929:107;;1615:14:107;1007:11:110;;1020:13;;395:982:112;996:38:110;395:982:112;;996:38:110;;;;;;;:::i;:::-;;477:31:86;996:38:110;477:31:86;;996:38:110;;;;;;;;:::i;:::-;395:982:112;;-1:-1:-1;;;929:107:110;;;;395:982:112;;;929:107:110;;;;:::i;:::-;;;;;;;;;:::i;:::-;877:169;;:::i;:::-;;807:73:112;866:12;;:::i;:::-;395:982;;807:73;;;;;;;;;;929:107:110;807:73:112;;;:::i;:::-;;;;;;;;;:::i;:::-;755:135;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;395:982:112;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;395:982:112;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:112;;;;;;;;-1:-1:-1;;395:982:112;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;395:982:112;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;395:982:112;;-1:-1:-1;;;;;;395:982:112;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;395:982:112;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;395:982:112;;;3534:31:24;1809:204:82;;395:982:112;1038:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;395:982:112;;;:::i;:::-;;;1024:15;1038:1;;395:982;1055:86;;1155:143;395:982;1211:73;1270:12;;:::i;:::-;395:982;;807:73;;;;;;1211;;;;;;;;395:982;;;;;;:::i;1211:73::-;1615:14:107;1155:143:112;:::i;1055:86::-;395:982;;-1:-1:-1;;;1101:25:112;;1038:1;;1101:25;1020:349;395:982;;-1:-1:-1;;;1336:22:112;;1038:1;;1336:22;4148:103:23;-1:-1:-1;395:982:112;;;-1:-1:-1;;;;;;;;;;;395:982:112;;;;;;;;966:10:28;395:982:112;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;395:982:112;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;395:982:112;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;395:982:112;;3191:17:107;395:982:112;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;;;3191:17:107;395:982:112;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;-1:-1:-1;;395:982:112;7509:4:23;395:982:112;;;966:10:28;;-1:-1:-1;;;;;395:982:112;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;3191:17:107;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;466:39:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;;;;-1:-1:-1;395:982:112;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;-1:-1:-1;;395:982:112;7509:4:23;395:982:112;;;966:10:28;;-1:-1:-1;;;;;395:982:112;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;612:37:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;7270:387:23;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;757:38:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;7270:387:23;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;900:35:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;7270:387:23;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;1041:36:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;7270:387:23;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;1333:36:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;7270:387:23;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;395:982:112;;;;;;;;;1479:40:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:112;;3901:31:23;395:982:112;7270:387:23;-1:-1:-1;395:982:112;;;-1:-1:-1;;;;;;;;;;;395:982:112;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;3901:31:23;395:982:112;7892:388:23;-1:-1:-1;395:982:112;;;-1:-1:-1;;;;;;;;;;;395:982:112;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;;-1:-1:-1;395:982:112;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;-1:-1:-1;;395:982:112;;;966:10:28;;-1:-1:-1;;;;;395:982:112;;8155:40:23;-1:-1:-1;;8155:40:23;395:982:112;8209:11:23;:::o;395:982:112:-;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;1398:1:82;395:982:112;;;1398:1:82;395:982:112;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;395:982:112;-1:-1:-1;;;;;395:982:112;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;395:982:112;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;395:982:112;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:107;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;395:982:112;-1:-1:-1;;;;;;;;;;;395:982:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;395:982:112;;-1:-1:-1;;;7191:17:26;;;;;395:982:112;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:112;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;395:982:112:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3010:4959:107;3139:37;3010:4959;3139:37;395:982:112;;;3139:37:107;;;;;;:::i;:::-;395:982:112;;;;-1:-1:-1;;;;;395:982:112;;;3191:31:107;3187:95;;3296:20;;;;;395:982:112;;;;;;;;;;;3296:25:107;3292:92;;3398:29;;;395:982:112;;3398:29:107;;395:982:112;3398:43:107;;-1:-1:-1;;;;;395:982:112;;-1:-1:-1;;;;;395:982:112;;;3398:43:107;;3394:971;;3010:4959;4380:23;;;395:982:112;4379:24:107;395:982:112;;;;;;;;4379:24:107;;395:982:112;4379:24:107;:67;;;3010:4959;4375:132;;4537:28;;;;4522:9;3191:17;4574:3;4537:28;;395:982:112;;4533:39:107;;;;;4597:31;;;:45;:31;;:::i;:::-;395:982:112;-1:-1:-1;;;;;395:982:112;;;4597:45:107;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;395:982:112;;;;;4725:22:107;395:982:112;;;;;;;4725:55:107;395:982:112;;;;;4725:55:107;4721:120;;4878:28;4855:62;:55;4878:31;;395:982:112;4878:28:107;;;:31;:::i;4855:55::-;395:982:112;;-1:-1:-1;;395:982:112;4913:4:107;395:982:112;;;;4855:62:107;395:982:112;4522:9:107;;4721:120;395:982:112;;-1:-1:-1;;;4807:19:107;;;;;4593:114;395:982:112;;-1:-1:-1;;;4669:23:107;;;;;4533:39;;;;;;;;;;4942:43;395:982:112;;;;;;;;;;;4942:43:107;;4938:1254;;4517:411;6305:34;;;395:982:112;6375:23:107;;;;395:982:112;;;;;;;;6430:19:107;;;395:982:112;6485:23:107;;;395:982:112;6554:33:107;;;395:982:112;6636:36:107;;;395:982:112;6717:32:107;;;395:982:112;6798:36:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37:107;6237:612;;395:982:112;6237:612:107;;395:982:112;-1:-1:-1;;;;;395:982:112;4380:23:107;6237:612;;395:982:112;-1:-1:-1;;;;;395:982:112;6237:612:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;6237:612:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;6305:34:107;6237:612;;395:982:112;-1:-1:-1;;;;;395:982:112;6375:23:107;6237:612;;395:982:112;6237:612:107;;;:::i;:::-;395:982:112;;-1:-1:-1;;;;;395:982:112;3191:17:107;395:982:112;;-1:-1:-1;;;;;;395:982:112;;;;;;-1:-1:-1;;;;;395:982:112;;;;;;;3139:37:107;6920:13;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;-1:-1:-1;;;;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;4913:4:107;395:982:112;;-1:-1:-1;;;;395:982:112;;;;;;-1:-1:-1;;;395:982:112;;;;;;;;;;4913:4:107;395:982:112;;-1:-1:-1;;;;;395:982:112;;;;;;-1:-1:-1;;;;;;395:982:112;;;;;;;;;;7039:42:107;;395:982:112;;;3191:17:107;395:982:112;;;;;;;3191:17:107;395:982:112;;7039:42:107;6237:612;7109:21;;395:982:112;3191:17:107;395:982:112;;-1:-1:-1;;395:982:112;;;;;;;;;;;;;;6237:612:107;7155:19;;395:982:112;7140:34:107;1991:1:30;395:982:112;-1:-1:-1;;;;;395:982:112;;;7822:32:107;;395:982:112;;;7185:135:107;;4517:411;-1:-1:-1;7333:36:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;7329:157:107;;4517:411;-1:-1:-1;7499:35:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;7495:153:107;;4517:411;-1:-1:-1;7661:34:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;7657:152:107;;4517:411;-1:-1:-1;7822:32:107;395:982:112;-1:-1:-1;;;;;395:982:112;;;;;;;7818:145:107;;3010:4959;:::o;7818:145::-;7884:68;;;:::i;7657:152::-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;395:982:112;;5005:23:107;;5052;;;395:982:112;5052:37:107;;-1:-1:-1;;;;;395:982:112;;;5052:37:107;:23;;5117:32;;;395:982:112;5117:46:107;;-1:-1:-1;;;;;395:982:112;;;5117:46:107;:32;;5195:36;;;395:982:112;5195:50:107;;-1:-1:-1;;;;;395:982:112;;;5195:50:107;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;395:982:112;-1:-1:-1;;;5312:27:107;;;;;5195:78;5249:19;;;;395:982:112;5249:24:107;5195:78;;5113:420;5398:36;;;395:982:112;5398:50:107;;-1:-1:-1;;;;;395:982:112;;;5398:50:107;5113:420;5394:139;395:982:112;-1:-1:-1;;;5483:27:107;;;;;5048:664;5561:32;;;395:982:112;5561:46:107;;-1:-1:-1;;;;;395:982:112;;;5561:46:107;;:74;;;5048:664;5557:155;5048:664;5557:155;395:982:112;-1:-1:-1;;;5666:27:107;;;;;5561:74;5611:19;;;;395:982:112;5611:24:107;5561:74;;5001:1181;5753:36;;;395:982:112;5753:50:107;;-1:-1:-1;;;;;395:982:112;;;5753:50:107;;:347;;;5001:1181;5732:450;4938:1254;5732:450;395:982:112;-1:-1:-1;;;6140:27:107;;;;;5753:347;-1:-1:-1;5853:23:107;;;395:982:112;5853:37:107;;-1:-1:-1;;;;;395:982:112;;;5853:37:107;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:107;;;395:982:112;6032:46:107;;-1:-1:-1;;;;;395:982:112;;;6032:46:107;;;5753:347;;5853:147;-1:-1:-1;5950:36:107;;;395:982:112;5950:50:107;;-1:-1:-1;;;;;395:982:112;;;5950:50:107;;;5853:147;;:65;5894:19;;;;395:982:112;5894:24:107;;5853:65;;4375:132;395:982:112;;-1:-1:-1;;;4469:27:107;;;;;4379:67;4407:28;;;;;395:982:112;4407:39:107;;4379:67;;3394:971;3461:36;;;395:982:112;3461:50:107;;-1:-1:-1;;;;;395:982:112;;;3461:50:107;;3457:419;;3394:971;3894:34;;;395:982:112;3894:48:107;;-1:-1:-1;;;;;395:982:112;;;3894:48:107;;3890:465;;3394:971;;;3890:465;3966:21;;;395:982:112;;3966:21:107;;4015:19;;;395:982:112;4015:24:107;:74;;;3962:379;4011:157;3394:971;4011:157;395:982:112;;-1:-1:-1;;;4124:21:107;;;;;4015:74;-1:-1:-1;4043:32:107;;;395:982:112;4043:46:107;;-1:-1:-1;;;;;395:982:112;;;4043:46:107;;4015:74;;3962:379;4196:19;;;395:982:112;4196:24:107;;;:74;;;3962:379;4192:149;3890:465;4192:149;395:982:112;;-1:-1:-1;;;4301:21:107;;;;;4196:74;-1:-1:-1;4224:32:107;;;395:982:112;4224:46:107;;-1:-1:-1;;;;;395:982:112;;;4224:46:107;;;4196:74;;3457:419;3535:23;;;395:982:112;;3535:23:107;;3586:35;;;395:982:112;3586:49:107;;-1:-1:-1;;;;;395:982:112;;;3586:49:107;3457:419;3582:132;395:982:112;;-1:-1:-1;;;3670:21:107;;;;;3531:331;3742:35;;;395:982:112;3742:49:107;;-1:-1:-1;;;;;395:982:112;;;3742:49:107;3738:124;3457:419;3738:124;395:982:112;;-1:-1:-1;;;3822:21:107;;;;;3292:92;395:982:112;;-1:-1:-1;;;3344:29:107;;;;;3187:95;395:982:112;;-1:-1:-1;;;3245:26:107;;;;;4421:582:56;;4593:8;;-1:-1:-1;395:982:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;395:982:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;395:982:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;395:982:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;395:982:112;;;4917:24:56;;;395:982:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1642:1070:107;1783:1;395:982:112;;1746:38:107;1742:119;;1875:23;;;395:982:112;;-1:-1:-1;;;;;395:982:112;1875:23:107;;395:982:112;;1875:37:107;;:65;;1642:1070;1871:130;;395:982:112;2183:42:107;395:982:112;2552:36:107;395:982:112;2011:65:107;395:982:112;;;2011:65:107;1991:1:30;;2011:65:107;2087:42;395:982:112;2106:23:107;;;395:982:112;;;;;;2087:42:107;395:982:112;;-1:-1:-1;;;;395:982:112;;;;;;-1:-1:-1;;;395:982:112;;;;;;;;2087:42:107;2139:34;2154:19;;;395:982:112;2139:34:107;1991:1:30;;395:982:112;;;;;;;;;;2087:42:107;395:982:112;;;2087:42:107;395:982:112;;2183:42:107;2240:33;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;2236:148:107;;1642:1070;-1:-1:-1;2397:32:107;;;395:982:112;-1:-1:-1;;;;;395:982:112;;;;2393:146:107;;-1:-1:-1;2552:36:107;395:982:112;-1:-1:-1;;;;;395:982:112;;;;;;;2548:158:107;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;395:982:112;;-1:-1:-1;;;1963:27:107;;;;;1875:65;1916:19;;;;395:982:112;1916:24:107;;1875:65;;1742:119;395:982:112;;-1:-1:-1;;;1807:43:107;;;;;14296:213:69;395:982:112;14374:24:69;;;;14370:103;;395:982:112;14296:213:69;:::o;14370:103::-;395:982:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;395:982:112;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69364":[{"start":4896,"length":32},{"start":5382,"length":32},{"start":6913,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotes.sol\":\"VaultVotes\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Implementation.sol\":{\"keccak256\":\"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6\",\"dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d\",\"dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5\",\"dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5b32add628bcab38813637cbcb241e70e9348a8b30ce1514e7b493fd9fb0dd9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38b46a2d88283aa655e4c06fd48edeefc8da03bffef13cddb8de3ab4a1882d0a\",\"dweb:/ipfs/QmSftMxYA1fz18qhdWM9ppLqowa9JBCyCwLHtbKFYw698F\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IImplementation.sol\":{\"keccak256\":\"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc\",\"dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe\",\"dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31\",\"dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7\",\"dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","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":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultVotes.sol":"VaultVotes"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol":{"keccak256":"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b","urls":["bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0","dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol":{"keccak256":"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4","urls":["bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827","dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol":{"keccak256":"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5","urls":["bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33","dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Implementation.sol":{"keccak256":"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15","urls":["bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6","dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73","urls":["bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d","dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3","urls":["bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5","dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5b32add628bcab38813637cbcb241e70e9348a8b30ce1514e7b493fd9fb0dd9f","urls":["bzz-raw://38b46a2d88283aa655e4c06fd48edeefc8da03bffef13cddb8de3ab4a1882d0a","dweb:/ipfs/QmSftMxYA1fz18qhdWM9ppLqowa9JBCyCwLHtbKFYw698F"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IImplementation.sol":{"keccak256":"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca","urls":["bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc","dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0","urls":["bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe","dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b","urls":["bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31","dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed","urls":["bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7","dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file diff --git a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json index b19d196..d1e9a42 100644 --- a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json +++ b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"baseImplementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_VaultTokenized_init","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_VaultVotes_init","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC5805FutureLookup","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"clock","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC6372InconsistentClock","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeSupplyExceeded","inputs":[]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a034606d57601f6132a038819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161321a9081610086823960805181818161093801526124ed0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436106124e3575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124e357611a95565b611a78565b611a5a565b611a3d565b611a0e565b6119d4565b6119a9565b611981565b611959565b61193c565b61186f565b61183c565b611802565b6117e5565b6117bd565b611793565b611762565b61173a565b611700565b6116b2565b611669565b61162f565b61160b565b6115e3565b611561565b611544565b611508565b6114eb565b611439565b61140e565b61136c565b61129c565b6111bf565b611064565b611027565b610f80565b610f5b565b610f36565b610f11565b610ed7565b610e9d565b610e73565b610e51565b610e29565b610de4565b610dbf565b610d71565b610d50565b610ca5565b610b83565b610b49565b610ab2565b610a92565b610a6a565b610a4d565b61099f565b6108d0565b610896565b610874565b61083a565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061314583398151915280549061046682611b13565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b95565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fb7565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b505060405161068d81611b5f565b600a8152602090695661756c74566f74657360b01b6020820152604051906106b482611b5f565b60019260018352603160f81b60208401526106cd61251f565b6106d561251f565b8151906001600160401b038211610835575f8051602061316583398151915292610708836107038654611b13565b612560565b602091601f84116001146107a15750610744955061073d92915f9183610796575b50508160011b915f199060031b1c19161790565b9055612744565b61076c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b6107945f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610729565b5f805160206131658339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b83831061081e57505050958392916001946107449810610806575b505050811b019055612744565b01515f1960f88460031b161c191690555f80806107f9565b848a015186559881019894850194918101916107de565b611b4b565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f36600319011261052857602061088e611e68565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098e61093661096b61095c6108f561052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b95565b7f0000000000000000000000000000000000000000000000000000000000000000612919565b60208082518301019101611f28565b9290915f6040518281525f805160206131c583398151915260203392a333611f3e565b604080519182526020820192909252f35b34610528576060366003190112610528576109b861052c565b6109c0610542565b604435906109d13361059985610fb7565b5492600184016109f2575b6109e6935061202a565b60405160018152602090f35b828410610a27576001600160a01b038116156105fe5733156105e657826109e69403610a213361059984610fb7565b556109dc565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b44575f90610b07575b60405160ff919091168152602090f35b506020813d602011610b3c575b81610b2160209383611b95565b810103126105285761049f9051610b3781611864565b610af7565b3d9150610b14565b611d5f565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9c61052c565b60243590610ba942612178565b9065ffffffffffff91828116841015610c7c5750610bc9610bcf91610fef565b92612178565b8254905f908260058111610c2e575b50610bea935084612bb3565b9081610c1157505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1d61049f926121be565b905f5260205f20015460301c610bf7565b9092610c3982612a88565b8203918211610c7757610bea94865f52808360205f20015416908516105f14610c655750915b5f610bde565b929150610c71906121cc565b90610c5f565b6121aa565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cbe61052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cfc9061095c906109368160648101610928565b916040518381525f5f805160206131c5833981519152602060018060a01b03851693a36001600160d01b03610d2f611e68565b11610d3e578261098e91611f97565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d9081611b5f565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610e0861052c565b165f525f80516020613125833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b3461052857602036600319011261052857610794610e6d61052c565b3361230c565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610fa161052c565b165f52600e602052602061088e60405f20611ef4565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361104861052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761107236610643565b8101604082820312610528576001600160401b03918035838111610528578261109c918301611d6a565b906020926020820135858111610528576110b69201611d6a565b916110bf61251f565b6110c761251f565b8151938411610835575f80516020613145833981519152916110f2856110ed8554611b13565b6125d9565b602091601f861160011461112c5750938061112592610794965f926107965750508160011b915f199060031b1c19161790565b905561283d565b5f805160206131458339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a757505091600193918761079498941061118f575b505050811b01905561283d565b01515f1960f88460031b161c191690555f8080611182565b80600186978294978701518155019601940190611168565b34610528576020366003190112610528576001600160a01b036111e061052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124a90949194600f60f81b845261123c60209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611288575050505090565b83518552938101939281019260010161127a565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611343575b15611306576112e2611bb6565b6112ea611c8b565b9061049f6112f6611db0565b6040519384933091469186611216565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d5565b346105285760203660031901126105285760043561138942612178565b65ffffffffffff81168210156113e7576113aa6113a583612178565b6121da565b6001600160d01b038116156113dd576113c561049f91611e19565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113cd565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142942612178565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f8051602061318583398151915280549061146782611b13565b808552916020916001918281169081156104fb57506001146114935761049f8661049381880382611b95565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d8575050505081016020016104938261049f5f610483565b80548686018401529382019381016114bb565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153b61153661153161052c565b610fef565b61239e565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157a61052c565b6024356001600160401b038111610528575f9161159c83923690600401610616565b90816040519283928337810184815203915af46115db6115ba611dd6565b91610928604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a9611687610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f46116d2610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178861177e61052c565b602435903361202a565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188861052c565b6044359060243560643561189b81611864565b834211611923576119176107949461191e926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118ff82611b7a565b61191260a43593608435935190206123c6565b612455565b918261246d565b61230c565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a9611a2c61052c565b610599611a37610542565b91610fb7565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aee61095c610928610936611aba61052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f805160206131c583398151915260203392a361098e8133611f3e565b90600182811c92168015611b41575b6020831014611b2d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b22565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761083557604052565b60a081019081106001600160401b0382111761083557604052565b90601f801991011681019081106001600160401b0382111761083557604052565b604051905f825f8051602061316583398151915291825492611bd784611b13565b80845293602091600191828116908115611c655750600114611c05575b505050611c0392500383611b95565b565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611c4d5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611c31565b9250505060209250611c0394915060ff191682840152151560051b8201015f8080611bf4565b604051905f825f805160206131a583398151915291825492611cac84611b13565b80845293602091600191828116908115611c655750600114611cd757505050611c0392500383611b95565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611d1f5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611d03565b60405190611c0382611b5f565b6001600160401b03811161083557601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d8182611d44565b92611d8f6040519485611b95565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b03821117610835576040525f8152905f368137565b3d15611e00573d90611de782611d44565b91611df56040519384611b95565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e05565b8054821015611e4e575f5260205f2001905f90565b600a5480611ebb57505f5b6001600160d01b03811615611eb657600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c7757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e73565b611efd8161239e565b6001600160d01b03811615611f22576001611f189201611e53565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061312583398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0393929081169116612936565b5f805160206131258339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0393929081169116612936565b6001600160a01b039081165f9081525f805160206131258339815191526020526040808220549383168252902054611c0393929082169116612936565b6001600160a01b03808216949392919085156121605782168015612148576001600160a01b0382165f908152600e6020526040902061206d90611ef4565b611ef4565b95848710612119576120aa611c0396976120978560018060a01b03165f52600e60205260405f2090565b90876120a242612178565b910391612e42565b50506001600160a01b0384165f908152600e602052604090206120f9906120d042612178565b6001600160a01b0387165f908152600e6020526040902088906120f290611ef4565b0191612e42565b50506040518581525f805160206131c583398151915290602090a3611fed565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161218b571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c7757565b9060018201809211610c7757565b600a8054915f9280600581116122a5575b5092905b838210612239575050508061220357505f90565b61220c906121be565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122935750925b91906121ef565b93925061229f906121cc565b9161228c565b906122af82612a88565b8203918211610c7757600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122fb57505b5f6121eb565b9350612306906121cc565b926122f5565b611c039161239861206860018060a01b0393848116805f525f8051602061312583398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612936565b8054806123ab5750505f90565b5f19918183810111610c77575f5260205f2001015460301c90565b6123ce612f04565b6123d6612f6e565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b038411176108355760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161246493612c12565b90929192612cb2565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124b8575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561251b573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561254e57565b604051631afcd79f60e31b8152600490fd5b601f811161256c575050565b5f805160206131658339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106125cf575b601f0160051c01905b8181106125c4575050565b5f81556001016125b9565b90915081906125b0565b601f81116125e5575050565b5f805160206131458339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612648575b601f0160051c01905b81811061263d575050565b5f8155600101612632565b9091508190612629565b601f811161265e575050565b5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c830193106126c1575b601f0160051c01905b8181106126b6575050565b5f81556001016126ab565b90915081906126a2565b601f81116126d7575050565b5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061273a575b601f0160051c01905b81811061272f575050565b5f8155600101612724565b909150819061271b565b9081516001600160401b038111610835575f805160206131a583398151915290612777816127728454611b13565b612652565b602080601f83116001146127ac575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b9055565b90601f198316956127ea5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b8882106128255750508360019596971061280d575b505050811b019055565b01515f1960f88460031b161c191690555f8080612803565b806001859682949686015181550195019301906127ee565b9081516001600160401b038111610835575f80516020613185833981519152906128708161286b8454611b13565b6126cb565b602080601f83116001146128a1575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b90601f198316956128df5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106129015750508360019596971061280d57505050811b019055565b806001859682949686015181550195019301906128e3565b5f8061043593602081519101845af4612930611dd6565b91612d3f565b6001600160a01b03808316939291908116908185141580612a61575b61295e575b5050505050565b816129d3575b505082612973575b8080612957565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724916129aa6129a46129b093610fef565b91612da2565b90612dd5565b604080516001600160d01b039384168152919092166020820152a25f808061296c565b6129dc90610fef565b6129e584612da2565b6129ee42612178565b6001600160d01b03918280612a028661239e565b169116900392828411610c77577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a5792612a3e9261300e565b6040805192851683529316602082015291829190820190565b0390a25f80612964565b50831515612952565b8115612a74570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612ba1575b612b49612b3f612b35612b2b612b21612b17612b5597600488600160401b612b509a1015612b94575b640100000000811015612b87575b62010000811015612b7a575b610100811015612b6e575b6010811015612b62575b1015612b5a575b60030260011c612b10818b612a6a565b0160011c90565b612b10818a612a6a565b612b108189612a6a565b612b108188612a6a565b612b108187612a6a565b612b108186612a6a565b8093612a6a565b821190565b900390565b60011b612b00565b811c9160021b91612af9565b60081c91811b91612aef565b60101c9160081b91612ae4565b60201c9160101b91612ad8565b60401c9160201b91612aca565b50600160401b9050608082901c612aa1565b91905b838210612bc35750505090565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff808360205f20015416908416105f14612c005750925b9190612bb6565b939250612c0c906121cc565b91612bf9565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c89579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b44575f516001600160a01b03811615612c7f57905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c9e57565b634e487b7160e01b5f52602160045260245ffd5b612cbb81612c94565b80612cc4575050565b612ccd81612c94565b60018103612ce75760405163f645eedf60e01b8152600490fd5b612cf081612c94565b60028103612d115760405163fce698f760e01b815260048101839052602490fd5b80612d1d600392612c94565b14612d255750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d665750805115612d5457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d99575b612d77575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d6f565b6001600160d01b0390818111612db6571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612ddf42612178565b6001600160d01b03918280612df38661239e565b16911601918211610c775761066d9261300e565b90815491600160401b8310156108355782612e2a916001611c0395018155611e53565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612ed4575b5084612e5f846130eb565b50949092845493612e6f83611ef4565b9681612ebf575b5015612e9c575050505f198101908111610c7757612e2a8591612e9893611e53565b9190565b612e98949293612eb8926001600160d01b03909116919061300e565b5050612e07565b65ffffffffffff83811691161490505f612e76565b600160401b81101561083557806001612ef09201845583611e53565b8154905f199060031b1b191690555f612e54565b612f0c611bb6565b8051908115612f1c576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612f76611c8b565b8051908115612f86576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f495790565b8054600160401b81101561083557612fd091600182018155611e53565b612ffb57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156130c157613025613030916121be565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116130af57879303613076575061306f92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506130aa91613096613088611d37565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612fb3565b61306f565b604051632520601d60e01b8152600490fd5b50906130e6916130d2613088611d37565b6001600160d01b0385166020830152612fb3565b5f9190565b8054806130fc5750505f905f905f90565b5f19918183810111610c77575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122098d522523f44c9c313d74186674c537e7e8858c81bf831faf2a600c3eb2dd7f964736f6c63430008190033","sourceMap":"983:2869:112:-:0;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;1324:40:110;;983:2869:112;;;;;;;;1324:40:110;983:2869:112;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;983:2869:112","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106124e3575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124e357611a95565b611a78565b611a5a565b611a3d565b611a0e565b6119d4565b6119a9565b611981565b611959565b61193c565b61186f565b61183c565b611802565b6117e5565b6117bd565b611793565b611762565b61173a565b611700565b6116b2565b611669565b61162f565b61160b565b6115e3565b611561565b611544565b611508565b6114eb565b611439565b61140e565b61136c565b61129c565b6111bf565b611064565b611027565b610f80565b610f5b565b610f36565b610f11565b610ed7565b610e9d565b610e73565b610e51565b610e29565b610de4565b610dbf565b610d71565b610d50565b610ca5565b610b83565b610b49565b610ab2565b610a92565b610a6a565b610a4d565b61099f565b6108d0565b610896565b610874565b61083a565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061314583398151915280549061046682611b13565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b95565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fb7565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b505060405161068d81611b5f565b600a8152602090695661756c74566f74657360b01b6020820152604051906106b482611b5f565b60019260018352603160f81b60208401526106cd61251f565b6106d561251f565b8151906001600160401b038211610835575f8051602061316583398151915292610708836107038654611b13565b612560565b602091601f84116001146107a15750610744955061073d92915f9183610796575b50508160011b915f199060031b1c19161790565b9055612744565b61076c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b6107945f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610729565b5f805160206131658339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b83831061081e57505050958392916001946107449810610806575b505050811b019055612744565b01515f1960f88460031b161c191690555f80806107f9565b848a015186559881019894850194918101916107de565b611b4b565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f36600319011261052857602061088e611e68565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098e61093661096b61095c6108f561052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b95565b7f0000000000000000000000000000000000000000000000000000000000000000612919565b60208082518301019101611f28565b9290915f6040518281525f805160206131c583398151915260203392a333611f3e565b604080519182526020820192909252f35b34610528576060366003190112610528576109b861052c565b6109c0610542565b604435906109d13361059985610fb7565b5492600184016109f2575b6109e6935061202a565b60405160018152602090f35b828410610a27576001600160a01b038116156105fe5733156105e657826109e69403610a213361059984610fb7565b556109dc565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b44575f90610b07575b60405160ff919091168152602090f35b506020813d602011610b3c575b81610b2160209383611b95565b810103126105285761049f9051610b3781611864565b610af7565b3d9150610b14565b611d5f565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9c61052c565b60243590610ba942612178565b9065ffffffffffff91828116841015610c7c5750610bc9610bcf91610fef565b92612178565b8254905f908260058111610c2e575b50610bea935084612bb3565b9081610c1157505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1d61049f926121be565b905f5260205f20015460301c610bf7565b9092610c3982612a88565b8203918211610c7757610bea94865f52808360205f20015416908516105f14610c655750915b5f610bde565b929150610c71906121cc565b90610c5f565b6121aa565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cbe61052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cfc9061095c906109368160648101610928565b916040518381525f5f805160206131c5833981519152602060018060a01b03851693a36001600160d01b03610d2f611e68565b11610d3e578261098e91611f97565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d9081611b5f565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610e0861052c565b165f525f80516020613125833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b3461052857602036600319011261052857610794610e6d61052c565b3361230c565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610fa161052c565b165f52600e602052602061088e60405f20611ef4565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361104861052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761107236610643565b8101604082820312610528576001600160401b03918035838111610528578261109c918301611d6a565b906020926020820135858111610528576110b69201611d6a565b916110bf61251f565b6110c761251f565b8151938411610835575f80516020613145833981519152916110f2856110ed8554611b13565b6125d9565b602091601f861160011461112c5750938061112592610794965f926107965750508160011b915f199060031b1c19161790565b905561283d565b5f805160206131458339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a757505091600193918761079498941061118f575b505050811b01905561283d565b01515f1960f88460031b161c191690555f8080611182565b80600186978294978701518155019601940190611168565b34610528576020366003190112610528576001600160a01b036111e061052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124a90949194600f60f81b845261123c60209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611288575050505090565b83518552938101939281019260010161127a565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611343575b15611306576112e2611bb6565b6112ea611c8b565b9061049f6112f6611db0565b6040519384933091469186611216565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d5565b346105285760203660031901126105285760043561138942612178565b65ffffffffffff81168210156113e7576113aa6113a583612178565b6121da565b6001600160d01b038116156113dd576113c561049f91611e19565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113cd565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142942612178565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f8051602061318583398151915280549061146782611b13565b808552916020916001918281169081156104fb57506001146114935761049f8661049381880382611b95565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d8575050505081016020016104938261049f5f610483565b80548686018401529382019381016114bb565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153b61153661153161052c565b610fef565b61239e565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157a61052c565b6024356001600160401b038111610528575f9161159c83923690600401610616565b90816040519283928337810184815203915af46115db6115ba611dd6565b91610928604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a9611687610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f46116d2610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178861177e61052c565b602435903361202a565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188861052c565b6044359060243560643561189b81611864565b834211611923576119176107949461191e926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118ff82611b7a565b61191260a43593608435935190206123c6565b612455565b918261246d565b61230c565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a9611a2c61052c565b610599611a37610542565b91610fb7565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aee61095c610928610936611aba61052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f805160206131c583398151915260203392a361098e8133611f3e565b90600182811c92168015611b41575b6020831014611b2d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b22565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761083557604052565b60a081019081106001600160401b0382111761083557604052565b90601f801991011681019081106001600160401b0382111761083557604052565b604051905f825f8051602061316583398151915291825492611bd784611b13565b80845293602091600191828116908115611c655750600114611c05575b505050611c0392500383611b95565b565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611c4d5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611c31565b9250505060209250611c0394915060ff191682840152151560051b8201015f8080611bf4565b604051905f825f805160206131a583398151915291825492611cac84611b13565b80845293602091600191828116908115611c655750600114611cd757505050611c0392500383611b95565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611d1f5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611d03565b60405190611c0382611b5f565b6001600160401b03811161083557601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d8182611d44565b92611d8f6040519485611b95565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b03821117610835576040525f8152905f368137565b3d15611e00573d90611de782611d44565b91611df56040519384611b95565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e05565b8054821015611e4e575f5260205f2001905f90565b600a5480611ebb57505f5b6001600160d01b03811615611eb657600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c7757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e73565b611efd8161239e565b6001600160d01b03811615611f22576001611f189201611e53565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061312583398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0393929081169116612936565b5f805160206131258339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0393929081169116612936565b6001600160a01b039081165f9081525f805160206131258339815191526020526040808220549383168252902054611c0393929082169116612936565b6001600160a01b03808216949392919085156121605782168015612148576001600160a01b0382165f908152600e6020526040902061206d90611ef4565b611ef4565b95848710612119576120aa611c0396976120978560018060a01b03165f52600e60205260405f2090565b90876120a242612178565b910391612e42565b50506001600160a01b0384165f908152600e602052604090206120f9906120d042612178565b6001600160a01b0387165f908152600e6020526040902088906120f290611ef4565b0191612e42565b50506040518581525f805160206131c583398151915290602090a3611fed565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161218b571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c7757565b9060018201809211610c7757565b600a8054915f9280600581116122a5575b5092905b838210612239575050508061220357505f90565b61220c906121be565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122935750925b91906121ef565b93925061229f906121cc565b9161228c565b906122af82612a88565b8203918211610c7757600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122fb57505b5f6121eb565b9350612306906121cc565b926122f5565b611c039161239861206860018060a01b0393848116805f525f8051602061312583398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612936565b8054806123ab5750505f90565b5f19918183810111610c77575f5260205f2001015460301c90565b6123ce612f04565b6123d6612f6e565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b038411176108355760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161246493612c12565b90929192612cb2565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124b8575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561251b573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561254e57565b604051631afcd79f60e31b8152600490fd5b601f811161256c575050565b5f805160206131658339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106125cf575b601f0160051c01905b8181106125c4575050565b5f81556001016125b9565b90915081906125b0565b601f81116125e5575050565b5f805160206131458339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612648575b601f0160051c01905b81811061263d575050565b5f8155600101612632565b9091508190612629565b601f811161265e575050565b5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c830193106126c1575b601f0160051c01905b8181106126b6575050565b5f81556001016126ab565b90915081906126a2565b601f81116126d7575050565b5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061273a575b601f0160051c01905b81811061272f575050565b5f8155600101612724565b909150819061271b565b9081516001600160401b038111610835575f805160206131a583398151915290612777816127728454611b13565b612652565b602080601f83116001146127ac575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b9055565b90601f198316956127ea5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b8882106128255750508360019596971061280d575b505050811b019055565b01515f1960f88460031b161c191690555f8080612803565b806001859682949686015181550195019301906127ee565b9081516001600160401b038111610835575f80516020613185833981519152906128708161286b8454611b13565b6126cb565b602080601f83116001146128a1575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b90601f198316956128df5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106129015750508360019596971061280d57505050811b019055565b806001859682949686015181550195019301906128e3565b5f8061043593602081519101845af4612930611dd6565b91612d3f565b6001600160a01b03808316939291908116908185141580612a61575b61295e575b5050505050565b816129d3575b505082612973575b8080612957565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724916129aa6129a46129b093610fef565b91612da2565b90612dd5565b604080516001600160d01b039384168152919092166020820152a25f808061296c565b6129dc90610fef565b6129e584612da2565b6129ee42612178565b6001600160d01b03918280612a028661239e565b169116900392828411610c77577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a5792612a3e9261300e565b6040805192851683529316602082015291829190820190565b0390a25f80612964565b50831515612952565b8115612a74570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612ba1575b612b49612b3f612b35612b2b612b21612b17612b5597600488600160401b612b509a1015612b94575b640100000000811015612b87575b62010000811015612b7a575b610100811015612b6e575b6010811015612b62575b1015612b5a575b60030260011c612b10818b612a6a565b0160011c90565b612b10818a612a6a565b612b108189612a6a565b612b108188612a6a565b612b108187612a6a565b612b108186612a6a565b8093612a6a565b821190565b900390565b60011b612b00565b811c9160021b91612af9565b60081c91811b91612aef565b60101c9160081b91612ae4565b60201c9160101b91612ad8565b60401c9160201b91612aca565b50600160401b9050608082901c612aa1565b91905b838210612bc35750505090565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff808360205f20015416908416105f14612c005750925b9190612bb6565b939250612c0c906121cc565b91612bf9565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c89579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b44575f516001600160a01b03811615612c7f57905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c9e57565b634e487b7160e01b5f52602160045260245ffd5b612cbb81612c94565b80612cc4575050565b612ccd81612c94565b60018103612ce75760405163f645eedf60e01b8152600490fd5b612cf081612c94565b60028103612d115760405163fce698f760e01b815260048101839052602490fd5b80612d1d600392612c94565b14612d255750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d665750805115612d5457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d99575b612d77575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d6f565b6001600160d01b0390818111612db6571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612ddf42612178565b6001600160d01b03918280612df38661239e565b16911601918211610c775761066d9261300e565b90815491600160401b8310156108355782612e2a916001611c0395018155611e53565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612ed4575b5084612e5f846130eb565b50949092845493612e6f83611ef4565b9681612ebf575b5015612e9c575050505f198101908111610c7757612e2a8591612e9893611e53565b9190565b612e98949293612eb8926001600160d01b03909116919061300e565b5050612e07565b65ffffffffffff83811691161490505f612e76565b600160401b81101561083557806001612ef09201845583611e53565b8154905f199060031b1b191690555f612e54565b612f0c611bb6565b8051908115612f1c576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612f76611c8b565b8051908115612f86576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f495790565b8054600160401b81101561083557612fd091600182018155611e53565b612ffb57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156130c157613025613030916121be565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116130af57879303613076575061306f92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506130aa91613096613088611d37565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612fb3565b61306f565b604051632520601d60e01b8152600490fd5b50906130e6916130d2613088611d37565b6001600160d01b0385166020830152612fb3565b5f9190565b8054806130fc5750505f905f905f90565b5f19918183810111610c77575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122098d522523f44c9c313d74186674c537e7e8858c81bf831faf2a600c3eb2dd7f964736f6c63430008190033","sourceMap":"983:2869:112:-:0;;;;;;2603:64:50;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;983:2869:112;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;-1:-1:-1;;983:2869:112;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;-1:-1:-1;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;983:2869:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;983:2869:112;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;983:2869:112;;;;;;;;;;;;;;;;11334:29:27;983:2869:112;;;;;;11415:31:27;983:2869:112;966:10:28;11415:31:27;;983:2869:112;;;10117:4:27;983:2869:112;;;11235:90:27;983:2869:112;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;983:2869:112;;;11283:31:27;11137:89;983:2869:112;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;983:2869:112;;;11183:32:27;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2869:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;983:2869:112;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;983:2869:112;2806:64:31;983:2869:112;;3875:17:31;3902:20;983:2869:112;3902:16:31;983:2869:112;;3902:20:31;983:2869:112;;;;;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;;757:38:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;1732:22:110;;:::i;:::-;983:2869:112;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;612:37:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;3093:6;3078:48:110;3013:156;3037:90;983:2869:112;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;3078:48:110;;;-1:-1:-1;;;;;983:2869:112;;;;3078:48:110;;;983:2869:112;;;;;;;;;;;;;;;;3078:48:110;;983:2869:112;;3078:48:110;;;;;;:::i;:::-;3037:19;:90;:::i;:::-;983:2869:112;;;;3013:156:110;;;;;;:::i;:::-;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;3194:10:110;3185:40;;3194:10;3093:6:112;:::i;:::-;983:2869;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;983:2869:112;;11910:37:27;;;11906:310;;983:2869:112;6198:5:27;;;;:::i;:::-;983:2869:112;;4867:13:27;983:2869:112;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;983:2869:112;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;983:2869:112;6198:5:27;983:2869:112;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;983:2869:112;11906:310:27;;11963:130;983:2869:112;;-1:-1:-1;;;12018:60:27;;966:10:28;983:2869:112;12018:60:27;;983:2869:112;;;;;;;;;;;;;;;12018:60:27;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;4327:34:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;2227:28:108;983:2869:112;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;-1:-1:-1;;;1535:37:110;;983:2869:112;1535:37:110;;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;1535:37:110;;;;;;983:2869:112;1535:37:110;;;983:2869:112;;;;;;;;;;;;;1535:37:110;;;;;;;;;;;;;;;;:::i;:::-;;;983:2869:112;;;;;;;;;;:::i;:::-;1535:37:110;;;;;-1:-1:-1;1535:37:110;;;;:::i;983:2869:112:-;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1479:40:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;983:2869:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;983:2869:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;983:2869:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;983:2869:112;-1:-1:-1;10120:63:71;983:2869:112;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;10120:63:71;10168:7;983:2869:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;983:2869:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;983:2869:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;983:2869:112;;;;;9870:48:71;9866:149;983:2869:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;983:2869:112;;:::i;5073:115:25:-;983:2869:112;;-1:-1:-1;;;5129:48:25;;983:2869:112;5129:48:25;;983:2869:112;;;;;;;;;;;;;;12018:60:27;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;2242:52:110;;;-1:-1:-1;;;;;983:2869:112;;;2242:52:110;;;983:2869:112;;;;;;;;;2177:160:110;;2201:94;;2242:52;983:2869:112;;;;2242:52:110;983:2869:112;2177:160:110;983:2869:112;;;;;;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;2353:46:110;;-1:-1:-1;;;;;2348:22:112;;:::i;:::-;:42;2344:100;;2499:12;;;;:::i;2344:100::-;983:2869;;-1:-1:-1;;;2413:20:112;;983:2869;;2413:20;983:2869;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;2391:34:108;983:2869:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;;;;;983:2869:112;;;:::i;:::-;;-1:-1:-1;983:2869:112;-1:-1:-1;;;;;;;;;;;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;4059:32:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;7028:9:25;983:2869:112;;:::i;:::-;966:10:28;7028:9:25;:::i;983:2869:112:-;;;;;;-1:-1:-1;;983:2869:112;;;;;;-1:-1:-1;983:2869:112;2854:59:108;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1041:36:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1714:45:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;4587:28:108;983:2869:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3967:36:108;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;2559:32:108;983:2869:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;:::i;:::-;;-1:-1:-1;983:2869:112;1941:15:110;983:2869:112;;;1941:33:110;983:2869:112;-1:-1:-1;983:2869:112;1941:33:110;:::i;983:2869:112:-;-1:-1:-1;;;;;983:2869:112;;;;;4867:13:27;983:2869:112;;;;;;:::o;:::-;-1:-1:-1;;;;;983:2869:112;;;;;5204:22:25;983:2869:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;:::i;:::-;;-1:-1:-1;983:2869:112;2730:68:108;983:2869:112;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;:::i;:::-;4846:34:110;;983:2869:112;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;:::i;:::-;;-1:-1:-1;983:2869:112;972:64:29;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2806:64:31;983:2869:112;5777:18:31;:43;;;983:2869:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;983:2869:112;6043:16:31;;:::i;:::-;983:2869:112;;6000:4:31;;;;5965:13;;983:2869:112;;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;-1:-1:-1;;;983:2869:112;;;;;;;5777:43:31;983:2869:112;5799:16:31;983:2869:112;5799:21:31;5777:43;;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;983:2869:112;;;1908:29;;;1904:115;;7117:34:94;2067:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;7168:7:94;983:2869:112;;7178:17:94;983:2869:112;7178:17:94;;:::i;:::-;983:2869:112;;;;;;7168:31:94;983:2869:112;;;;;;;;;;;;;7168:31:94;;983:2869:112;-1:-1:-1;7168:31:94;;1904:115:112;983:2869;;-1:-1:-1;;;1960:48:112;;983:2869;1960:48;;983:2869;;;;;;;;;;;;12018:60:27;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;819:34:73;837:15;819:34;:::i;:::-;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;983:2869:112;;;;;;;-1:-1:-1;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3869:42:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;983:2869:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3775:38:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;983:2869:112;;;;;;;;;;477:31:86;;983:2869:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;983:2869:112;518:79:86;;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;;2139:32:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;900:35:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3089:94:108;983:2869:112;;:::i;:::-;;;-1:-1:-1;983:2869:112;3089:94:108;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;3089:94:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3239:92:108;983:2869:112;;:::i;:::-;;;-1:-1:-1;983:2869:112;3239:92:108;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;3239:92:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1187:40:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;4500:31:108;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;4616:5:27;983:2869:112;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;983:2869:112;;;4639:4:27;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;-1:-1:-1;983:2869:112;2969:64:108;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2481:22:108;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3573:43:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1333:36:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;4239:32:108;983:2869:112;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;7310:15:25;;:24;7306:91;;7423:168;7660:9;983:2869:112;7626:5:25;983:2869:112;;;7477:57:25;983:2869:112;7477:57:25;;983:2869:112;2345:71:25;983:2869:112;;;;;;;;;;2345:71:25;;983:2869:112;2345:71:25;983:2869:112;2345:71:25;;983:2869:112;;2345:71:25;;983:2869:112;;7477:57:25;;;;;:::i;:::-;7450:86;983:2869:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;983:2869:112;;-1:-1:-1;;;7357:29:25;;983:2869:112;7357:29:25;;983:2869:112;;;;;7357:29:25;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;3672:47:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;4147:36:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2311:24:108;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;466:39:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;4867:29:27;983:2869:112;;:::i;:::-;4867:20:27;983:2869:112;;:::i;:::-;4867:20:27;;:::i;983:2869:112:-;;;;;;-1:-1:-1;;983:2869:112;;;;;4417:27:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1616:3:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2594:158:110;2618:92;2659:50;;983:2869:112;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;2659:50:110;;;-1:-1:-1;;;;;983:2869:112;;;;2659:50:110;;;983:2869:112;;;;;;;;;;;;;;;;;2594:158:110;983:2869:112;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;2777:10:110;2768:46;;2795:12:112;2777:10:110;;2795:12:112;:::i;983:2869::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;:::o;:::-;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;983:2869:112;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;7178:12:94;983:2869:112;;;;;;7178:12:94;-1:-1:-1;983:2869:112;;;;-1:-1:-1;983:2869:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;983:2869:112;;;-1:-1:-1;983:2869:112;:::o;10580:184:94:-;1732:13:110;983:2869:112;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;983:2869:112;;10726:7:94;983:2869:112;;10736:12:94;983:2869:112;;;;;;10736:12:94;-1:-1:-1;983:2869:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;983:2869:112;;;;;;;;1732:13:110;-1:-1:-1;14439:109:71;;;983:2869:112;;;10446:63:71;;10580:184:94;10689:20;;;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;10726:7:94;983:2869:112;;10736:12:94;:17;:12;;:17;:::i;:::-;983:2869:112;;;;;;10580:184:94;:::o;10726:31::-;;;10689:11;10580:184;:::o;983:2869:112:-;;;;;;;;;;;;;;;;;:::o;3342:165::-;-1:-1:-1;;;;;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;3342:165::-;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;3342:165::-;-1:-1:-1;;;;;983:2869:112;;;-1:-1:-1;983:2869:112;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;6605:300:27:-;-1:-1:-1;;;;;983:2869:112;;;;6605:300:27;;;;6688:18;;6684:86;;983:2869:112;;6783:16:27;;6779:86;;-1:-1:-1;;;;;983:2869:112;;;;;;1941:15:110;983:2869:112;;;;;1941:33:110;;;:::i;:24::-;:33;:::i;:::-;3669:19;;;;3665:115;;3900:65;3271:5:112;3900:21:110;;;;983:2869:112;;;;;;;;1941:15:110;983:2869:112;;;;;;;3900:21:110;837:15:73;;819:34;837:15;819:34;:::i;:::-;983:2869:112;;3900:65:110;;:::i;:::-;-1:-1:-1;;;;;;;983:2869:112;;;;;;1941:15:110;983:2869:112;;;;;4416:65:110;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;;;;1941:15:110;983:2869:112;;;;;1941:24:110;;:33;;;:::i;:::-;983:2869:112;4416:65:110;;:::i;:::-;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;4521:25:110;983:2869:112;;4521:25:110;3271:5:112;:::i;3665:115:110:-;983:2869:112;;-1:-1:-1;;;3715:50:110;;-1:-1:-1;;;;;983:2869:112;;3715:50:110;;;983:2869:112;;;;;;;;;;;;;;;12018:60:27;6779:86;983:2869:112;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;983:2869:112;;;6822:32:27;6684:86;983:2869:112;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;983:2869:112;;;6729:30:27;14296:213:69;983:2869:112;14374:24:69;;;;14370:103;;983:2869:112;14296:213:69;:::o;14370:103::-;983:2869:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;983:2869:112;;;;;14421:41:69;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;:::o;:::-;;9999:1:71;983:2869:112;;;;;;;:::o;9584:606:71:-;2035:13:112;;983:2869;9737:15:71;9702:17;9762:18;;9801:1;9795:7;;9791:234;;9584:606;10049:53;;13105:230;13112:10;;;;;;-1:-1:-1;;;10120:8:71;;;:63;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;2035:13:112;9702:17:71;14439:109;;;983:2869:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;983:2869:112;;;;;;;;;14439:109:71;9702:17;14439:109;983:2869:112;14439:109:71;;;;983:2869:112;;;;;-1:-1:-1;13189:136:71;983:2869:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;983:2869:112;;;;;;;2035:13;9702:17:71;14439:109;983:2869:112;14439:109:71;;;;983:2869:112;;;;;9870:48:71;9866:149;983:2869:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;7855:367:25;8190:24;7855:367;1941:33:110;:24;983:2869:112;;;;;;;;;;-1:-1:-1;983:2869:112;-1:-1:-1;;;;;;;;;;;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;8089:48:25;-1:-1:-1;8089:48:25;;-1:-1:-1;;;;;983:2869:112;;;;;1941:15:110;983:2869:112;;;;;;;1941:33:110;8190:24:25;;:::i;10310:206:71:-;983:2869:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;983:2869:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;983:2869:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;983:2869:112;;;4221:92:31;;;;983:2869:112;2073:95:31;983:2869:112;;;2073:95:31;;983:2869:112;2073:95:31;;;983:2869:112;4284:13:31;2073:95;;;983:2869:112;4307:4:31;2073:95;;;983:2869:112;2073:95:31;4221:92;;2073:95;983:2869:112;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;3445:249:65;983:2869:112;3445:249:65;983:2869:112;;;;;;4211:103:31;;-1:-1:-1;;;3445:249:65;;;;;;;;;4946:176:31;:::o;6887:260:63:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;:::-;7105:8;;;;;:::i;2100:222:29:-;-1:-1:-1;;;;;983:2869:112;;-1:-1:-1;983:2869:112;;;972:64:29;983:2869:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;983:2869:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;983:2869:112;;;;2270:35:29;;;983:2869:112;;;;;;;;;;12018:60:27;2323:83:50;1019:819;;;;;;;4685:19:110;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;983:2869:112;8837:64:26;983:2869:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;983:2869:112;;-1:-1:-1;;;7191:17:26;;;;;983:2869:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;8998:846:25:-;-1:-1:-1;;;;;983:2869:112;;;;8998:846:25;;983:2869:112;;;;9152:10:25;;;;;:24;;8998:846;9148:690;;8998:846;;;;;;:::o;9148:690::-;9196:18;9192:317;;9148:690;9526:16;;;9522:306;;9148:690;;;;;9522:306;9769:44;9628:26;9702;9628;9601:145;9628:26;;:::i;:::-;9702;;:::i;:::-;9601:145;;:::i;:::-;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;9769:44:25;9522:306;;;;;9192:317;9300:28;;;:::i;:::-;9381:26;;;:::i;:::-;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;10716:14:25;;;:::i;:::-;983:2869:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;983:2869:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;983:2869:112;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:68;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;983:2869:112;18246:1:68;983:2869:112;22284:6:68;;;;:::i;:::-;983:2869:112;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;983:2869:112;23216:28:68;983:2869:112;;18080:5181:68;:::o;19887:61::-;18246:1;983:2869:112;19887:61:68;;19787:87;983:2869:112;;;;;19787:87:68;;;19687;983:2869:112;;;;;19687:87:68;;;19585:89;983:2869:112;;;;;19585:89:68;;;19482:90;983:2869:112;;;;;19482:90:68;;;19379;983:2869:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;983:2869:112;-1:-1:-1;983:2869:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;983:2869:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;983:2869:112;14439:109:71;;;-1:-1:-1;14439:109:71;;983:2869:112;;;;;-1:-1:-1;13189:136:71;983:2869:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;983:2869:112;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;983:2869:112;;6579:20:63;6575:113;;6698:49;-1:-1:-1;6698:49:63;-1:-1:-1;5203:1551:63;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:63;6541:24;6615:62;-1:-1:-1;6615:62:63;:::o;6266:164::-;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;983:2869:112:-;;-1:-1:-1;983:2869:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;983:2869:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;983:2869:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;983:2869:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;983:2869:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;983:2869:112;;-1:-1:-1;;;7634:46:63;;;;;983:2869:112;;;;;12018:60:27;7563:243:63;983:2869:112;;7710:30:63;983:2869:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;983:2869:112;;-1:-1:-1;;;7763:32:63;;;;;983:2869:112;;;;;;12018:60:27;4421:582:56;;4593:8;;-1:-1:-1;983:2869:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;983:2869:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;983:2869:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;983:2869:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;983:2869:112;;;4917:24:56;;;983:2869:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;4174:218:69;-1:-1:-1;;;;;983:2869:112;4254:25:69;;;4250:105;;983:2869:112;4174:218:69;:::o;4250:105::-;983:2869:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;983:2869:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;10716:14:25;;;:::i;:::-;983:2869:112;;;;;;;;;8310:38:71;;;:::i;983:2869:112:-;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;;6360:12;;;983:2869:112;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;983:2869:112;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;983:2869:112;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;983:2869:112;;8310:38:71;;-1:-1:-1;;;;;983:2869:112;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;983:2869:112;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;983:2869:112;;;;;;6360:12:94;983:2869:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;7058:687:31;983:2869:112;;:::i;:::-;;;;7230:22:31;;;;983:2869:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;983:2869:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;983:2869:112;;:::i;:::-;;;;8147:25:31;;;;983:2869:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;983:2869:112;8541:18:31;;;;8579:20;:::o;983:2869:112:-;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;983:2869:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;983:2869:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;983:2869:112;;;;;;;;;;;;;;;;;12285:19:71;983:2869:112;;12423:25:71;;:::o;12247:163::-;983:2869:112;;;12343:52:71;983:2869:112;12353:41:71;983:2869:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;983:2869:112;;12353:41:71;;;983:2869:112;12343:52:71;:::i;:::-;12247:163;;12099:89;983:2869:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;983:2869:112;;12479:52:71;983:2869:112;12489:41:71;983:2869:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;983:2869:112;;12489:41:71;;;983:2869:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;10695:389::-;983:2869:112;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;983:2869:112;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;983:2869:112;11014:1:71;983:2869:112;;;;;;;11030:37:71;:::o","linkReferences":{},"immutableReferences":{"72428":[{"start":2360,"length":32},{"start":9453,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(bytes)":"7bd00ae8","_VaultVotes_init(bytes)":"0eac105e","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","decimals()":"313ce567","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","eip712Domain()":"84b0196e","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nonces(address)":"7ecebe00","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SafeSupplyExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":\"VaultVotesImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65\",\"dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7\",\"dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"type":"error","name":"ERC5805FutureLookup"},{"inputs":[],"type":"error","name":"ERC6372InconsistentClock"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[],"type":"error","name":"SafeSupplyExceeded"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultVotes_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"decimals()":{"details":"Returns the decimals places of the token."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {IERC-5267}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the next unused nonce for an address."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultVotesImplementation.sol":"VaultVotesImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol":{"keccak256":"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b","urls":["bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0","dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol":{"keccak256":"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4","urls":["bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827","dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol":{"keccak256":"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5","urls":["bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33","dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a","urls":["bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65","dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed","urls":["bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7","dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"baseImplementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_VaultTokenized_init","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_VaultVotes_init","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC5805FutureLookup","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"clock","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC6372InconsistentClock","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeSupplyExceeded","inputs":[]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034607a57601f61345438819003918201601f19168301916001600160401b03831184841017607e578084926040948552833981010312607a57604b60206045836092565b92016092565b9060805260a0526040516133ae90816100a6823960805181611dde015260a05181818161092d01526125080152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b0382168203607a5756fe6080604052600436106124fe575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124fe57611a92565b611a75565b611a57565b611a3a565b611a0b565b6119d1565b6119a6565b61197e565b611956565b611939565b61186c565b611839565b6117ff565b6117e2565b6117ba565b611790565b61175f565b611737565b6116fd565b6116af565b611666565b61162c565b611608565b6115e0565b61155e565b611541565b611505565b6114e8565b611436565b61140b565b611369565b611299565b6111bc565b611059565b61101c565b610f75565b610f50565b610f2b565b610f06565b610ecc565b610e92565b610e68565b610e46565b610e1e565b610dd9565b610db4565b610d66565b610d45565b610c9a565b610b78565b610b3e565b610aa7565b610a87565b610a5f565b610a42565b610994565b6108c5565b61088b565b610869565b61082f565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061329983398151915280549061046682611b10565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b92565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fac565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b5050610689611ddc565b60405161069581611b5c565b600a8152602090695661756c74566f74657360b01b6020820152604051906106bc82611b5c565b60019260018352603160f81b60208401526106d561253a565b6106dd61253a565b8151906001600160401b03821161082a575f805160206132b9833981519152926107108361070b8654611b10565b61257b565b602091601f84116001146107a9575061074c955061074592915f918361079e575b50508160011b915f199060031b1c19161790565b9055612739565b6107745f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61079c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610731565b5f805160206132b98339815191525f529195601f198416905f80516020613319833981519152935f915b838310610813575050509583929160019461074c98106107fb575b505050811b019055612739565b01515f1960f88460031b161c191690555f80806107ee565b848a015186559881019894850194918101916107d3565b611b48565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f366003190112610528576020610883611e83565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098361092b6109606109516108ea61052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b92565b7f00000000000000000000000000000000000000000000000000000000000000006128fb565b60208082518301019101611f43565b9290915f6040518281525f8051602061333983398151915260203392a333611f59565b604080519182526020820192909252f35b34610528576060366003190112610528576109ad61052c565b6109b5610542565b604435906109c63361059985610fac565b5492600184016109e7575b6109db9350612045565b60405160018152602090f35b828410610a1c576001600160a01b038116156105fe5733156105e657826109db9403610a163361059984610fac565b556109d1565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b39575f90610afc575b60405160ff919091168152602090f35b506020813d602011610b31575b81610b1660209383611b92565b810103126105285761049f9051610b2c81611861565b610aec565b3d9150610b09565b611d36565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9161052c565b60243590610b9e42612193565b9065ffffffffffff91828116841015610c715750610bbe610bc491610fe4565b92612193565b8254905f908260058111610c23575b50610bdf935084612b95565b9081610c0657505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1261049f926121d9565b905f5260205f20015460301c610bec565b9092610c2e82612a6a565b8203918211610c6c57610bdf94865f52808360205f20015416908516105f14610c5a5750915b5f610bd3565b929150610c66906121e7565b90610c54565b6121c5565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cb361052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cf1906109519061092b816064810161091d565b916040518381525f5f80516020613339833981519152602060018060a01b03851693a36001600160d01b03610d24611e83565b11610d33578261098391611fb2565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d8581611b5c565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610dfd61052c565b165f525f80516020613279833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b346105285760203660031901126105285761079c610e6261052c565b33612327565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610f9661052c565b165f52600e602052602061088360405f20611f0f565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361103d61052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761106736610643565b61106f611ddc565b8101604082820312610528576001600160401b039180358381116105285782611099918301611d41565b906020926020820135858111610528576110b39201611d41565b916110bc61253a565b6110c461253a565b815193841161082a575f80516020613299833981519152916110ef856110ea8554611b10565b6125e1565b602091601f8611600114611129575093806111229261079c965f9261079e5750508160011b915f199060031b1c19161790565b905561281f565b5f805160206132998339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a457505091600193918761079c98941061118c575b505050811b01905561281f565b01515f1960f88460031b161c191690555f808061117f565b80600186978294978701518155019601940190611165565b34610528576020366003190112610528576001600160a01b036111dd61052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124790949194600f60f81b845261123960209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611285575050505090565b835185529381019392810192600101611277565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611340575b15611303576112df611bb3565b6112e7611c75565b9061049f6112f3611d87565b6040519384933091469186611213565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d2565b346105285760203660031901126105285760043561138642612193565b65ffffffffffff81168210156113e4576113a76113a283612193565b6121f5565b6001600160d01b038116156113da576113c261049f91611e34565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113ca565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142642612193565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f805160206132d983398151915280549061146482611b10565b808552916020916001918281169081156104fb57506001146114905761049f8661049381880382611b92565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d5575050505081016020016104938261049f5f610483565b80548686018401529382019381016114b8565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153861153361152e61052c565b610fe4565b6123b9565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157761052c565b6024356001600160401b038111610528575f9161159983923690600401610616565b90816040519283928337810184815203915af46115d86115b7611dad565b9161091d604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a6611684610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f16116cf610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178561177b61052c565b6024359033612045565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188561052c565b6044359060243560643561189881611861565b8342116119205761191461079c9461191b926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118fc82611b77565b61190f60a43593608435935190206123e1565b612470565b9182612488565b612327565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a6611a2961052c565b610599611a34610542565b91610fac565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aeb61095161091d61092b611ab761052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f8051602061333983398151915260203392a36109838133611f59565b90600182811c92168015611b3e575b6020831014611b2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b1f565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761082a57604052565b60a081019081106001600160401b0382111761082a57604052565b90601f801991011681019081106001600160401b0382111761082a57604052565b604051905f825f805160206132b983398151915291825492611bd484611b10565b80845293602091600191828116908115611c4f5750600114611c02575b505050611c0092500383611b92565b565b5f9081525f805160206133198339815191529590935091905b828410611c375750611c009450505081016020015f8080611bf1565b85548885018301529485019487945092810192611c1b565b9250505060209250611c0094915060ff191682840152151560051b8201015f8080611bf1565b604051905f825f805160206132f983398151915291825492611c9684611b10565b80845293602091600191828116908115611c4f5750600114611cc157505050611c0092500383611b92565b5f9081525f805160206133598339815191529590935091905b828410611cf65750611c009450505081016020015f8080611bf1565b85548885018301529485019487945092810192611cda565b60405190611c0082611b5c565b6001600160401b03811161082a57601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d5882611d1b565b92611d666040519485611b92565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b0382111761082a576040525f8152905f368137565b3d15611dd7573d90611dbe82611d1b565b91611dcc6040519384611b92565b82523d5f602084013e565b606090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303611e0e57565b604051631966391b60e11b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e6957600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e20565b8054821015611e69575f5260205f2001905f90565b600a5480611ed657505f5b6001600160d01b03811615611ed157600b54811015611e6957600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c6c57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e8e565b611f18816123b9565b6001600160d01b03811615611f3d576001611f339201611e6e565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061327983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0093929081169116612918565b5f805160206132798339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0093929081169116612918565b6001600160a01b039081165f9081525f805160206132798339815191526020526040808220549383168252902054611c0093929082169116612918565b6001600160a01b038082169493929190851561217b5782168015612163576001600160a01b0382165f908152600e6020526040902061208890611f0f565b611f0f565b95848710612134576120c5611c0096976120b28560018060a01b03165f52600e60205260405f2090565b90876120bd42612193565b910391612e24565b50506001600160a01b0384165f908152600e60205260409020612114906120eb42612193565b6001600160a01b0387165f908152600e60205260409020889061210d90611f0f565b0191612e24565b50506040518581525f8051602061333983398151915290602090a3612008565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff908181116121a6571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c6c57565b9060018201809211610c6c57565b600a8054915f9280600581116122c0575b5092905b838210612254575050508061221e57505f90565b612227906121d9565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c6c57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122ae5750925b919061220a565b9392506122ba906121e7565b916122a7565b906122ca82612a6a565b8203918211610c6c57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461231657505b5f612206565b9350612321906121e7565b92612310565b611c00916123b361208360018060a01b0393848116805f525f8051602061327983398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612918565b8054806123c65750505f90565b5f19918183810111610c6c575f5260205f2001015460301c90565b6123e9612ee6565b6123f1613009565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b0384111761082a5760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161247f93612bf4565b90929192612c94565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124d3575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612536573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561256957565b604051631afcd79f60e31b8152600490fd5b601f8111612587575050565b5f805160206132b98339815191525f525f80516020613319833981519152906020601f840160051c830193106125d7575b601f0160051c01905b8181106125cc575050565b5f81556001016125c1565b90915081906125b8565b601f81116125ed575050565b5f805160206132998339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612650575b601f0160051c01905b818110612645575050565b5f815560010161263a565b9091508190612631565b601f8111612666575050565b5f805160206132f98339815191525f525f80516020613359833981519152906020601f840160051c830193106126b6575b601f0160051c01905b8181106126ab575050565b5f81556001016126a0565b9091508190612697565b601f81116126cc575050565b5f805160206132d98339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061272f575b601f0160051c01905b818110612724575050565b5f8155600101612719565b9091508190612710565b9081516001600160401b03811161082a575f805160206132f98339815191529061276c816127678454611b10565b61265a565b602080601f83116001146127a15750819061279d9394955f9261079e5750508160011b915f199060031b1c19161790565b9055565b90601f198316956127cc5f805160206132f98339815191525f525f8051602061335983398151915290565b925f905b888210612807575050836001959697106127ef575b505050811b019055565b01515f1960f88460031b161c191690555f80806127e5565b806001859682949686015181550195019301906127d0565b9081516001600160401b03811161082a575f805160206132d9833981519152906128528161284d8454611b10565b6126c0565b602080601f83116001146128835750819061279d9394955f9261079e5750508160011b915f199060031b1c19161790565b90601f198316956128c15f805160206132d98339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106128e3575050836001959697106127ef57505050811b019055565b806001859682949686015181550195019301906128c5565b5f8061043593602081519101845af4612912611dad565b91612d21565b6001600160a01b03808316939291908116908185141580612a43575b612940575b5050505050565b816129b5575b505082612955575b8080612939565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249161298c61298661299293610fe4565b91612d84565b90612db7565b604080516001600160d01b039384168152919092166020820152a25f808061294e565b6129be90610fe4565b6129c784612d84565b6129d042612193565b6001600160d01b039182806129e4866123b9565b169116900392828411610c6c577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a3992612a2092613162565b6040805192851683529316602082015291829190820190565b0390a25f80612946565b50831515612934565b8115612a56570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612b83575b612b2b612b21612b17612b0d612b03612af9612b3797600488600160401b612b329a1015612b76575b640100000000811015612b69575b62010000811015612b5c575b610100811015612b50575b6010811015612b44575b1015612b3c575b60030260011c612af2818b612a4c565b0160011c90565b612af2818a612a4c565b612af28189612a4c565b612af28188612a4c565b612af28187612a4c565b612af28186612a4c565b8093612a4c565b821190565b900390565b60011b612ae2565b811c9160021b91612adb565b60081c91811b91612ad1565b60101c9160081b91612ac6565b60201c9160101b91612aba565b60401c9160201b91612aac565b50600160401b9050608082901c612a83565b91905b838210612ba55750505090565b9091928083169080841860011c8201809211610c6c57845f5265ffffffffffff808360205f20015416908416105f14612be25750925b9190612b98565b939250612bee906121e7565b91612bdb565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c6b579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b39575f516001600160a01b03811615612c6157905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c8057565b634e487b7160e01b5f52602160045260245ffd5b612c9d81612c76565b80612ca6575050565b612caf81612c76565b60018103612cc95760405163f645eedf60e01b8152600490fd5b612cd281612c76565b60028103612cf35760405163fce698f760e01b815260048101839052602490fd5b80612cff600392612c76565b14612d075750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d485750805115612d3657805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d7b575b612d59575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d51565b6001600160d01b0390818111612d98571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612dc142612193565b6001600160d01b03918280612dd5866123b9565b16911601918211610c6c5761066d92613162565b90815491600160401b83101561082a5782612e0c916001611c0095018155611e6e565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612eb6575b5084612e418461323f565b50949092845493612e5183611f0f565b9681612ea1575b5015612e7e575050505f198101908111610c6c57612e0c8591612e7a93611e6e565b9190565b612e7a949293612e9a926001600160d01b039091169190613162565b5050612de9565b65ffffffffffff83811691161490505f612e58565b600160401b81101561082a57806001612ed29201845583611e6e565b8154905f199060031b1b191690555f612e36565b6040515f905f805160206132b98339815191529181835491612f0783611b10565b9283835260209060208401966001916001811690815f14612fe55750600114612f98575b505050612f3a92500382611b92565b51908115612f46572090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f735790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b5f9081525f805160206133198339815191529590935091905b828410612fcd5750612f3a9450505081016020015f8080612f2b565b85548785018301529485019486945092810192612fb1565b9250505060209250612f3a94915060ff19168652151560051b8201015f8080612f2b565b6040515f905f805160206132f9833981519152918183549161302a83611b10565b9283835260209060208401966001916001811690815f146130e35750600114613096575b50505061305d92500382611b92565b51908115613069572090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f735790565b5f9081525f805160206133598339815191529590935091905b8284106130cb575061305d9450505081016020015f808061304e565b855487850183015294850194869450928101926130af565b925050506020925061305d94915060ff19168652151560051b8201015f808061304e565b8054600160401b81101561082a5761312491600182018155611e6e565b61314f57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561321557613179613184916121d9565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613203578793036131ca57506131c392509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506131fe916131ea6131dc611d0e565b65ffffffffffff9093168352565b6001600160d01b0386166020830152613107565b6131c3565b604051632520601d60e01b8152600490fd5b509061323a916132266131dc611d0e565b6001600160d01b0385166020830152613107565b5f9190565b8054806132505750505f905f905f90565b5f19918183810111610c6c575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10342ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57dddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75a26469706673582212208b143da7c09df0f703378c977cff27a276d20a22dea4cb4a4d7f45dca32096bc64736f6c63430008190033","sourceMap":"983:2925:113:-:0;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;358:17:106;;;1434:40:111;;983:2925:113;;;;;;;;358:17:106;983:2925:113;;;;;1434:40:111;983:2925:113;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;-1:-1:-1;983:2925:113;;;;;-1:-1:-1;983:2925:113;;;;-1:-1:-1;;;;;983:2925:113;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106124fe575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124fe57611a92565b611a75565b611a57565b611a3a565b611a0b565b6119d1565b6119a6565b61197e565b611956565b611939565b61186c565b611839565b6117ff565b6117e2565b6117ba565b611790565b61175f565b611737565b6116fd565b6116af565b611666565b61162c565b611608565b6115e0565b61155e565b611541565b611505565b6114e8565b611436565b61140b565b611369565b611299565b6111bc565b611059565b61101c565b610f75565b610f50565b610f2b565b610f06565b610ecc565b610e92565b610e68565b610e46565b610e1e565b610dd9565b610db4565b610d66565b610d45565b610c9a565b610b78565b610b3e565b610aa7565b610a87565b610a5f565b610a42565b610994565b6108c5565b61088b565b610869565b61082f565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061329983398151915280549061046682611b10565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b92565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fac565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b5050610689611ddc565b60405161069581611b5c565b600a8152602090695661756c74566f74657360b01b6020820152604051906106bc82611b5c565b60019260018352603160f81b60208401526106d561253a565b6106dd61253a565b8151906001600160401b03821161082a575f805160206132b9833981519152926107108361070b8654611b10565b61257b565b602091601f84116001146107a9575061074c955061074592915f918361079e575b50508160011b915f199060031b1c19161790565b9055612739565b6107745f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b61079c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610731565b5f805160206132b98339815191525f529195601f198416905f80516020613319833981519152935f915b838310610813575050509583929160019461074c98106107fb575b505050811b019055612739565b01515f1960f88460031b161c191690555f80806107ee565b848a015186559881019894850194918101916107d3565b611b48565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f366003190112610528576020610883611e83565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098361092b6109606109516108ea61052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b92565b7f00000000000000000000000000000000000000000000000000000000000000006128fb565b60208082518301019101611f43565b9290915f6040518281525f8051602061333983398151915260203392a333611f59565b604080519182526020820192909252f35b34610528576060366003190112610528576109ad61052c565b6109b5610542565b604435906109c63361059985610fac565b5492600184016109e7575b6109db9350612045565b60405160018152602090f35b828410610a1c576001600160a01b038116156105fe5733156105e657826109db9403610a163361059984610fac565b556109d1565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b39575f90610afc575b60405160ff919091168152602090f35b506020813d602011610b31575b81610b1660209383611b92565b810103126105285761049f9051610b2c81611861565b610aec565b3d9150610b09565b611d36565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9161052c565b60243590610b9e42612193565b9065ffffffffffff91828116841015610c715750610bbe610bc491610fe4565b92612193565b8254905f908260058111610c23575b50610bdf935084612b95565b9081610c0657505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1261049f926121d9565b905f5260205f20015460301c610bec565b9092610c2e82612a6a565b8203918211610c6c57610bdf94865f52808360205f20015416908516105f14610c5a5750915b5f610bd3565b929150610c66906121e7565b90610c54565b6121c5565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cb361052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cf1906109519061092b816064810161091d565b916040518381525f5f80516020613339833981519152602060018060a01b03851693a36001600160d01b03610d24611e83565b11610d33578261098391611fb2565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d8581611b5c565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610dfd61052c565b165f525f80516020613279833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b346105285760203660031901126105285761079c610e6261052c565b33612327565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610f9661052c565b165f52600e602052602061088360405f20611f0f565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361103d61052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761106736610643565b61106f611ddc565b8101604082820312610528576001600160401b039180358381116105285782611099918301611d41565b906020926020820135858111610528576110b39201611d41565b916110bc61253a565b6110c461253a565b815193841161082a575f80516020613299833981519152916110ef856110ea8554611b10565b6125e1565b602091601f8611600114611129575093806111229261079c965f9261079e5750508160011b915f199060031b1c19161790565b905561281f565b5f805160206132998339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a457505091600193918761079c98941061118c575b505050811b01905561281f565b01515f1960f88460031b161c191690555f808061117f565b80600186978294978701518155019601940190611165565b34610528576020366003190112610528576001600160a01b036111dd61052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124790949194600f60f81b845261123960209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611285575050505090565b835185529381019392810192600101611277565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611340575b15611303576112df611bb3565b6112e7611c75565b9061049f6112f3611d87565b6040519384933091469186611213565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d2565b346105285760203660031901126105285760043561138642612193565b65ffffffffffff81168210156113e4576113a76113a283612193565b6121f5565b6001600160d01b038116156113da576113c261049f91611e34565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113ca565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142642612193565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f805160206132d983398151915280549061146482611b10565b808552916020916001918281169081156104fb57506001146114905761049f8661049381880382611b92565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d5575050505081016020016104938261049f5f610483565b80548686018401529382019381016114b8565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153861153361152e61052c565b610fe4565b6123b9565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157761052c565b6024356001600160401b038111610528575f9161159983923690600401610616565b90816040519283928337810184815203915af46115d86115b7611dad565b9161091d604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a6611684610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f16116cf610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178561177b61052c565b6024359033612045565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188561052c565b6044359060243560643561189881611861565b8342116119205761191461079c9461191b926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118fc82611b77565b61190f60a43593608435935190206123e1565b612470565b9182612488565b612327565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a6611a2961052c565b610599611a34610542565b91610fac565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aeb61095161091d61092b611ab761052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f8051602061333983398151915260203392a36109838133611f59565b90600182811c92168015611b3e575b6020831014611b2a57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b1f565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761082a57604052565b60a081019081106001600160401b0382111761082a57604052565b90601f801991011681019081106001600160401b0382111761082a57604052565b604051905f825f805160206132b983398151915291825492611bd484611b10565b80845293602091600191828116908115611c4f5750600114611c02575b505050611c0092500383611b92565b565b5f9081525f805160206133198339815191529590935091905b828410611c375750611c009450505081016020015f8080611bf1565b85548885018301529485019487945092810192611c1b565b9250505060209250611c0094915060ff191682840152151560051b8201015f8080611bf1565b604051905f825f805160206132f983398151915291825492611c9684611b10565b80845293602091600191828116908115611c4f5750600114611cc157505050611c0092500383611b92565b5f9081525f805160206133598339815191529590935091905b828410611cf65750611c009450505081016020015f8080611bf1565b85548885018301529485019487945092810192611cda565b60405190611c0082611b5c565b6001600160401b03811161082a57601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d5882611d1b565b92611d666040519485611b92565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b0382111761082a576040525f8152905f368137565b3d15611dd7573d90611dbe82611d1b565b91611dcc6040519384611b92565b82523d5f602084013e565b606090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303611e0e57565b604051631966391b60e11b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e6957600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e20565b8054821015611e69575f5260205f2001905f90565b600a5480611ed657505f5b6001600160d01b03811615611ed157600b54811015611e6957600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c6c57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e8e565b611f18816123b9565b6001600160d01b03811615611f3d576001611f339201611e6e565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061327983398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0093929081169116612918565b5f805160206132798339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0093929081169116612918565b6001600160a01b039081165f9081525f805160206132798339815191526020526040808220549383168252902054611c0093929082169116612918565b6001600160a01b038082169493929190851561217b5782168015612163576001600160a01b0382165f908152600e6020526040902061208890611f0f565b611f0f565b95848710612134576120c5611c0096976120b28560018060a01b03165f52600e60205260405f2090565b90876120bd42612193565b910391612e24565b50506001600160a01b0384165f908152600e60205260409020612114906120eb42612193565b6001600160a01b0387165f908152600e60205260409020889061210d90611f0f565b0191612e24565b50506040518581525f8051602061333983398151915290602090a3612008565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff908181116121a6571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c6c57565b9060018201809211610c6c57565b600a8054915f9280600581116122c0575b5092905b838210612254575050508061221e57505f90565b612227906121d9565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c6c57845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122ae5750925b919061220a565b9392506122ba906121e7565b916122a7565b906122ca82612a6a565b8203918211610c6c57600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f1461231657505b5f612206565b9350612321906121e7565b92612310565b611c00916123b361208360018060a01b0393848116805f525f8051602061327983398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612918565b8054806123c65750505f90565b5f19918183810111610c6c575f5260205f2001015460301c90565b6123e9612ee6565b6123f1613009565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b0384111761082a5760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161247f93612bf4565b90929192612c94565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124d3575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15612536573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561256957565b604051631afcd79f60e31b8152600490fd5b601f8111612587575050565b5f805160206132b98339815191525f525f80516020613319833981519152906020601f840160051c830193106125d7575b601f0160051c01905b8181106125cc575050565b5f81556001016125c1565b90915081906125b8565b601f81116125ed575050565b5f805160206132998339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612650575b601f0160051c01905b818110612645575050565b5f815560010161263a565b9091508190612631565b601f8111612666575050565b5f805160206132f98339815191525f525f80516020613359833981519152906020601f840160051c830193106126b6575b601f0160051c01905b8181106126ab575050565b5f81556001016126a0565b9091508190612697565b601f81116126cc575050565b5f805160206132d98339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061272f575b601f0160051c01905b818110612724575050565b5f8155600101612719565b9091508190612710565b9081516001600160401b03811161082a575f805160206132f98339815191529061276c816127678454611b10565b61265a565b602080601f83116001146127a15750819061279d9394955f9261079e5750508160011b915f199060031b1c19161790565b9055565b90601f198316956127cc5f805160206132f98339815191525f525f8051602061335983398151915290565b925f905b888210612807575050836001959697106127ef575b505050811b019055565b01515f1960f88460031b161c191690555f80806127e5565b806001859682949686015181550195019301906127d0565b9081516001600160401b03811161082a575f805160206132d9833981519152906128528161284d8454611b10565b6126c0565b602080601f83116001146128835750819061279d9394955f9261079e5750508160011b915f199060031b1c19161790565b90601f198316956128c15f805160206132d98339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106128e3575050836001959697106127ef57505050811b019055565b806001859682949686015181550195019301906128c5565b5f8061043593602081519101845af4612912611dad565b91612d21565b6001600160a01b03808316939291908116908185141580612a43575b612940575b5050505050565b816129b5575b505082612955575b8080612939565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249161298c61298661299293610fe4565b91612d84565b90612db7565b604080516001600160d01b039384168152919092166020820152a25f808061294e565b6129be90610fe4565b6129c784612d84565b6129d042612193565b6001600160d01b039182806129e4866123b9565b169116900392828411610c6c577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a3992612a2092613162565b6040805192851683529316602082015291829190820190565b0390a25f80612946565b50831515612934565b8115612a56570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612b83575b612b2b612b21612b17612b0d612b03612af9612b3797600488600160401b612b329a1015612b76575b640100000000811015612b69575b62010000811015612b5c575b610100811015612b50575b6010811015612b44575b1015612b3c575b60030260011c612af2818b612a4c565b0160011c90565b612af2818a612a4c565b612af28189612a4c565b612af28188612a4c565b612af28187612a4c565b612af28186612a4c565b8093612a4c565b821190565b900390565b60011b612ae2565b811c9160021b91612adb565b60081c91811b91612ad1565b60101c9160081b91612ac6565b60201c9160101b91612aba565b60401c9160201b91612aac565b50600160401b9050608082901c612a83565b91905b838210612ba55750505090565b9091928083169080841860011c8201809211610c6c57845f5265ffffffffffff808360205f20015416908416105f14612be25750925b9190612b98565b939250612bee906121e7565b91612bdb565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c6b579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b39575f516001600160a01b03811615612c6157905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c8057565b634e487b7160e01b5f52602160045260245ffd5b612c9d81612c76565b80612ca6575050565b612caf81612c76565b60018103612cc95760405163f645eedf60e01b8152600490fd5b612cd281612c76565b60028103612cf35760405163fce698f760e01b815260048101839052602490fd5b80612cff600392612c76565b14612d075750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d485750805115612d3657805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d7b575b612d59575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d51565b6001600160d01b0390818111612d98571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612dc142612193565b6001600160d01b03918280612dd5866123b9565b16911601918211610c6c5761066d92613162565b90815491600160401b83101561082a5782612e0c916001611c0095018155611e6e565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612eb6575b5084612e418461323f565b50949092845493612e5183611f0f565b9681612ea1575b5015612e7e575050505f198101908111610c6c57612e0c8591612e7a93611e6e565b9190565b612e7a949293612e9a926001600160d01b039091169190613162565b5050612de9565b65ffffffffffff83811691161490505f612e58565b600160401b81101561082a57806001612ed29201845583611e6e565b8154905f199060031b1b191690555f612e36565b6040515f905f805160206132b98339815191529181835491612f0783611b10565b9283835260209060208401966001916001811690815f14612fe55750600114612f98575b505050612f3a92500382611b92565b51908115612f46572090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f735790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b5f9081525f805160206133198339815191529590935091905b828410612fcd5750612f3a9450505081016020015f8080612f2b565b85548785018301529485019486945092810192612fb1565b9250505060209250612f3a94915060ff19168652151560051b8201015f8080612f2b565b6040515f905f805160206132f9833981519152918183549161302a83611b10565b9283835260209060208401966001916001811690815f146130e35750600114613096575b50505061305d92500382611b92565b51908115613069572090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f735790565b5f9081525f805160206133598339815191529590935091905b8284106130cb575061305d9450505081016020015f808061304e565b855487850183015294850194869450928101926130af565b925050506020925061305d94915060ff19168652151560051b8201015f808061304e565b8054600160401b81101561082a5761312491600182018155611e6e565b61314f57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b8054929392801561321557613179613184916121d9565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411613203578793036131ca57506131c392509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506131fe916131ea6131dc611d0e565b65ffffffffffff9093168352565b6001600160d01b0386166020830152613107565b6131c3565b604051632520601d60e01b8152600490fd5b509061323a916132266131dc611d0e565b6001600160d01b0385166020830152613107565b5f9190565b8054806132505750505f905f905f90565b5f19918183810111610c6c575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10342ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57dddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75a26469706673582212208b143da7c09df0f703378c977cff27a276d20a22dea4cb4a4d7f45dca32096bc64736f6c63430008190033","sourceMap":"983:2925:113:-:0;;;;;;2603:64:50;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;983:2925:113;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;-1:-1:-1;;983:2925:113;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;983:2925:113;;;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;-1:-1:-1;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;983:2925:113;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2925:113;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;983:2925:113;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;983:2925:113;;;;;;;;;;;;;;;;11334:29:27;983:2925:113;;;;;;11415:31:27;983:2925:113;966:10:28;11415:31:27;;983:2925:113;;;10117:4:27;983:2925:113;;;11235:90:27;983:2925:113;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;983:2925:113;;;11283:31:27;11137:89;983:2925:113;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;983:2925:113;;;11183:32:27;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;983:2925:113;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;236:63:106;;;;:::i;:::-;983:2925:113;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2925:113;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2925:113;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;983:2925:113;;;-1:-1:-1;;;;;983:2925:113;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2925:113;;-1:-1:-1;983:2925:113;;;-1:-1:-1;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;983:2925:113;2806:64:31;983:2925:113;;3875:17:31;3902:20;983:2925:113;3902:16:31;983:2925:113;;3902:20:31;983:2925:113;;;;;-1:-1:-1;983:2925:113;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;-1:-1:-1;;983:2925:113;;;-1:-1:-1;;;;;;;;;;;983:2925:113;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2925:113;;;;;;;757:38:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;1842:22:111;;:::i;:::-;983:2925:113;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;612:37:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;3137:6;3188:48:111;3123:156;3147:90;983:2925:113;;:::i;:::-;;;-1:-1:-1;;;983:2925:113;3188:48:111;;;-1:-1:-1;;;;;983:2925:113;;;;3188:48:111;;;983:2925:113;;;;;;;;;;;;;;;;3188:48:111;;983:2925:113;;3188:48:111;;;;;;:::i;:::-;3147:19;:90;:::i;:::-;983:2925:113;;;;3123:156:111;;;;;;:::i;:::-;983:2925:113;;;-1:-1:-1;983:2925:113;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;3304:10:111;3295:40;;3304:10;3137:6:113;:::i;:::-;983:2925;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;983:2925:113;;11910:37:27;;;11906:310;;983:2925:113;6198:5:27;;;;:::i;:::-;983:2925:113;;4867:13:27;983:2925:113;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;983:2925:113;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;983:2925:113;6198:5:27;983:2925:113;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;983:2925:113;11906:310:27;;11963:130;983:2925:113;;-1:-1:-1;;;12018:60:27;;966:10:28;983:2925:113;12018:60:27;;983:2925:113;;;;;;;;;;;;;;;12018:60:27;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;;4327:34:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;2227:28:109;983:2925:113;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;-1:-1:-1;;;1645:37:111;;983:2925:113;1645:37:111;;983:2925:113;;;;;;;;-1:-1:-1;;;;;983:2925:113;1645:37:111;;;;;;983:2925:113;1645:37:111;;;983:2925:113;;;;;;;;;;;;;1645:37:111;;;;;;;;;;;;;;;;:::i;:::-;;;983:2925:113;;;;;;;;;;:::i;:::-;1645:37:111;;;;;-1:-1:-1;1645:37:111;;;;:::i;983:2925:113:-;;;;;;-1:-1:-1;;983:2925:113;;;;;;;1479:40:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;983:2925:113;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;983:2925:113;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;983:2925:113;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;983:2925:113;-1:-1:-1;10120:63:71;983:2925:113;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;10120:63:71;10168:7;983:2925:113;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;983:2925:113;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;983:2925:113;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;983:2925:113;;;;;9870:48:71;9866:149;983:2925:113;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;983:2925:113;;:::i;5073:115:25:-;983:2925:113;;-1:-1:-1;;;5129:48:25;;983:2925:113;5129:48:25;;983:2925:113;;;;;;;;;;;;;;12018:60:27;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;;;:::i;:::-;;;-1:-1:-1;;;983:2925:113;2352:52:111;;;-1:-1:-1;;;;;983:2925:113;;;2352:52:111;;;983:2925:113;;;;;;;;;2287:160:111;;2311:94;;2352:52;983:2925:113;;;;2352:52:111;983:2925:113;2287:160:111;983:2925:113;;;;;;-1:-1:-1;;;;;;;;;;;;983:2925:113;;;;;;;;2463:46:111;;-1:-1:-1;;;;;2392:22:113;;:::i;:::-;:42;2388:100;;2543:12;;;;:::i;2388:100::-;983:2925;;-1:-1:-1;;;2457:20:113;;983:2925;;2457:20;983:2925;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2925:113;;;;;;2391:34:109;983:2925:113;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;-1:-1:-1;;;;;983:2925:113;;;:::i;:::-;;-1:-1:-1;983:2925:113;-1:-1:-1;;;;;;;;;;;983:2925:113;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;4059:32:109;983:2925:113;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;7028:9:25;983:2925:113;;:::i;:::-;966:10:28;7028:9:25;:::i;983:2925:113:-;;;;;;-1:-1:-1;;983:2925:113;;;;;;-1:-1:-1;983:2925:113;2854:59:109;983:2925:113;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;1041:36:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;1714:45:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;4587:28:109;983:2925:113;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;3967:36:109;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;2559:32:109;983:2925:113;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;-1:-1:-1;;;;;983:2925:113;;:::i;:::-;;-1:-1:-1;983:2925:113;2051:15:111;983:2925:113;;;2051:33:111;983:2925:113;-1:-1:-1;983:2925:113;2051:33:111;:::i;983:2925:113:-;-1:-1:-1;;;;;983:2925:113;;;;;4867:13:27;983:2925:113;;;;;;:::o;:::-;-1:-1:-1;;;;;983:2925:113;;;;;5204:22:25;983:2925:113;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2925:113;;;;-1:-1:-1;;;;;983:2925:113;;:::i;:::-;;-1:-1:-1;983:2925:113;2730:68:109;983:2925:113;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;:::i;:::-;236:63:106;;:::i;:::-;4968:34:111;;983:2925:113;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;983:2925:113;;;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;-1:-1:-1;;983:2925:113;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;-1:-1:-1;;;;;983:2925:113;;:::i;:::-;;-1:-1:-1;983:2925:113;972:64:29;983:2925:113;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;2806:64:31;983:2925:113;5777:18:31;:43;;;983:2925:113;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;983:2925:113;6043:16:31;;:::i;:::-;983:2925:113;;6000:4:31;;;;5965:13;;983:2925:113;;;:::i;:::-;;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;-1:-1:-1;;;983:2925:113;;;;;;;5777:43:31;983:2925:113;5799:16:31;983:2925:113;5799:21:31;5777:43;;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;;;819:34:73;837:15;819:34;:::i;:::-;983:2925:113;;;1952:29;;;1948:115;;7117:34:94;2111:28:113;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;983:2925:113;;7168:7:94;983:2925:113;;7178:17:94;983:2925:113;7178:17:94;;:::i;:::-;983:2925:113;;;;;;7168:31:94;983:2925:113;;;;;;;;;;;;;7168:31:94;;983:2925:113;-1:-1:-1;7168:31:94;;1948:115:113;983:2925;;-1:-1:-1;;;2004:48:113;;983:2925;2004:48;;983:2925;;;;;;;;;;;;12018:60:27;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;;819:34:73;837:15;819:34;:::i;:::-;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;983:2925:113;;;;;;;-1:-1:-1;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;3869:42:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;-1:-1:-1;;;;;4439:40:25;:31;983:2925:113;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;3775:38:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;:::i;:::-;;;-1:-1:-1;;;;;983:2925:113;;;;-1:-1:-1;983:2925:113;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;983:2925:113;;;;;;;;;;477:31:86;;983:2925:113;;;;;;;;;;;:::i;477:31:86:-;518:79;;;983:2925:113;518:79:86;;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;;;2139:32:109;983:2925:113;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;900:35:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;3089:94:109;983:2925:113;;:::i;:::-;;;-1:-1:-1;983:2925:113;3089:94:109;983:2925:113;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;3089:94:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;3239:92:109;983:2925:113;;:::i;:::-;;;-1:-1:-1;983:2925:113;3239:92:109;983:2925:113;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;3239:92:109;983:2925:113;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;1187:40:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;4500:31:109;983:2925:113;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;4616:5:27;983:2925:113;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;983:2925:113;;;4639:4:27;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;-1:-1:-1;983:2925:113;2969:64:109;983:2925:113;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;2481:22:109;983:2925:113;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;3573:43:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;1333:36:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;4239:32:109;983:2925:113;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2925:113;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;7310:15:25;;:24;7306:91;;7423:168;7660:9;983:2925:113;7626:5:25;983:2925:113;;;7477:57:25;983:2925:113;7477:57:25;;983:2925:113;2345:71:25;983:2925:113;;;;;;;;;;2345:71:25;;983:2925:113;2345:71:25;983:2925:113;2345:71:25;;983:2925:113;;2345:71:25;;983:2925:113;;7477:57:25;;;;;:::i;:::-;7450:86;983:2925:113;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;983:2925:113;;-1:-1:-1;;;7357:29:25;;983:2925:113;7357:29:25;;983:2925:113;;;;;7357:29:25;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;;3672:47:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;4147:36:109;983:2925:113;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;2311:24:109;983:2925:113;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;466:39:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;4867:29:27;983:2925:113;;:::i;:::-;4867:20:27;983:2925:113;;:::i;:::-;4867:20:27;;:::i;983:2925:113:-;;;;;;-1:-1:-1;;983:2925:113;;;;;4417:27:109;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;1616:3:109;983:2925:113;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;2704:158:111;2728:92;2769:50;;983:2925:113;;:::i;:::-;;;-1:-1:-1;;;983:2925:113;2769:50:111;;;-1:-1:-1;;;;;983:2925:113;;;;2769:50:111;;;983:2925:113;;;;;;;;;;;;;;;;;2704:158:111;983:2925:113;-1:-1:-1;983:2925:113;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;2887:10:111;2878:46;;2839:12:113;2887:10:111;;2839:12:113;:::i;983:2925::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;:::o;:::-;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;983:2925:113;;;-1:-1:-1;;;;;;;;;;;983:2925:113;-1:-1:-1;;;983:2925:113;;;;;;;;-1:-1:-1;983:2925:113;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;983:2925:113;;;-1:-1:-1;;;;;;;;;;;983:2925:113;-1:-1:-1;;;983:2925:113;;;;;;;;-1:-1:-1;983:2925:113;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;983:2925:113;;;;;;-1:-1:-1;;983:2925:113;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;983:2925:113;;;;:::o;:::-;;;:::o;388:123:106:-;452:7;-1:-1:-1;;;;;983:2925:113;438:10:106;:21;434:71;;388:123::o;434:71::-;983:2925:113;;-1:-1:-1;;;482:12:106;;;;;983:2925:113;;;;;;;;;;;;;7178:12:94;983:2925:113;;;;;;7178:12:94;-1:-1:-1;983:2925:113;;;;-1:-1:-1;983:2925:113;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;983:2925:113;;-1:-1:-1;983:2925:113;;;-1:-1:-1;983:2925:113;:::o;10580:184:94:-;1842:13:111;983:2925:113;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;983:2925:113;;10726:7:94;983:2925:113;;10736:12:94;983:2925:113;;;;;;10736:12:94;-1:-1:-1;983:2925:113;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;983:2925:113;;;;;;;;1842:13:111;-1:-1:-1;14439:109:71;;;983:2925:113;;;10446:63:71;;10580:184:94;10689:20;;;:::i;:::-;-1:-1:-1;;;;;983:2925:113;;10726:7:94;983:2925:113;;10736:12:94;:17;:12;;:17;:::i;:::-;983:2925:113;;;;;;10580:184:94;:::o;10726:31::-;;;10689:11;10580:184;:::o;983:2925:113:-;;;;;;;;;;;;;;;;;:::o;3386:165::-;-1:-1:-1;;;;;983:2925:113;;;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;;;;3537:6;;3386:165;983:2925;;;;;3537:6;:::i;3386:165::-;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;3537:6;;3386:165;983:2925;;;;;3537:6;:::i;3386:165::-;-1:-1:-1;;;;;983:2925:113;;;-1:-1:-1;983:2925:113;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;3537:6;;3386:165;983:2925;;;;;3537:6;:::i;6605:300:27:-;-1:-1:-1;;;;;983:2925:113;;;;6605:300:27;;;;6688:18;;6684:86;;983:2925:113;;6783:16:27;;6779:86;;-1:-1:-1;;;;;983:2925:113;;;;;;2051:15:111;983:2925:113;;;;;2051:33:111;;;:::i;:24::-;:33;:::i;:::-;3779:19;;;;3775:115;;4010:65;3315:5:113;4010:21:111;;;;983:2925:113;;;;;;;;2051:15:111;983:2925:113;;;;;;;4010:21:111;837:15:73;;819:34;837:15;819:34;:::i;:::-;983:2925:113;;4010:65:111;;:::i;:::-;-1:-1:-1;;;;;;;983:2925:113;;;;;;2051:15:111;983:2925:113;;;;;4526:65:111;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2925:113;;;;;;2051:15:111;983:2925:113;;;;;2051:24:111;;:33;;;:::i;:::-;983:2925:113;4526:65:111;;:::i;:::-;-1:-1:-1;;983:2925:113;;;;;-1:-1:-1;;;;;;;;;;;4631:25:111;983:2925:113;;4631:25:111;3315:5:113;:::i;3775:115:111:-;983:2925:113;;-1:-1:-1;;;3825:50:111;;-1:-1:-1;;;;;983:2925:113;;3825:50:111;;;983:2925:113;;;;;;;;;;;;;;;12018:60:27;6779:86;983:2925:113;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;983:2925:113;;;6822:32:27;6684:86;983:2925:113;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;983:2925:113;;;6729:30:27;14296:213:69;983:2925:113;14374:24:69;;;;14370:103;;983:2925:113;14296:213:69;:::o;14370:103::-;983:2925:113;;;;14421:41:69;;;;;;14452:2;14421:41;;;983:2925:113;;;;;14421:41:69;983:2925:113;;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;:::o;:::-;;9999:1:71;983:2925:113;;;;;;;:::o;9584:606:71:-;2079:13:113;;983:2925;9737:15:71;9702:17;9762:18;;9801:1;9795:7;;9791:234;;9584:606;10049:53;;13105:230;13112:10;;;;;;-1:-1:-1;;;10120:8:71;;;:63;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;2079:13:113;9702:17:71;14439:109;;;983:2925:113;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;983:2925:113;;;;;;;;;14439:109:71;9702:17;14439:109;983:2925:113;14439:109:71;;;;983:2925:113;;;;;-1:-1:-1;13189:136:71;983:2925:113;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;983:2925:113;;;;;;;2079:13;9702:17:71;14439:109;983:2925:113;14439:109:71;;;;983:2925:113;;;;;9870:48:71;9866:149;983:2925:113;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;7855:367:25;8190:24;7855:367;2051:33:111;:24;983:2925:113;;;;;;;;;;-1:-1:-1;983:2925:113;-1:-1:-1;;;;;;;;;;;983:2925:113;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;8089:48:25;-1:-1:-1;8089:48:25;;-1:-1:-1;;;;;983:2925:113;;;;;2051:15:111;983:2925:113;;;;;;;2051:33:111;8190:24:25;;:::i;10310:206:71:-;983:2925:113;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;983:2925:113;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;983:2925:113;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;983:2925:113;;;4221:92:31;;;;983:2925:113;2073:95:31;983:2925:113;;;2073:95:31;;983:2925:113;2073:95:31;;;983:2925:113;4284:13:31;2073:95;;;983:2925:113;4307:4:31;2073:95;;;983:2925:113;2073:95:31;4221:92;;2073:95;983:2925:113;;;;;;-1:-1:-1;;;;;983:2925:113;;;;;3445:249:65;983:2925:113;3445:249:65;983:2925:113;;;;;;4211:103:31;;-1:-1:-1;;;3445:249:65;;;;;;;;;4946:176:31;:::o;6887:260:63:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;:::-;7105:8;;;;;:::i;2100:222:29:-;-1:-1:-1;;;;;983:2925:113;;-1:-1:-1;983:2925:113;;;972:64:29;983:2925:113;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;983:2925:113;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;983:2925:113;;;;2270:35:29;;;983:2925:113;;;;;;;;;;12018:60:27;2323:83:50;1019:819;;;;;;;4795:19:111;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;983:2925:113;8837:64:26;983:2925:113;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;983:2925:113;;-1:-1:-1;;;7191:17:26;;;;;983:2925:113;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2925:113;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2925:113;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2925:113;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2925:113;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2925:113;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2925:113;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2925:113;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;8998:846:25:-;-1:-1:-1;;;;;983:2925:113;;;;8998:846:25;;983:2925:113;;;;9152:10:25;;;;;:24;;8998:846;9148:690;;8998:846;;;;;;:::o;9148:690::-;9196:18;9192:317;;9148:690;9526:16;;;9522:306;;9148:690;;;;;9522:306;9769:44;9628:26;9702;9628;9601:145;9628:26;;:::i;:::-;9702;;:::i;:::-;9601:145;;:::i;:::-;983:2925:113;;;-1:-1:-1;;;;;983:2925:113;;;;;;;;;;;;;9769:44:25;9522:306;;;;;9192:317;9300:28;;;:::i;:::-;9381:26;;;:::i;:::-;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2925:113;;;10716:14:25;;;:::i;:::-;983:2925:113;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;983:2925:113;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;983:2925:113;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:68;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;983:2925:113;18246:1:68;983:2925:113;22284:6:68;;;;:::i;:::-;983:2925:113;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;983:2925:113;23216:28:68;983:2925:113;;18080:5181:68;:::o;19887:61::-;18246:1;983:2925:113;19887:61:68;;19787:87;983:2925:113;;;;;19787:87:68;;;19687;983:2925:113;;;;;19687:87:68;;;19585:89;983:2925:113;;;;;19585:89:68;;;19482:90;983:2925:113;;;;;19482:90:68;;;19379;983:2925:113;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;983:2925:113;-1:-1:-1;983:2925:113;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;983:2925:113;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;983:2925:113;14439:109:71;;;-1:-1:-1;14439:109:71;;983:2925:113;;;;;-1:-1:-1;13189:136:71;983:2925:113;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;983:2925:113;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;983:2925:113;;6579:20:63;6575:113;;6698:49;-1:-1:-1;6698:49:63;-1:-1:-1;5203:1551:63;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:63;6541:24;6615:62;-1:-1:-1;6615:62:63;:::o;6266:164::-;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;983:2925:113:-;;-1:-1:-1;983:2925:113;;;:::o;:::-;;;;;;;;;;;;7280:532:63;983:2925:113;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;983:2925:113;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;983:2925:113;;-1:-1:-1;;;7523:23:63;;;;;7458:348;983:2925:113;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;983:2925:113;;-1:-1:-1;;;7634:46:63;;;;;983:2925:113;;;;;12018:60:27;7563:243:63;983:2925:113;;7710:30:63;983:2925:113;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;983:2925:113;;-1:-1:-1;;;7763:32:63;;;;;983:2925:113;;;;;;12018:60:27;4421:582:56;;4593:8;;-1:-1:-1;983:2925:113;;5674:21:56;:17;;5799:158;;;;;;5670:354;983:2925:113;;-1:-1:-1;;;5994:19:56;;;;;4589:408;983:2925:113;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;983:2925:113;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;983:2925:113;;;4917:24:56;;;983:2925:113;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;4174:218:69;-1:-1:-1;;;;;983:2925:113;4254:25:69;;;4250:105;;983:2925:113;4174:218:69;:::o;4250:105::-;983:2925:113;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;983:2925:113;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2925:113;;;10716:14:25;;;:::i;:::-;983:2925:113;;;;;;;;;8310:38:71;;;:::i;983:2925:113:-;;;;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;;6360:12;;;983:2925:113;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;983:2925:113;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;983:2925:113;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;983:2925:113;;8310:38:71;;-1:-1:-1;;;;;983:2925:113;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;983:2925:113;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;983:2925:113;;;;;;6360:12:94;983:2925:113;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;7058:687:31;983:2925:113;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;7230:22:31;;;;7275;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;983:2925:113;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;983:2925:113:-;-1:-1:-1;983:2925:113;;;-1:-1:-1;;;;;;;;;;;983:2925:113;-1:-1:-1;;;983:2925:113;;;;;;;;-1:-1:-1;983:2925:113;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7966:723:31;983:2925:113;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;983:2925:113;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;8147:25:31;;;;8195;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;983:2925:113;8541:18:31;;;;8579:20;:::o;983:2925:113:-;-1:-1:-1;983:2925:113;;;-1:-1:-1;;;;;;;;;;;983:2925:113;-1:-1:-1;;;983:2925:113;;;;;;;;-1:-1:-1;983:2925:113;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2925:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:2925:113;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;983:2925:113;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;983:2925:113;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;983:2925:113;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;983:2925:113;;;;;;;;;;;;;;;;;12285:19:71;983:2925:113;;12423:25:71;;:::o;12247:163::-;983:2925:113;;;12343:52:71;983:2925:113;12353:41:71;983:2925:113;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;983:2925:113;;12353:41:71;;;983:2925:113;12343:52:71;:::i;:::-;12247:163;;12099:89;983:2925:113;;-1:-1:-1;;;12143:30:71;;;;;11860:713;983:2925:113;;12479:52:71;983:2925:113;12489:41:71;983:2925:113;;:::i;12489:41:71:-;-1:-1:-1;;;;;983:2925:113;;12489:41:71;;;983:2925:113;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;10695:389::-;983:2925:113;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;983:2925:113;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;983:2925:113;11014:1:71;983:2925:113;;;;;;;11030:37:71;:::o","linkReferences":{},"immutableReferences":{"69277":[{"start":7646,"length":32}],"72482":[{"start":2349,"length":32},{"start":9480,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(bytes)":"7bd00ae8","_VaultVotes_init(bytes)":"0eac105e","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","decimals()":"313ce567","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","eip712Domain()":"84b0196e","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nonces(address)":"7ecebe00","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SafeSupplyExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":\"VaultVotesImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Implementation.sol\":{\"keccak256\":\"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6\",\"dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d\",\"dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x5b32add628bcab38813637cbcb241e70e9348a8b30ce1514e7b493fd9fb0dd9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://38b46a2d88283aa655e4c06fd48edeefc8da03bffef13cddb8de3ab4a1882d0a\",\"dweb:/ipfs/QmSftMxYA1fz18qhdWM9ppLqowa9JBCyCwLHtbKFYw698F\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IImplementation.sol\":{\"keccak256\":\"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc\",\"dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe\",\"dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31\",\"dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7\",\"dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"baseImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"type":"error","name":"ERC5805FutureLookup"},{"inputs":[],"type":"error","name":"ERC6372InconsistentClock"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[],"type":"error","name":"SafeSupplyExceeded"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultVotes_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"decimals()":{"details":"Returns the decimals places of the token."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {IERC-5267}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the next unused nonce for an address."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultVotesImplementation.sol":"VaultVotesImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol":{"keccak256":"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b","urls":["bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0","dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol":{"keccak256":"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4","urls":["bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827","dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol":{"keccak256":"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5","urls":["bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33","dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Implementation.sol":{"keccak256":"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15","urls":["bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6","dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73","urls":["bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d","dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x5b32add628bcab38813637cbcb241e70e9348a8b30ce1514e7b493fd9fb0dd9f","urls":["bzz-raw://38b46a2d88283aa655e4c06fd48edeefc8da03bffef13cddb8de3ab4a1882d0a","dweb:/ipfs/QmSftMxYA1fz18qhdWM9ppLqowa9JBCyCwLHtbKFYw698F"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IImplementation.sol":{"keccak256":"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca","urls":["bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc","dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0","urls":["bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe","dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b","urls":["bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31","dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0xdb9d4069c678424bb01db9ccd578b5473421487e3ec28338f13627574c88e6ed","urls":["bzz-raw://03d5852048d0603e0ebb7481871b6805bb98795b8dce53a09fd3813998eee5f7","dweb:/ipfs/QmaMSBy5zYDMQe78XBDKKXsLtGX9tXDd26JvzoyDuobSyK"],"license":"MIT"}},"version":1},"id":113} \ No newline at end of file diff --git a/out/v1.1/Vault.sol/Vault.json b/out/v1.1/Vault.sol/Vault.json index 0575ff5..b10f1b1 100644 --- a/out/v1.1/Vault.sol/Vault.json +++ b/out/v1.1/Vault.sol/Vault.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"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":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","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":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034610115576126a8906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516125669081610142823960805181818161056601526106d1015260a051816122a70152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220655053b86664791def7a46c56ae0eaf45c35676b8add725e09a3f3bcebdcaf5164736f6c63430008190033","sourceMap":"852:7473:106:-:0;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:7473:106;;;;;;;;;7896:76:26;;852:7473:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;852:7473;;;;;;;927:17:82;852:7473:106;;;;;;;;;;1445:31;852:7473;;;;;;7981:146:26;-1:-1:-1;;;;;;852:7473:106;;;;;;;;;;;;;8087:29:26;;852:7473:106;;8087:29:26;7981:146;;;;;7896:76;852:7473:106;;-1:-1:-1;;;7938:23:26;;;;;852:7473:106;-1:-1:-1;852:7473:106;;;;;;-1:-1:-1;852:7473:106;;;;;-1:-1:-1;852:7473:106;;;;-1:-1:-1;;;;;852:7473:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220655053b86664791def7a46c56ae0eaf45c35676b8add725e09a3f3bcebdcaf5164736f6c63430008190033","sourceMap":"852:7473:106:-:0;;;;;;2603:64:50;852:7473:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:7473:106;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:7473:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:7473:106;-1:-1:-1;852:7473:106;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;757:38:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;612:37:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;-1:-1:-1;852:7473:106;-1:-1:-1;;;;;;;;;;;852:7473:106;;;4919:24:23;852:7473:106;-1:-1:-1;852:7473:106;4919:24:23;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;4327:34:108;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:7473:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:7473:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:7473:106;;;;;;;;;;;6431:44:26;;;;852:7473:106;6427:105:26;;-1:-1:-1;;852:7473:106;;;;;;;;;-1:-1:-1;;;;;;;;;;;852:7473:106;;-1:-1:-1;;;;852:7473:106;-1:-1:-1;;;852:7473:106;;;6656:20:26;;;;852:7473:106;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:106;;-1:-1:-1;;;;852:7473:106;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:7473:106;6427:105:26;852:7473:106;;-1:-1:-1;;;6498:23:26;;852:7473:106;;6498:23:26;6431:44;852:7473:106;;;;6450:25:26;;;6431:44;;1655:71:82;852:7473:106;;-1:-1:-1;;;1703:12:82;;852:7473:106;;1703:12:82;3666:88:30;852:7473:106;;-1:-1:-1;;;3713:30:30;;852:7473:106;;3713:30:30;852:7473:106;;;;;;-1:-1:-1;;852:7473:106;;;;;;655:32:82;-1:-1:-1;;;;;852:7473:106;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:7473:106;;;;5350:25:23;852:7473:106;;;;;;;:::i;:::-;;-1:-1:-1;852:7473:106;-1:-1:-1;;;;;;;;;;;852:7473:106;;3202:4:23;4919:24;852:7473:106;-1:-1:-1;852:7473:106;4919:24:23;852:7473:106;3202:4:23;:::i;:::-;5350:25;:::i;852:7473:106:-;;;;;;-1:-1:-1;;852:7473:106;;;;;2227:28:108;852:7473:106;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1479:40:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:7473:106;;6441:34:23;6437:102;;6549:37;852:7473:106;;;6549:37:23;:::i;6437:102::-;852:7473:106;;-1:-1:-1;;;6498:30:23;;852:7473:106;;6498:30:23;852:7473:106;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;2391:34:108;852:7473:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:7473:106;;;;;;734:29:82;730:87;;852:7473:106;;;;;6431:44:26;;;;;852:7473:106;6427:105:26;;;6656:20;852:7473:106;6656:20:26;852:7473:106;1167:340:82;852:7473:106;;;;-1:-1:-1;;;;;852:7473:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;852:7473:106;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:106;;-1:-1:-1;;;;852:7473:106;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;6656:20:26;;;;852:7473:106;6427:105:26;852:7473:106;;-1:-1:-1;;;6498:23:26;;852:7473:106;;6498:23:26;6431:44;852:7473:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:7473:106;;-1:-1:-1;;;786:20:82;;852:7473:106;;786:20:82;852:7473:106;;;;;;-1:-1:-1;;852:7473:106;;;;;;4059:32:108;852:7473:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;-1:-1:-1;852:7473:106;2854:59:108;852:7473:106;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1041:36:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1714:45:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;4587:28:108;852:7473:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;3967:36:108;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;2559:32:108;852:7473:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:106;;-1:-1:-1;;;;;;852:7473:106;;;;;;;-1:-1:-1;;;;;852:7473:106;3975:40:24;852:7473:106;;3975:40:24;852:7473:106;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:7473:106;2730:68:108;852:7473:106;;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;-1:-1:-1;;;;;;;;;;;852:7473:106;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;3901:31:23;852:7473:106;;;;;:::i;:::-;;;-1:-1:-1;852:7473:106;-1:-1:-1;;;;;;;;;;;852:7473:106;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;;;;3901:31:23;852:7473:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;3869:42:108;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;3775:38:108;852:7473:106;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:7473:106;;;;-1:-1:-1;852:7473:106;477:31:86;852:7473:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:7473:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;477:31:86;;;852:7473:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;477:31:86;852:7473:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:7473:106;518:79:86;;852:7473:106;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;2139:32:108;852:7473:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;900:35:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;3089:94:108;852:7473:106;;;;;:::i;:::-;;;-1:-1:-1;852:7473:106;3089:94:108;852:7473:106;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;;;;3089:94:108;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;3239:92:108;852:7473:106;;;;;:::i;:::-;;;-1:-1:-1;852:7473:106;3239:92:108;852:7473:106;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1187:40:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;4500:31:108;852:7473:106;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;-1:-1:-1;852:7473:106;2969:64:108;852:7473:106;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;2481:22:108;852:7473:106;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;3573:43:108;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1333:36:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;4239:32:108;852:7473:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;3672:47:108;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;4147:36:108;852:7473:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;2311:24:108;852:7473:106;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;5767:26:23;852:7473:106;;;;;;;:::i;:::-;;-1:-1:-1;852:7473:106;-1:-1:-1;;;;;;;;;;;852:7473:106;;3202:4:23;4919:24;852:7473:106;-1:-1:-1;852:7473:106;4919:24:23;852:7473:106;3202:4:23;:::i;:::-;5767:26;:::i;852:7473:106:-;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;466:39:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;4417:27:108;852:7473:106;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1616:3:108;852:7473:106;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:106;;;;;;;1286:6;852:7473;;;;;;;;;-1:-1:-1;;852:7473:106;;;;2357:1:24;852:7473:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:7473:106:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:7473:106;;;;;;-1:-1:-1;;852:7473:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:106;;;;;;:::o;1167:340:82:-;;;852:7473:106;3139:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:7473:106;1949:1:30;;1991;852:7473:106;;;1376:73:82;;1167:340;852:7473:106;;;;:::i;:::-;3139:37;852:7473;;;3139:37;;;;;;:::i;:::-;852:7473;;;;;;;-1:-1:-1;;;;;852:7473:106;3191:31;3187:95;;3296:20;;;;;852:7473;;;;;;;;;;3296:25;3292:92;;3398:29;;;852:7473;;3398:29;;852:7473;3398:43;;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;;;;;852:7473:106;;;3398:43;;3394:971;;1167:340:82;4380:23:106;;;852:7473;4379:24;852:7473;;;;;;;;4379:24;;852:7473;4379:24;:67;;;1167:340:82;4375:132:106;;4537:28;;;-1:-1:-1;4522:9:106;1949:1:30;;;4517:411:106;-1:-1:-1;;852:7473:106;;4942:43;;-1:-1:-1;;;;;;852:7473:106;;;4942:43;;4938:1254;;4517:411;6305:34;;;852:7473;6375:23;;;;852:7473;;;;;;;;6430:19;;;852:7473;6485:23;;;852:7473;6554:33;;;852:7473;6636:36;;;852:7473;6717:32;;;852:7473;6798:36;;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37;6237:612;;852:7473;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:106;4380:23;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:106;6237:612;;;852:7473;-1:-1:-1;;;;;852:7473:106;6237:612;;;852:7473;-1:-1:-1;;;;;852:7473:106;6305:34;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:106;6375:23;6237:612;;852:7473;6237:612;;;:::i;:::-;852:7473;;-1:-1:-1;;;;;852:7473:106;1398:1:82;852:7473:106;;-1:-1:-1;;;;;;852:7473:106;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;3139:37;6920:13;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;-1:-1:-1;;;;;;852:7473:106;-1:-1:-1;;;;;852:7473:106;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:7473:106;;-1:-1:-1;;;;852:7473:106;;;;;;-1:-1:-1;;;852:7473:106;;;;;;;;;;1949:1:30;852:7473:106;;-1:-1:-1;;;;;852:7473:106;;;;;;-1:-1:-1;;;;;;852:7473:106;;;;;;;;;;7039:42;;852:7473;;;1398:1:82;852:7473:106;;;;;;;1398:1:82;852:7473:106;;7039:42;6237:612;7109:21;;852:7473;1398:1:82;852:7473:106;;-1:-1:-1;;852:7473:106;;;;;;;;;;;;;;6237:612;7155:19;;852:7473;7140:34;1991:1:30;852:7473:106;-1:-1:-1;;;;;852:7473:106;;;7822:32;;852:7473;;;7185:135;;4517:411;-1:-1:-1;7333:36:106;;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;7329:157;;4517:411;-1:-1:-1;7499:35:106;;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;7495:153;;4517:411;-1:-1:-1;7661:34:106;;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;7657:152;;4517:411;-1:-1:-1;7822:32:106;852:7473;-1:-1:-1;;;;;852:7473:106;;;;;;;7818:145;;1167:340:82;:::o;7818:145:106:-;7884:68;;;:::i;:::-;;1167:340:82:o;7657:152:106:-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;852:7473;;5005:23;;5052;;;852:7473;5052:37;;-1:-1:-1;;;;;852:7473:106;;;5052:37;:23;;5117:32;;;852:7473;5117:46;;-1:-1:-1;;;;;852:7473:106;;;5117:46;:32;;5195:36;;;852:7473;5195:50;;-1:-1:-1;;;;;852:7473:106;;;5195:50;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;852:7473;-1:-1:-1;;;5312:27:106;;;;;5195:78;5249:19;;;;852:7473;5249:24;5195:78;;5113:420;5398:36;;;852:7473;5398:50;;-1:-1:-1;;;;;852:7473:106;;;5398:50;5113:420;5394:139;852:7473;-1:-1:-1;;;5483:27:106;;;;;5048:664;5561:32;;;852:7473;5561:46;;-1:-1:-1;;;;;852:7473:106;;;5561:46;;:74;;;5048:664;5557:155;5048:664;5557:155;852:7473;-1:-1:-1;;;5666:27:106;;;;;5561:74;5611:19;;;;852:7473;5611:24;5561:74;;5001:1181;5753:36;;;852:7473;5753:50;;-1:-1:-1;;;;;852:7473:106;;;5753:50;;:347;;;5001:1181;5732:450;4938:1254;5732:450;852:7473;-1:-1:-1;;;6140:27:106;;;;;5753:347;-1:-1:-1;5853:23:106;;;852:7473;5853:37;;-1:-1:-1;;;;;852:7473:106;;;5853:37;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:106;;;852:7473;6032:46;;-1:-1:-1;;;;;852:7473:106;;;6032:46;;;5753:347;;5853:147;-1:-1:-1;5950:36:106;;;852:7473;5950:50;;-1:-1:-1;;;;;852:7473:106;;;5950:50;;;5853:147;;:65;5894:19;;;;852:7473;5894:24;;5853:65;;4574:3;4537:28;;852:7473;;4533:39;;;;;4597:31;;;:45;:31;;:::i;:::-;852:7473;-1:-1:-1;;;;;852:7473:106;;;4597:45;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:7473:106;;;;;4725:22;852:7473;;;;;;;4725:55;852:7473;;;;;4725:55;4721:120;;4878:28;;;4855:62;:55;4878:31;;:28;;;;:31;:::i;4855:55::-;852:7473;;-1:-1:-1;;852:7473:106;1949:1:30;852:7473:106;;;;4855:62;852:7473;4522:9;;;;4721:120;852:7473;;-1:-1:-1;;;4807:19:106;;;;;4593:114;852:7473;;-1:-1:-1;;;4669:23:106;;;;;4533:39;;;;4375:132;852:7473;;-1:-1:-1;;;4469:27:106;;;;;4379:67;4407:28;;;;;852:7473;4407:39;;4379:67;;3394:971;3461:36;;;852:7473;3461:50;;-1:-1:-1;;;;;852:7473:106;;;3461:50;;3457:419;;3394:971;3894:34;;;852:7473;3894:48;;-1:-1:-1;;;;;852:7473:106;;;3894:48;;3890:465;;3394:971;;;3890:465;3966:21;;;852:7473;;3966:21;;4015:19;;;852:7473;4015:24;:74;;;3962:379;4011:157;3394:971;4011:157;852:7473;-1:-1:-1;;;4124:21:106;;;;;4015:74;-1:-1:-1;4043:32:106;;;852:7473;4043:46;;-1:-1:-1;;;;;852:7473:106;;;4043:46;;4015:74;;3962:379;4196:19;;;852:7473;4196:24;;;:74;;;3962:379;4192:149;3890:465;4192:149;852:7473;-1:-1:-1;;;4301:21:106;;;;;4196:74;-1:-1:-1;4224:32:106;;;852:7473;4224:46;;-1:-1:-1;;;;;852:7473:106;;;4224:46;;;4196:74;;3457:419;3535:23;;;852:7473;;3535:23;;3586:35;;;852:7473;3586:49;;-1:-1:-1;;;;;852:7473:106;;;3586:49;3457:419;3582:132;852:7473;-1:-1:-1;;;3670:21:106;;;;;3531:331;3742:35;;;852:7473;3742:49;;-1:-1:-1;;;;;852:7473:106;;;3742:49;3738:124;3457:419;3738:124;852:7473;-1:-1:-1;;;3822:21:106;;;;;3292:92;852:7473;;-1:-1:-1;;;3344:29:106;;;;;3187:95;852:7473;;-1:-1:-1;;;3245:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:7473:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:7473:106;;-1:-1:-1;;;;;;852:7473:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:7473:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:7473:106;;;3534:31:24;1809:204:82;;852:7473:106;8110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;852:7473:106;;;:::i;:::-;;;8096:15;8110:1;;852:7473;;;;8166:40;;;;;852:7473;;;;;8239:6;852:7473;;;;;;;:::i;:::-;8166:40;;;852:7473;;;;;;;;:::i;:::-;8166:40;852:7473;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;8239:6;:::i;8092:225::-;852:7473;;-1:-1:-1;;;8284:22:106;;;;;4148:103:23;-1:-1:-1;852:7473:106;;;-1:-1:-1;;;;;;;;;;;852:7473:106;;;;;;;;966:10:28;852:7473:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:7473:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:7473:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:7473:106;;1398:1:82;852:7473:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;;;1398:1:82;852:7473:106;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;-1:-1:-1;;852:7473:106;7509:4:23;852:7473:106;;;966:10:28;;-1:-1:-1;;;;;852:7473:106;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:82;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;-1:-1:-1;;852:7473:106;7509:4:23;852:7473:106;;;966:10:28;;-1:-1:-1;;;;;852:7473:106;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;7270:387:23;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;7270:387:23;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;7270:387:23;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;7270:387:23;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;1333:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;7270:387:23;-1:-1:-1;;;;;852:7473:106;;-1:-1:-1;852:7473:106;;;;;;;;;1479:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:106;;3901:31:23;852:7473:106;7270:387:23;-1:-1:-1;852:7473:106;;;-1:-1:-1;;;;;;;;;;;852:7473:106;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;3901:31:23;852:7473:106;7892:388:23;-1:-1:-1;852:7473:106;;;-1:-1:-1;;;;;;;;;;;852:7473:106;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:106;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;-1:-1:-1;;852:7473:106;;;966:10:28;;-1:-1:-1;;;;;852:7473:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:7473:106;8209:11:23;:::o;852:7473:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2658:162:24;-1:-1:-1;;;;;;;;;;;852:7473:106;-1:-1:-1;;;;;852:7473:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:7473:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:7473:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;852:7473:106;-1:-1:-1;;;;;;;;;;;852:7473:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:7473:106;;-1:-1:-1;;;7191:17:26;;;;;1642:1070:106;1783:1;852:7473;;1746:38;1742:119;;1875:23;;;852:7473;;-1:-1:-1;;;;;852:7473:106;1875:23;;852:7473;;1875:37;;:65;;1642:1070;1871:130;;852:7473;2183:42;852:7473;2552:36;852:7473;2011:65;852:7473;;;2011:65;1991:1:30;;2011:65:106;2087:42;852:7473;2106:23;;;852:7473;;;;;;2087:42;852:7473;;-1:-1:-1;;;;852:7473:106;;;;;;-1:-1:-1;;;852:7473:106;;;;;;;;2087:42;2139:34;2154:19;;;852:7473;2139:34;1991:1:30;;852:7473:106;;;;;;;;;;2087:42;852:7473;;;2087:42;852:7473;;2183:42;2240:33;;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;2236:148;;1642:1070;-1:-1:-1;2397:32:106;;;852:7473;-1:-1:-1;;;;;852:7473:106;;;;2393:146;;-1:-1:-1;2552:36:106;852:7473;-1:-1:-1;;;;;852:7473:106;;;;;;;2548:158;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;852:7473;;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;852:7473;1916:24;;1875:65;;1742:119;852:7473;;-1:-1:-1;;;1807:43:106;;;;;852:7473;;;;;;;;;;;;2718:286;2836:6;;;:::i;:::-;852:7473;-1:-1:-1;;852:7473:106;;;;;;;2901:14;852:7473;;;;;;;;;;;;;;;;;;1286:6;-1:-1:-1;2854:144:106;;2718:286::o;2854:144::-;852:7473;;-1:-1:-1;;;2956:31:106;;;;;852:7473;;:::i;14296:213:69:-;852:7473:106;14374:24:69;;;;14370:103;;852:7473:106;14296:213:69;:::o;14370:103::-;852:7473:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:7473:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":8871,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/Vault.sol\":\"Vault\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","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":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/Vault.sol":"Vault"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"}},"version":1},"id":106} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"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":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","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":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034610115576126a8906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516125669081610142823960805181818161056601526106d1015260a051816122a70152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a059464338526eaf11551712b1238fedb87d628801a07604ec65ba4880a9c5ba64736f6c63430008190033","sourceMap":"852:7473:107:-:0;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:7473:107;;;;;;;;;7896:76:26;;852:7473:107;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:107;;852:7473;;;;;;;927:17:82;852:7473:107;;;;;;;;;;1445:31;852:7473;;;;;;7981:146:26;-1:-1:-1;;;;;;852:7473:107;;;;;;;;;;;;;8087:29:26;;852:7473:107;;8087:29:26;7981:146;;;;;7896:76;852:7473:107;;-1:-1:-1;;;7938:23:26;;;;;852:7473:107;-1:-1:-1;852:7473:107;;;;;;-1:-1:-1;852:7473:107;;;;;-1:-1:-1;852:7473:107;;;;-1:-1:-1;;;;;852:7473:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220a059464338526eaf11551712b1238fedb87d628801a07604ec65ba4880a9c5ba64736f6c63430008190033","sourceMap":"852:7473:107:-:0;;;;;;2603:64:50;852:7473:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:7473:107;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:7473:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:7473:107;-1:-1:-1;852:7473:107;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;757:38:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;612:37:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;-1:-1:-1;852:7473:107;-1:-1:-1;;;;;;;;;;;852:7473:107;;;4919:24:23;852:7473:107;-1:-1:-1;852:7473:107;4919:24:23;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;4327:34:109;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:7473:107;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:7473:107;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:7473:107;;;;;;;;;;;6431:44:26;;;;852:7473:107;6427:105:26;;-1:-1:-1;;852:7473:107;;;;;;;;;-1:-1:-1;;;;;;;;;;;852:7473:107;;-1:-1:-1;;;;852:7473:107;-1:-1:-1;;;852:7473:107;;;6656:20:26;;;;852:7473:107;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:107;;-1:-1:-1;;;;852:7473:107;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:7473:107;6427:105:26;852:7473:107;;-1:-1:-1;;;6498:23:26;;852:7473:107;;6498:23:26;6431:44;852:7473:107;;;;6450:25:26;;;6431:44;;1655:71:82;852:7473:107;;-1:-1:-1;;;1703:12:82;;852:7473:107;;1703:12:82;3666:88:30;852:7473:107;;-1:-1:-1;;;3713:30:30;;852:7473:107;;3713:30:30;852:7473:107;;;;;;-1:-1:-1;;852:7473:107;;;;;;655:32:82;-1:-1:-1;;;;;852:7473:107;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:7473:107;;;;5350:25:23;852:7473:107;;;;;;;:::i;:::-;;-1:-1:-1;852:7473:107;-1:-1:-1;;;;;;;;;;;852:7473:107;;3202:4:23;4919:24;852:7473:107;-1:-1:-1;852:7473:107;4919:24:23;852:7473:107;3202:4:23;:::i;:::-;5350:25;:::i;852:7473:107:-;;;;;;-1:-1:-1;;852:7473:107;;;;;2227:28:109;852:7473:107;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1479:40:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:7473:107;;6441:34:23;6437:102;;6549:37;852:7473:107;;;6549:37:23;:::i;6437:102::-;852:7473:107;;-1:-1:-1;;;6498:30:23;;852:7473:107;;6498:30:23;852:7473:107;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;2391:34:109;852:7473:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:7473:107;;;;;;734:29:82;730:87;;852:7473:107;;;;;6431:44:26;;;;;852:7473:107;6427:105:26;;;6656:20;852:7473:107;6656:20:26;852:7473:107;1167:340:82;852:7473:107;;;;-1:-1:-1;;;;;852:7473:107;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;852:7473:107;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:107;;-1:-1:-1;;;;852:7473:107;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;6656:20:26;;;;852:7473:107;6427:105:26;852:7473:107;;-1:-1:-1;;;6498:23:26;;852:7473:107;;6498:23:26;6431:44;852:7473:107;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:7473:107;;-1:-1:-1;;;786:20:82;;852:7473:107;;786:20:82;852:7473:107;;;;;;-1:-1:-1;;852:7473:107;;;;;;4059:32:109;852:7473:107;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;-1:-1:-1;852:7473:107;2854:59:109;852:7473:107;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1041:36:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1714:45:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;4587:28:109;852:7473:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;3967:36:109;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;2559:32:109;852:7473:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:107;;-1:-1:-1;;;;;;852:7473:107;;;;;;;-1:-1:-1;;;;;852:7473:107;3975:40:24;852:7473:107;;3975:40:24;852:7473:107;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:7473:107;2730:68:109;852:7473:107;;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;-1:-1:-1;;;;;;;;;;;852:7473:107;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;3901:31:23;852:7473:107;;;;;:::i;:::-;;;-1:-1:-1;852:7473:107;-1:-1:-1;;;;;;;;;;;852:7473:107;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;;;;3901:31:23;852:7473:107;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;3869:42:109;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;3775:38:109;852:7473:107;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:7473:107;;;;-1:-1:-1;852:7473:107;477:31:86;852:7473:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:7473:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;477:31:86;;;852:7473:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;477:31:86;852:7473:107;477:31:86;;;;;;;:::i;:::-;518:79;;;852:7473:107;518:79:86;;852:7473:107;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;2139:32:109;852:7473:107;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;900:35:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;3089:94:109;852:7473:107;;;;;:::i;:::-;;;-1:-1:-1;852:7473:107;3089:94:109;852:7473:107;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;;;;3089:94:109;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;3239:92:109;852:7473:107;;;;;:::i;:::-;;;-1:-1:-1;852:7473:107;3239:92:109;852:7473:107;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1187:40:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;4500:31:109;852:7473:107;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;-1:-1:-1;852:7473:107;2969:64:109;852:7473:107;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;2481:22:109;852:7473:107;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;3573:43:109;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1333:36:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;4239:32:109;852:7473:107;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;3672:47:109;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;4147:36:109;852:7473:107;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;2311:24:109;852:7473:107;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;5767:26:23;852:7473:107;;;;;;;:::i;:::-;;-1:-1:-1;852:7473:107;-1:-1:-1;;;;;;;;;;;852:7473:107;;3202:4:23;4919:24;852:7473:107;-1:-1:-1;852:7473:107;4919:24:23;852:7473:107;3202:4:23;:::i;:::-;5767:26;:::i;852:7473:107:-;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;466:39:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;4417:27:109;852:7473:107;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1616:3:109;852:7473:107;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:107;;;;;;;1286:6;852:7473;;;;;;;;;-1:-1:-1;;852:7473:107;;;;2357:1:24;852:7473:107;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:7473:107:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:7473:107;;;;;;-1:-1:-1;;852:7473:107;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:107;;;;;;:::o;1167:340:82:-;;;852:7473:107;3139:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:7473:107;1949:1:30;;1991;852:7473:107;;;1376:73:82;;1167:340;852:7473:107;;;;:::i;:::-;3139:37;852:7473;;;3139:37;;;;;;:::i;:::-;852:7473;;;;;;;-1:-1:-1;;;;;852:7473:107;3191:31;3187:95;;3296:20;;;;;852:7473;;;;;;;;;;3296:25;3292:92;;3398:29;;;852:7473;;3398:29;;852:7473;3398:43;;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;;;;;852:7473:107;;;3398:43;;3394:971;;1167:340:82;4380:23:107;;;852:7473;4379:24;852:7473;;;;;;;;4379:24;;852:7473;4379:24;:67;;;1167:340:82;4375:132:107;;4537:28;;;-1:-1:-1;4522:9:107;1949:1:30;;;4517:411:107;-1:-1:-1;;852:7473:107;;4942:43;;-1:-1:-1;;;;;;852:7473:107;;;4942:43;;4938:1254;;4517:411;6305:34;;;852:7473;6375:23;;;;852:7473;;;;;;;;6430:19;;;852:7473;6485:23;;;852:7473;6554:33;;;852:7473;6636:36;;;852:7473;6717:32;;;852:7473;6798:36;;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37;6237:612;;852:7473;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:107;4380:23;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:107;6237:612;;;852:7473;-1:-1:-1;;;;;852:7473:107;6237:612;;;852:7473;-1:-1:-1;;;;;852:7473:107;6305:34;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:107;6375:23;6237:612;;852:7473;6237:612;;;:::i;:::-;852:7473;;-1:-1:-1;;;;;852:7473:107;1398:1:82;852:7473:107;;-1:-1:-1;;;;;;852:7473:107;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;3139:37;6920:13;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;-1:-1:-1;;;;;;852:7473:107;-1:-1:-1;;;;;852:7473:107;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:7473:107;;-1:-1:-1;;;;852:7473:107;;;;;;-1:-1:-1;;;852:7473:107;;;;;;;;;;1949:1:30;852:7473:107;;-1:-1:-1;;;;;852:7473:107;;;;;;-1:-1:-1;;;;;;852:7473:107;;;;;;;;;;7039:42;;852:7473;;;1398:1:82;852:7473:107;;;;;;;1398:1:82;852:7473:107;;7039:42;6237:612;7109:21;;852:7473;1398:1:82;852:7473:107;;-1:-1:-1;;852:7473:107;;;;;;;;;;;;;;6237:612;7155:19;;852:7473;7140:34;1991:1:30;852:7473:107;-1:-1:-1;;;;;852:7473:107;;;7822:32;;852:7473;;;7185:135;;4517:411;-1:-1:-1;7333:36:107;;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;7329:157;;4517:411;-1:-1:-1;7499:35:107;;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;7495:153;;4517:411;-1:-1:-1;7661:34:107;;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;7657:152;;4517:411;-1:-1:-1;7822:32:107;852:7473;-1:-1:-1;;;;;852:7473:107;;;;;;;7818:145;;1167:340:82;:::o;7818:145:107:-;7884:68;;;:::i;:::-;;1167:340:82:o;7657:152:107:-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;852:7473;;5005:23;;5052;;;852:7473;5052:37;;-1:-1:-1;;;;;852:7473:107;;;5052:37;:23;;5117:32;;;852:7473;5117:46;;-1:-1:-1;;;;;852:7473:107;;;5117:46;:32;;5195:36;;;852:7473;5195:50;;-1:-1:-1;;;;;852:7473:107;;;5195:50;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;852:7473;-1:-1:-1;;;5312:27:107;;;;;5195:78;5249:19;;;;852:7473;5249:24;5195:78;;5113:420;5398:36;;;852:7473;5398:50;;-1:-1:-1;;;;;852:7473:107;;;5398:50;5113:420;5394:139;852:7473;-1:-1:-1;;;5483:27:107;;;;;5048:664;5561:32;;;852:7473;5561:46;;-1:-1:-1;;;;;852:7473:107;;;5561:46;;:74;;;5048:664;5557:155;5048:664;5557:155;852:7473;-1:-1:-1;;;5666:27:107;;;;;5561:74;5611:19;;;;852:7473;5611:24;5561:74;;5001:1181;5753:36;;;852:7473;5753:50;;-1:-1:-1;;;;;852:7473:107;;;5753:50;;:347;;;5001:1181;5732:450;4938:1254;5732:450;852:7473;-1:-1:-1;;;6140:27:107;;;;;5753:347;-1:-1:-1;5853:23:107;;;852:7473;5853:37;;-1:-1:-1;;;;;852:7473:107;;;5853:37;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:107;;;852:7473;6032:46;;-1:-1:-1;;;;;852:7473:107;;;6032:46;;;5753:347;;5853:147;-1:-1:-1;5950:36:107;;;852:7473;5950:50;;-1:-1:-1;;;;;852:7473:107;;;5950:50;;;5853:147;;:65;5894:19;;;;852:7473;5894:24;;5853:65;;4574:3;4537:28;;852:7473;;4533:39;;;;;4597:31;;;:45;:31;;:::i;:::-;852:7473;-1:-1:-1;;;;;852:7473:107;;;4597:45;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:7473:107;;;;;4725:22;852:7473;;;;;;;4725:55;852:7473;;;;;4725:55;4721:120;;4878:28;;;4855:62;:55;4878:31;;:28;;;;:31;:::i;4855:55::-;852:7473;;-1:-1:-1;;852:7473:107;1949:1:30;852:7473:107;;;;4855:62;852:7473;4522:9;;;;4721:120;852:7473;;-1:-1:-1;;;4807:19:107;;;;;4593:114;852:7473;;-1:-1:-1;;;4669:23:107;;;;;4533:39;;;;4375:132;852:7473;;-1:-1:-1;;;4469:27:107;;;;;4379:67;4407:28;;;;;852:7473;4407:39;;4379:67;;3394:971;3461:36;;;852:7473;3461:50;;-1:-1:-1;;;;;852:7473:107;;;3461:50;;3457:419;;3394:971;3894:34;;;852:7473;3894:48;;-1:-1:-1;;;;;852:7473:107;;;3894:48;;3890:465;;3394:971;;;3890:465;3966:21;;;852:7473;;3966:21;;4015:19;;;852:7473;4015:24;:74;;;3962:379;4011:157;3394:971;4011:157;852:7473;-1:-1:-1;;;4124:21:107;;;;;4015:74;-1:-1:-1;4043:32:107;;;852:7473;4043:46;;-1:-1:-1;;;;;852:7473:107;;;4043:46;;4015:74;;3962:379;4196:19;;;852:7473;4196:24;;;:74;;;3962:379;4192:149;3890:465;4192:149;852:7473;-1:-1:-1;;;4301:21:107;;;;;4196:74;-1:-1:-1;4224:32:107;;;852:7473;4224:46;;-1:-1:-1;;;;;852:7473:107;;;4224:46;;;4196:74;;3457:419;3535:23;;;852:7473;;3535:23;;3586:35;;;852:7473;3586:49;;-1:-1:-1;;;;;852:7473:107;;;3586:49;3457:419;3582:132;852:7473;-1:-1:-1;;;3670:21:107;;;;;3531:331;3742:35;;;852:7473;3742:49;;-1:-1:-1;;;;;852:7473:107;;;3742:49;3738:124;3457:419;3738:124;852:7473;-1:-1:-1;;;3822:21:107;;;;;3292:92;852:7473;;-1:-1:-1;;;3344:29:107;;;;;3187:95;852:7473;;-1:-1:-1;;;3245:26:107;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:7473:107;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:7473:107;;-1:-1:-1;;;;;;852:7473:107;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:7473:107;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:7473:107;;;3534:31:24;1809:204:82;;852:7473:107;8110:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;852:7473:107;;;:::i;:::-;;;8096:15;8110:1;;852:7473;;;;8166:40;;;;;852:7473;;;;;8239:6;852:7473;;;;;;;:::i;:::-;8166:40;;;852:7473;;;;;;;;:::i;:::-;8166:40;852:7473;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;8239:6;:::i;8092:225::-;852:7473;;-1:-1:-1;;;8284:22:107;;;;;4148:103:23;-1:-1:-1;852:7473:107;;;-1:-1:-1;;;;;;;;;;;852:7473:107;;;;;;;;966:10:28;852:7473:107;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:7473:107;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:7473:107;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:7473:107;;1398:1:82;852:7473:107;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;;;1398:1:82;852:7473:107;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;-1:-1:-1;;852:7473:107;7509:4:23;852:7473:107;;;966:10:28;;-1:-1:-1;;;;;852:7473:107;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:82;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;466:39:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;-1:-1:-1;;852:7473:107;7509:4:23;852:7473:107;;;966:10:28;;-1:-1:-1;;;;;852:7473:107;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;612:37:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;7270:387:23;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;757:38:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;7270:387:23;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;900:35:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;7270:387:23;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;1041:36:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;7270:387:23;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;1333:36:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;7270:387:23;-1:-1:-1;;;;;852:7473:107;;-1:-1:-1;852:7473:107;;;;;;;;;1479:40:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7473:107;;3901:31:23;852:7473:107;7270:387:23;-1:-1:-1;852:7473:107;;;-1:-1:-1;;;;;;;;;;;852:7473:107;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;3901:31:23;852:7473:107;7892:388:23;-1:-1:-1;852:7473:107;;;-1:-1:-1;;;;;;;;;;;852:7473:107;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:107;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;-1:-1:-1;;852:7473:107;;;966:10:28;;-1:-1:-1;;;;;852:7473:107;;8155:40:23;-1:-1:-1;;8155:40:23;852:7473:107;8209:11:23;:::o;852:7473:107:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:107;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2658:162:24;-1:-1:-1;;;;;;;;;;;852:7473:107;-1:-1:-1;;;;;852:7473:107;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:7473:107;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:7473:107;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:107;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;852:7473:107;-1:-1:-1;;;;;;;;;;;852:7473:107;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:7473:107;;-1:-1:-1;;;7191:17:26;;;;;1642:1070:107;1783:1;852:7473;;1746:38;1742:119;;1875:23;;;852:7473;;-1:-1:-1;;;;;852:7473:107;1875:23;;852:7473;;1875:37;;:65;;1642:1070;1871:130;;852:7473;2183:42;852:7473;2552:36;852:7473;2011:65;852:7473;;;2011:65;1991:1:30;;2011:65:107;2087:42;852:7473;2106:23;;;852:7473;;;;;;2087:42;852:7473;;-1:-1:-1;;;;852:7473:107;;;;;;-1:-1:-1;;;852:7473:107;;;;;;;;2087:42;2139:34;2154:19;;;852:7473;2139:34;1991:1:30;;852:7473:107;;;;;;;;;;2087:42;852:7473;;;2087:42;852:7473;;2183:42;2240:33;;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;2236:148;;1642:1070;-1:-1:-1;2397:32:107;;;852:7473;-1:-1:-1;;;;;852:7473:107;;;;2393:146;;-1:-1:-1;2552:36:107;852:7473;-1:-1:-1;;;;;852:7473:107;;;;;;;2548:158;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;852:7473;;-1:-1:-1;;;1963:27:107;;;;;1875:65;1916:19;;;;852:7473;1916:24;;1875:65;;1742:119;852:7473;;-1:-1:-1;;;1807:43:107;;;;;852:7473;;;;;;;;;;;;2718:286;2836:6;;;:::i;:::-;852:7473;-1:-1:-1;;852:7473:107;;;;;;;2901:14;852:7473;;;;;;;;;;;;;;;;;;1286:6;-1:-1:-1;2854:144:107;;2718:286::o;2854:144::-;852:7473;;-1:-1:-1;;;2956:31:107;;;;;852:7473;;:::i;14296:213:69:-;852:7473:107;14374:24:69;;;;14370:103;;852:7473:107;14296:213:69;:::o;14370:103::-;852:7473:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:7473:107;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69364":[{"start":8871,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/Vault.sol\":\"Vault\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IImplementation.sol\":{\"keccak256\":\"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc\",\"dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe\",\"dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","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":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/Vault.sol":"Vault"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IImplementation.sol":{"keccak256":"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca","urls":["bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc","dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0","urls":["bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe","dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file diff --git a/out/v1.1/VaultTokenized.sol/VaultTokenized.json b/out/v1.1/VaultTokenized.sol/VaultTokenized.json index 3c474cc..afbf09e 100644 --- a/out/v1.1/VaultTokenized.sol/VaultTokenized.json +++ b/out/v1.1/VaultTokenized.sol/VaultTokenized.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"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":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","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":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c03461011c57612a12906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516128c99081610149823960805181818161056601526106d1015260a0518181816113680152611b2b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220db91309f3d3c8627f88e3d5c941d406a5c054a6a21a0163342ce16730aacd34c64736f6c63430008190033","sourceMap":"398:1418:109:-:0;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;398:1418:109;;;;;;;;;7896:76:26;;398:1418:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:106;;398:1418:109;;;;;;;927:17:82;398:1418:109;;;;;;;;;;1445:31:106;398:1418:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;398:1418:109;;;;;;;;;;;;;8087:29:26;;398:1418:109;;8087:29:26;7981:146;;;;;7896:76;398:1418:109;;-1:-1:-1;;;7938:23:26;;;;;398:1418:109;-1:-1:-1;398:1418:109;;;;;;-1:-1:-1;398:1418:109;;;;;-1:-1:-1;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220db91309f3d3c8627f88e3d5c941d406a5c054a6a21a0163342ce16730aacd34c64736f6c63430008190033","sourceMap":"398:1418:109:-:0;;;;;;2603:64:50;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;398:1418:109;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;398:1418:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;398:1418:109;-1:-1:-1;398:1418:109;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;757:38:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;612:37:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;;4919:24:23;398:1418:109;-1:-1:-1;398:1418:109;4919:24:23;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;4327:34:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;398:1418:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;398:1418:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;;;;6431:44:26;;;;398:1418:109;6427:105:26;;-1:-1:-1;;398:1418:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;398:1418:109;-1:-1:-1;;;398:1418:109;;;6656:20:26;;;;398:1418:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;398:1418:109;6427:105:26;398:1418:109;;-1:-1:-1;;;6498:23:26;;398:1418:109;;6498:23:26;6431:44;398:1418:109;;;;6450:25:26;;;6431:44;;1655:71:82;398:1418:109;;-1:-1:-1;;;1703:12:82;;398:1418:109;;1703:12:82;3666:88:30;398:1418:109;;-1:-1:-1;;;3713:30:30;;398:1418:109;;3713:30:30;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;655:32:82;-1:-1:-1;;;;;398:1418:109;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;398:1418:109;;;;5350:25:23;398:1418:109;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;3202:4:23;4919:24;398:1418:109;-1:-1:-1;398:1418:109;4919:24:23;398:1418:109;3202:4:23;:::i;:::-;5350:25;:::i;398:1418:109:-;;;;;;-1:-1:-1;;398:1418:109;;;;;2227:28:108;398:1418:109;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1479:40:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;398:1418:109;;6441:34:23;6437:102;;6549:37;398:1418:109;;;6549:37:23;:::i;6437:102::-;398:1418:109;;-1:-1:-1;;;6498:30:23;;398:1418:109;;6498:30:23;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;2391:34:108;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;398:1418:109;;;;;;734:29:82;730:87;;398:1418:109;;;;;6431:44:26;;;;;398:1418:109;6427:105:26;;;6656:20;398:1418:109;6656:20:26;398:1418:109;1167:340:82;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;398:1418:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;6656:20:26;;;;398:1418:109;6427:105:26;398:1418:109;;-1:-1:-1;;;6498:23:26;;398:1418:109;;6498:23:26;6431:44;398:1418:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;398:1418:109;;-1:-1:-1;;;786:20:82;;398:1418:109;;786:20:82;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;4059:32:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;-1:-1:-1;398:1418:109;2854:59:108;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1041:36:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1714:45:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;4587:28:108;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3967:36:108;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;2559:32:108;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;;;398:1418:109;;;;;;;-1:-1:-1;;;;;398:1418:109;3975:40:24;398:1418:109;;3975:40:24;398:1418:109;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;398:1418:109;2730:68:108;398:1418:109;;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3901:31:23;398:1418:109;;;;;:::i;:::-;;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;3901:31:23;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3869:42:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3775:38:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;398:1418:109;;;;;;;;;;477:31:86;;398:1418:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;398:1418:109;518:79:86;;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;2139:32:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;900:35:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3089:94:108;398:1418:109;;;;;:::i;:::-;;;-1:-1:-1;398:1418:109;3089:94:108;398:1418:109;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;3089:94:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3239:92:108;398:1418:109;;;;;:::i;:::-;;;-1:-1:-1;398:1418:109;3239:92:108;398:1418:109;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1187:40:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;4500:31:108;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;-1:-1:-1;398:1418:109;2969:64:108;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2481:22:108;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3573:43:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1333:36:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;4239:32:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3672:47:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;4147:36:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2311:24:108;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;5767:26:23;398:1418:109;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;3202:4:23;4919:24;398:1418:109;-1:-1:-1;398:1418:109;4919:24:23;398:1418:109;3202:4:23;:::i;:::-;5767:26;:::i;398:1418:109:-;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;466:39:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;4417:27:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1616:3:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1286:6:106;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2357:1:24;398:1418:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;398:1418:109:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:86;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;;;;6430:19:106;398:1418:109;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;:::o;1167:340:82:-;;398:1418:109;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;398:1418:109;;1376:73:82;;1167:340;398:1418:109;;;;:::i;:::-;;;740:55;;;;;;;;398:1418;;;;;;;;740:55;;;398:1418;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;929:107;398:1418;;929:107;398:1418;877:169;398:1418;;;;:::i;:::-;;;;;;;;848:17;398:1418;:::i;:::-;1007:11;1020:13;;398:1418;996:38;398:1418;;996:38;;;;;;;:::i;:::-;;477:31:86;996:38:109;477:31:86;;996:38:109;;;;;;;;:::i;:::-;398:1418;929:107;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;1615:14:106;877:169:109;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;398:1418:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;398:1418:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;;;-1:-1:-1;;398:1418:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;398:1418:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;;;398:1418:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;398:1418:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;398:1418:109;;;3534:31:24;1809:204:82;;-1:-1:-1;;;;;1809:204:82;398:1418:109;1809:204:82;398:1418:109;;;:::i;:::-;;;1188:1;1174:15;;1188:1;;398:1418;1244:40;398:1418;1244:40;398:1418;1317:6;398:1418;;1244:40;;;;;;:::i;:::-;1317:6;:::i;:::-;1809:204:82:o;1170:638:109:-;1359:1;1345:15;1359:1;;1578:145;;1449:58;398:1418;1449:58;398:1418;1522:215;398:1418;;1449:58;;;;;;:::i;:::-;;1677:11;;1690:13;;;398:1418;1666:38;398:1418;;1666:38;;;1449:58;1666:38;;;:::i;:::-;;477:31:86;1666:38:109;477:31:86;;1666:38:109;;;;;;;;:::i;:::-;398:1418;;-1:-1:-1;;;1449:58:109;1578:145;;;398:1418;;;1578:145;;;;:::i;1341:467::-;398:1418;;-1:-1:-1;;;1775:22:109;;;;;4148:103:23;-1:-1:-1;398:1418:109;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;966:10:28;398:1418:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;398:1418:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;398:1418:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;398:1418:109;;3191:17:106;398:1418:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;;;3191:17:106;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;-1:-1:-1;;398:1418:109;7509:4:23;398:1418:109;;;966:10:28;;-1:-1:-1;;;;;398:1418:109;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;3191:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;-1:-1:-1;;398:1418:109;7509:4:23;398:1418:109;;;966:10:28;;-1:-1:-1;;;;;398:1418:109;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;1333:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;1479:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;398:1418:109;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;3901:31:23;398:1418:109;7892:388:23;-1:-1:-1;398:1418:109;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;-1:-1:-1;;398:1418:109;;;966:10:28;;-1:-1:-1;;;;;398:1418:109;;8155:40:23;-1:-1:-1;;8155:40:23;398:1418:109;8209:11:23;:::o;398:1418:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;398:1418:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;398:1418:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:106;;1019:819:50;;;;;;;;;;;;;;;;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;7084:141:26:-;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;398:1418:109;;-1:-1:-1;;;7191:17:26;;;;;398:1418:109;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3010:4959:106;3139:37;3010:4959;3139:37;398:1418:109;;;3139:37:106;;;;;;:::i;:::-;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;3191:31:106;3187:95;;3296:20;;;;;398:1418:109;;;;;;;;;;;3296:25:106;3292:92;;3398:29;;;398:1418:109;;3398:29:106;;398:1418:109;3398:43:106;;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;;;;;398:1418:109;;;3398:43:106;;3394:971;;3010:4959;4380:23;;;398:1418:109;4379:24:106;398:1418:109;;;;;;;;4379:24:106;;398:1418:109;4379:24:106;:67;;;3010:4959;4375:132;;4537:28;;;;4522:9;3191:17;4574:3;4537:28;;398:1418:109;;4533:39:106;;;;;4597:31;;;:45;:31;;:::i;:::-;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;4597:45:106;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;398:1418:109;;;;;4725:22:106;398:1418:109;;;;;;;4725:55:106;398:1418:109;;;;;4725:55:106;4721:120;;4878:28;4855:62;:55;4878:31;;398:1418:109;4878:28:106;;;:31;:::i;4855:55::-;398:1418:109;;-1:-1:-1;;398:1418:109;4913:4:106;398:1418:109;;;;4855:62:106;398:1418:109;4522:9:106;;4721:120;398:1418:109;;-1:-1:-1;;;4807:19:106;;;;;4593:114;398:1418:109;;-1:-1:-1;;;4669:23:106;;;;;4533:39;;;;;;;;;;4942:43;398:1418:109;;;;;;;;;;;4942:43:106;;4938:1254;;4517:411;6305:34;;;398:1418:109;6375:23:106;;;;398:1418:109;;;;;;;;6430:19:106;;;398:1418:109;6485:23:106;;;398:1418:109;6554:33:106;;;398:1418:109;6636:36:106;;;398:1418:109;6717:32:106;;;398:1418:109;6798:36:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37:106;6237:612;;398:1418:109;6237:612:106;;398:1418:109;-1:-1:-1;;;;;398:1418:109;4380:23:106;6237:612;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6237:612:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6237:612:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6305:34:106;6237:612;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6375:23:106;6237:612;;398:1418:109;6237:612:106;;;:::i;:::-;398:1418:109;;-1:-1:-1;;;;;398:1418:109;3191:17:106;398:1418:109;;-1:-1:-1;;;;;;398:1418:109;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;3139:37:106;6920:13;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;-1:-1:-1;;;;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;4913:4:106;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;;;-1:-1:-1;;;398:1418:109;;;;;;;;;;4913:4:106;398:1418:109;;-1:-1:-1;;;;;398:1418:109;;;;;;-1:-1:-1;;;;;;398:1418:109;;;;;;;;;;7039:42:106;;398:1418:109;;;3191:17:106;398:1418:109;;;;;;;3191:17:106;398:1418:109;;7039:42:106;6237:612;7109:21;;398:1418:109;3191:17:106;398:1418:109;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;6237:612:106;7155:19;;398:1418:109;7140:34:106;1991:1:30;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;7822:32:106;;398:1418:109;;;7185:135:106;;4517:411;-1:-1:-1;7333:36:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;7329:157:106;;4517:411;-1:-1:-1;7499:35:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;7495:153:106;;4517:411;-1:-1:-1;7661:34:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;7657:152:106;;4517:411;-1:-1:-1;7822:32:106;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;7818:145:106;;3010:4959;:::o;7818:145::-;7884:68;;;:::i;7657:152::-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;398:1418:109;;5005:23:106;;5052;;;398:1418:109;5052:37:106;;-1:-1:-1;;;;;398:1418:109;;;5052:37:106;:23;;5117:32;;;398:1418:109;5117:46:106;;-1:-1:-1;;;;;398:1418:109;;;5117:46:106;:32;;5195:36;;;398:1418:109;5195:50:106;;-1:-1:-1;;;;;398:1418:109;;;5195:50:106;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;398:1418:109;-1:-1:-1;;;5312:27:106;;;;;5195:78;5249:19;;;;398:1418:109;5249:24:106;5195:78;;5113:420;5398:36;;;398:1418:109;5398:50:106;;-1:-1:-1;;;;;398:1418:109;;;5398:50:106;5113:420;5394:139;398:1418:109;-1:-1:-1;;;5483:27:106;;;;;5048:664;5561:32;;;398:1418:109;5561:46:106;;-1:-1:-1;;;;;398:1418:109;;;5561:46:106;;:74;;;5048:664;5557:155;5048:664;5557:155;398:1418:109;-1:-1:-1;;;5666:27:106;;;;;5561:74;5611:19;;;;398:1418:109;5611:24:106;5561:74;;5001:1181;5753:36;;;398:1418:109;5753:50:106;;-1:-1:-1;;;;;398:1418:109;;;5753:50:106;;:347;;;5001:1181;5732:450;4938:1254;5732:450;398:1418:109;-1:-1:-1;;;6140:27:106;;;;;5753:347;-1:-1:-1;5853:23:106;;;398:1418:109;5853:37:106;;-1:-1:-1;;;;;398:1418:109;;;5853:37:106;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:106;;;398:1418:109;6032:46:106;;-1:-1:-1;;;;;398:1418:109;;;6032:46:106;;;5753:347;;5853:147;-1:-1:-1;5950:36:106;;;398:1418:109;5950:50:106;;-1:-1:-1;;;;;398:1418:109;;;5950:50:106;;;5853:147;;:65;5894:19;;;;398:1418:109;5894:24:106;;5853:65;;4375:132;398:1418:109;;-1:-1:-1;;;4469:27:106;;;;;4379:67;4407:28;;;;;398:1418:109;4407:39:106;;4379:67;;3394:971;3461:36;;;398:1418:109;3461:50:106;;-1:-1:-1;;;;;398:1418:109;;;3461:50:106;;3457:419;;3394:971;3894:34;;;398:1418:109;3894:48:106;;-1:-1:-1;;;;;398:1418:109;;;3894:48:106;;3890:465;;3394:971;;;3890:465;3966:21;;;398:1418:109;;3966:21:106;;4015:19;;;398:1418:109;4015:24:106;:74;;;3962:379;4011:157;3394:971;4011:157;398:1418:109;;-1:-1:-1;;;4124:21:106;;;;;4015:74;-1:-1:-1;4043:32:106;;;398:1418:109;4043:46:106;;-1:-1:-1;;;;;398:1418:109;;;4043:46:106;;4015:74;;3962:379;4196:19;;;398:1418:109;4196:24:106;;;:74;;;3962:379;4192:149;3890:465;4192:149;398:1418:109;;-1:-1:-1;;;4301:21:106;;;;;4196:74;-1:-1:-1;4224:32:106;;;398:1418:109;4224:46:106;;-1:-1:-1;;;;;398:1418:109;;;4224:46:106;;;4196:74;;3457:419;3535:23;;;398:1418:109;;3535:23:106;;3586:35;;;398:1418:109;3586:49:106;;-1:-1:-1;;;;;398:1418:109;;;3586:49:106;3457:419;3582:132;398:1418:109;;-1:-1:-1;;;3670:21:106;;;;;3531:331;3742:35;;;398:1418:109;3742:49:106;;-1:-1:-1;;;;;398:1418:109;;;3742:49:106;3738:124;3457:419;3738:124;398:1418:109;;-1:-1:-1;;;3822:21:106;;;;;3292:92;398:1418:109;;-1:-1:-1;;;3344:29:106;;;;;3187:95;398:1418:109;;-1:-1:-1;;;3245:26:106;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;398:1418:109:-;;;;;;;;;;;;2718:286:106;2836:6;;;:::i;:::-;398:1418:109;-1:-1:-1;;398:1418:109;;;;;;;2901:14:106;398:1418:109;;;;;;;;;;;;;;;;;;1286:6:106;-1:-1:-1;2854:144:106;;2718:286::o;2854:144::-;398:1418:109;;-1:-1:-1;;;2956:31:106;;;;;398:1418:109;;:::i;1642:1070:106:-;1783:1;398:1418:109;;1746:38:106;1742:119;;1875:23;;;398:1418:109;;-1:-1:-1;;;;;398:1418:109;1875:23:106;;398:1418:109;;1875:37:106;;:65;;1642:1070;1871:130;;398:1418:109;2183:42:106;398:1418:109;2552:36:106;398:1418:109;2011:65:106;398:1418:109;;;2011:65:106;1991:1:30;;2011:65:106;2087:42;398:1418:109;2106:23:106;;;398:1418:109;;;;;;2087:42:106;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;;;-1:-1:-1;;;398:1418:109;;;;;;;;2087:42:106;2139:34;2154:19;;;398:1418:109;2139:34:106;1991:1:30;;398:1418:109;;;;;;;;;;2087:42:106;398:1418:109;;;2087:42:106;398:1418:109;;2183:42:106;2240:33;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;2236:148:106;;1642:1070;-1:-1:-1;2397:32:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;2393:146:106;;-1:-1:-1;2552:36:106;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;2548:158:106;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;398:1418:109;;-1:-1:-1;;;1963:27:106;;;;;1875:65;1916:19;;;;398:1418:109;1916:24:106;;1875:65;;1742:119;398:1418:109;;-1:-1:-1;;;1807:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;398:1418:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;398:1418:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;398:1418:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;398:1418:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;398:1418:109;;;4917:24:56;;;398:1418:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;398:1418:109;14374:24:69;;;;14370:103;;398:1418:109;14296:213:69;:::o;14370:103::-;398:1418:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;398:1418:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4968,"length":32},{"start":6955,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenized.sol\":\"VaultTokenized\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","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":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenized.sol":"VaultTokenized"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"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":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","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":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c03461011c57612a12906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516128c99081610149823960805181818161056601526106d1015260a0518181816113680152611b2b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122005dfe4eaad2d323df1c19fc3fb525337156b2392bd260cebf280e669fd8cebc964736f6c63430008190033","sourceMap":"398:1418:110:-:0;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;398:1418:110;;;;;;;;;7896:76:26;;398:1418:110;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1445:31:107;;398:1418:110;;;;;;;927:17:82;398:1418:110;;;;;;;;;;1445:31:107;398:1418:110;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;398:1418:110;;;;;;;;;;;;;8087:29:26;;398:1418:110;;8087:29:26;7981:146;;;;;7896:76;398:1418:110;;-1:-1:-1;;;7938:23:26;;;;;398:1418:110;-1:-1:-1;398:1418:110;;;;;;-1:-1:-1;398:1418:110;;;;;-1:-1:-1;398:1418:110;;;;-1:-1:-1;;;;;398:1418:110;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122005dfe4eaad2d323df1c19fc3fb525337156b2392bd260cebf280e669fd8cebc964736f6c63430008190033","sourceMap":"398:1418:110:-:0;;;;;;2603:64:50;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;398:1418:110;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;398:1418:110;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;398:1418:110;-1:-1:-1;398:1418:110;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;757:38:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;612:37:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;-1:-1:-1;398:1418:110;-1:-1:-1;;;;;;;;;;;398:1418:110;;;4919:24:23;398:1418:110;-1:-1:-1;398:1418:110;4919:24:23;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;4327:34:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;398:1418:110;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;398:1418:110;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;398:1418:110;;;;;;;;;;;6431:44:26;;;;398:1418:110;6427:105:26;;-1:-1:-1;;398:1418:110;;;;;;;;;-1:-1:-1;;;;;;;;;;;398:1418:110;;-1:-1:-1;;;;398:1418:110;-1:-1:-1;;;398:1418:110;;;6656:20:26;;;;398:1418:110;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:110;;-1:-1:-1;;;;398:1418:110;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;398:1418:110;6427:105:26;398:1418:110;;-1:-1:-1;;;6498:23:26;;398:1418:110;;6498:23:26;6431:44;398:1418:110;;;;6450:25:26;;;6431:44;;1655:71:82;398:1418:110;;-1:-1:-1;;;1703:12:82;;398:1418:110;;1703:12:82;3666:88:30;398:1418:110;;-1:-1:-1;;;3713:30:30;;398:1418:110;;3713:30:30;398:1418:110;;;;;;-1:-1:-1;;398:1418:110;;;;;;655:32:82;-1:-1:-1;;;;;398:1418:110;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;:::o;:::-;;;;;;-1:-1:-1;;398:1418:110;;;;5350:25:23;398:1418:110;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:110;-1:-1:-1;;;;;;;;;;;398:1418:110;;3202:4:23;4919:24;398:1418:110;-1:-1:-1;398:1418:110;4919:24:23;398:1418:110;3202:4:23;:::i;:::-;5350:25;:::i;398:1418:110:-;;;;;;-1:-1:-1;;398:1418:110;;;;;2227:28:109;398:1418:110;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1479:40:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;398:1418:110;;6441:34:23;6437:102;;6549:37;398:1418:110;;;6549:37:23;:::i;6437:102::-;398:1418:110;;-1:-1:-1;;;6498:30:23;;398:1418:110;;6498:30:23;398:1418:110;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;2391:34:109;398:1418:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;-1:-1:-1;;;;;;;;;;;;;;;;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;398:1418:110;;;;;;734:29:82;730:87;;398:1418:110;;;;;6431:44:26;;;;;398:1418:110;6427:105:26;;;6656:20;398:1418:110;6656:20:26;398:1418:110;1167:340:82;398:1418:110;;;;-1:-1:-1;;;;;398:1418:110;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;398:1418:110;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:110;;-1:-1:-1;;;;398:1418:110;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;6656:20:26;;;;398:1418:110;6427:105:26;398:1418:110;;-1:-1:-1;;;6498:23:26;;398:1418:110;;6498:23:26;6431:44;398:1418:110;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;398:1418:110;;-1:-1:-1;;;786:20:82;;398:1418:110;;786:20:82;398:1418:110;;;;;;-1:-1:-1;;398:1418:110;;;;;;4059:32:109;398:1418:110;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;-1:-1:-1;398:1418:110;2854:59:109;398:1418:110;;;;-1:-1:-1;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1041:36:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1714:45:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;4587:28:109;398:1418:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;3967:36:109;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;2559:32:109;398:1418:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:110;;-1:-1:-1;;;;;;398:1418:110;;;;;;;-1:-1:-1;;;;;398:1418:110;3975:40:24;398:1418:110;;3975:40:24;398:1418:110;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;398:1418:110;2730:68:109;398:1418:110;;;;;-1:-1:-1;398:1418:110;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;-1:-1:-1;;;;;;;;;;;398:1418:110;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;3901:31:23;398:1418:110;;;;;:::i;:::-;;;-1:-1:-1;398:1418:110;-1:-1:-1;;;;;;;;;;;398:1418:110;;;-1:-1:-1;398:1418:110;;;;;;;;;;;;;;;;;3901:31:23;398:1418:110;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;3869:42:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;3775:38:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;398:1418:110;;;;-1:-1:-1;398:1418:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;398:1418:110;;;;;;;;;;477:31:86;;398:1418:110;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;398:1418:110;518:79:86;;398:1418:110;;;;;;-1:-1:-1;;398:1418:110;;;;;;2139:32:109;398:1418:110;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;900:35:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;3089:94:109;398:1418:110;;;;;:::i;:::-;;;-1:-1:-1;398:1418:110;3089:94:109;398:1418:110;;;-1:-1:-1;398:1418:110;;;;;;;;;;;;;;;;;3089:94:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;3239:92:109;398:1418:110;;;;;:::i;:::-;;;-1:-1:-1;398:1418:110;3239:92:109;398:1418:110;;;-1:-1:-1;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1187:40:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;4500:31:109;398:1418:110;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;-1:-1:-1;398:1418:110;2969:64:109;398:1418:110;;;;-1:-1:-1;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;2481:22:109;398:1418:110;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;3573:43:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1333:36:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;4239:32:109;398:1418:110;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;3672:47:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;4147:36:109;398:1418:110;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;2311:24:109;398:1418:110;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;5767:26:23;398:1418:110;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:110;-1:-1:-1;;;;;;;;;;;398:1418:110;;3202:4:23;4919:24;398:1418:110;-1:-1:-1;398:1418:110;4919:24:23;398:1418:110;3202:4:23;:::i;:::-;5767:26;:::i;398:1418:110:-;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;466:39:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;4417:27:109;398:1418:110;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1616:3:109;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:110;;;;;;;1286:6:107;398:1418:110;;;;;;;;;-1:-1:-1;;398:1418:110;;;;2357:1:24;398:1418:110;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;398:1418:110:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:86;;398:1418:110;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;:::o;:::-;;;;6430:19:107;398:1418:110;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;:::o;:::-;-1:-1:-1;;;;;398:1418:110;;;;;;-1:-1:-1;;398:1418:110;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:110;;;;;;:::o;1167:340:82:-;;398:1418:110;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;398:1418:110;;1376:73:82;;1167:340;398:1418:110;;;;:::i;:::-;;;740:55;;;;;;;;398:1418;;;;;;;;740:55;;;398:1418;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;929:107;398:1418;;929:107;398:1418;877:169;398:1418;;;;:::i;:::-;;;;;;;;848:17;398:1418;:::i;:::-;1007:11;1020:13;;398:1418;996:38;398:1418;;996:38;;;;;;;:::i;:::-;;477:31:86;996:38:110;477:31:86;;996:38:110;;;;;;;;:::i;:::-;398:1418;929:107;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;1615:14:107;877:169:110;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;398:1418:110;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;398:1418:110;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:110;;;;;;;;-1:-1:-1;;398:1418:110;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;398:1418:110;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;398:1418:110;;-1:-1:-1;;;;;;398:1418:110;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;398:1418:110;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;398:1418:110;;;3534:31:24;1809:204:82;;-1:-1:-1;;;;;1809:204:82;398:1418:110;1809:204:82;398:1418:110;;;:::i;:::-;;;1188:1;1174:15;;1188:1;;398:1418;1244:40;398:1418;1244:40;398:1418;1317:6;398:1418;;1244:40;;;;;;:::i;:::-;1317:6;:::i;:::-;1809:204:82:o;1170:638:110:-;1359:1;1345:15;1359:1;;1578:145;;1449:58;398:1418;1449:58;398:1418;1522:215;398:1418;;1449:58;;;;;;:::i;:::-;;1677:11;;1690:13;;;398:1418;1666:38;398:1418;;1666:38;;;1449:58;1666:38;;;:::i;:::-;;477:31:86;1666:38:110;477:31:86;;1666:38:110;;;;;;;;:::i;:::-;398:1418;;-1:-1:-1;;;1449:58:110;1578:145;;;398:1418;;;1578:145;;;;:::i;1341:467::-;398:1418;;-1:-1:-1;;;1775:22:110;;;;;4148:103:23;-1:-1:-1;398:1418:110;;;-1:-1:-1;;;;;;;;;;;398:1418:110;;;;;;;;966:10:28;398:1418:110;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;398:1418:110;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;398:1418:110;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;398:1418:110;;3191:17:107;398:1418:110;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;;;3191:17:107;398:1418:110;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;-1:-1:-1;;398:1418:110;7509:4:23;398:1418:110;;;966:10:28;;-1:-1:-1;;;;;398:1418:110;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;3191:17:107;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;466:39:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;;;;-1:-1:-1;398:1418:110;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;-1:-1:-1;;398:1418:110;7509:4:23;398:1418:110;;;966:10:28;;-1:-1:-1;;;;;398:1418:110;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;612:37:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;7270:387:23;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;757:38:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;7270:387:23;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;900:35:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;7270:387:23;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;1041:36:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;7270:387:23;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;1333:36:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;7270:387:23;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;398:1418:110;;;;;;;;;1479:40:109;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:110;;3901:31:23;398:1418:110;7270:387:23;-1:-1:-1;398:1418:110;;;-1:-1:-1;;;;;;;;;;;398:1418:110;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;3901:31:23;398:1418:110;7892:388:23;-1:-1:-1;398:1418:110;;;-1:-1:-1;;;;;;;;;;;398:1418:110;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:110;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;-1:-1:-1;;398:1418:110;;;966:10:28;;-1:-1:-1;;;;;398:1418:110;;8155:40:23;-1:-1:-1;;8155:40:23;398:1418:110;8209:11:23;:::o;398:1418:110:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:110;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;398:1418:110;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;398:1418:110;;;2763:40:24;2323:83:50;1019:819;;;;;;;1615:14:107;;1019:819:50;;;;;;;;;;;;;;;;398:1418:110;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;7084:141:26:-;398:1418:110;-1:-1:-1;;;;;;;;;;;398:1418:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;398:1418:110;;-1:-1:-1;;;7191:17:26;;;;;398:1418:110;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3010:4959:107;3139:37;3010:4959;3139:37;398:1418:110;;;3139:37:107;;;;;;:::i;:::-;398:1418:110;;;;-1:-1:-1;;;;;398:1418:110;;;3191:31:107;3187:95;;3296:20;;;;;398:1418:110;;;;;;;;;;;3296:25:107;3292:92;;3398:29;;;398:1418:110;;3398:29:107;;398:1418:110;3398:43:107;;-1:-1:-1;;;;;398:1418:110;;-1:-1:-1;;;;;398:1418:110;;;3398:43:107;;3394:971;;3010:4959;4380:23;;;398:1418:110;4379:24:107;398:1418:110;;;;;;;;4379:24:107;;398:1418:110;4379:24:107;:67;;;3010:4959;4375:132;;4537:28;;;;4522:9;3191:17;4574:3;4537:28;;398:1418:110;;4533:39:107;;;;;4597:31;;;:45;:31;;:::i;:::-;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;4597:45:107;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;398:1418:110;;;;;4725:22:107;398:1418:110;;;;;;;4725:55:107;398:1418:110;;;;;4725:55:107;4721:120;;4878:28;4855:62;:55;4878:31;;398:1418:110;4878:28:107;;;:31;:::i;4855:55::-;398:1418:110;;-1:-1:-1;;398:1418:110;4913:4:107;398:1418:110;;;;4855:62:107;398:1418:110;4522:9:107;;4721:120;398:1418:110;;-1:-1:-1;;;4807:19:107;;;;;4593:114;398:1418:110;;-1:-1:-1;;;4669:23:107;;;;;4533:39;;;;;;;;;;4942:43;398:1418:110;;;;;;;;;;;4942:43:107;;4938:1254;;4517:411;6305:34;;;398:1418:110;6375:23:107;;;;398:1418:110;;;;;;;;6430:19:107;;;398:1418:110;6485:23:107;;;398:1418:110;6554:33:107;;;398:1418:110;6636:36:107;;;398:1418:110;6717:32:107;;;398:1418:110;6798:36:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37:107;6237:612;;398:1418:110;6237:612:107;;398:1418:110;-1:-1:-1;;;;;398:1418:110;4380:23:107;6237:612;;398:1418:110;-1:-1:-1;;;;;398:1418:110;6237:612:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;6237:612:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;6305:34:107;6237:612;;398:1418:110;-1:-1:-1;;;;;398:1418:110;6375:23:107;6237:612;;398:1418:110;6237:612:107;;;:::i;:::-;398:1418:110;;-1:-1:-1;;;;;398:1418:110;3191:17:107;398:1418:110;;-1:-1:-1;;;;;;398:1418:110;;;;;;-1:-1:-1;;;;;398:1418:110;;;;;;;3139:37:107;6920:13;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;-1:-1:-1;;;;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;4913:4:107;398:1418:110;;-1:-1:-1;;;;398:1418:110;;;;;;-1:-1:-1;;;398:1418:110;;;;;;;;;;4913:4:107;398:1418:110;;-1:-1:-1;;;;;398:1418:110;;;;;;-1:-1:-1;;;;;;398:1418:110;;;;;;;;;;7039:42:107;;398:1418:110;;;3191:17:107;398:1418:110;;;;;;;3191:17:107;398:1418:110;;7039:42:107;6237:612;7109:21;;398:1418:110;3191:17:107;398:1418:110;;-1:-1:-1;;398:1418:110;;;;;;;;;;;;;;6237:612:107;7155:19;;398:1418:110;7140:34:107;1991:1:30;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;7822:32:107;;398:1418:110;;;7185:135:107;;4517:411;-1:-1:-1;7333:36:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;7329:157:107;;4517:411;-1:-1:-1;7499:35:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;7495:153:107;;4517:411;-1:-1:-1;7661:34:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;7657:152:107;;4517:411;-1:-1:-1;7822:32:107;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;;;;7818:145:107;;3010:4959;:::o;7818:145::-;7884:68;;;:::i;7657:152::-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;398:1418:110;;5005:23:107;;5052;;;398:1418:110;5052:37:107;;-1:-1:-1;;;;;398:1418:110;;;5052:37:107;:23;;5117:32;;;398:1418:110;5117:46:107;;-1:-1:-1;;;;;398:1418:110;;;5117:46:107;:32;;5195:36;;;398:1418:110;5195:50:107;;-1:-1:-1;;;;;398:1418:110;;;5195:50:107;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;398:1418:110;-1:-1:-1;;;5312:27:107;;;;;5195:78;5249:19;;;;398:1418:110;5249:24:107;5195:78;;5113:420;5398:36;;;398:1418:110;5398:50:107;;-1:-1:-1;;;;;398:1418:110;;;5398:50:107;5113:420;5394:139;398:1418:110;-1:-1:-1;;;5483:27:107;;;;;5048:664;5561:32;;;398:1418:110;5561:46:107;;-1:-1:-1;;;;;398:1418:110;;;5561:46:107;;:74;;;5048:664;5557:155;5048:664;5557:155;398:1418:110;-1:-1:-1;;;5666:27:107;;;;;5561:74;5611:19;;;;398:1418:110;5611:24:107;5561:74;;5001:1181;5753:36;;;398:1418:110;5753:50:107;;-1:-1:-1;;;;;398:1418:110;;;5753:50:107;;:347;;;5001:1181;5732:450;4938:1254;5732:450;398:1418:110;-1:-1:-1;;;6140:27:107;;;;;5753:347;-1:-1:-1;5853:23:107;;;398:1418:110;5853:37:107;;-1:-1:-1;;;;;398:1418:110;;;5853:37:107;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:107;;;398:1418:110;6032:46:107;;-1:-1:-1;;;;;398:1418:110;;;6032:46:107;;;5753:347;;5853:147;-1:-1:-1;5950:36:107;;;398:1418:110;5950:50:107;;-1:-1:-1;;;;;398:1418:110;;;5950:50:107;;;5853:147;;:65;5894:19;;;;398:1418:110;5894:24:107;;5853:65;;4375:132;398:1418:110;;-1:-1:-1;;;4469:27:107;;;;;4379:67;4407:28;;;;;398:1418:110;4407:39:107;;4379:67;;3394:971;3461:36;;;398:1418:110;3461:50:107;;-1:-1:-1;;;;;398:1418:110;;;3461:50:107;;3457:419;;3394:971;3894:34;;;398:1418:110;3894:48:107;;-1:-1:-1;;;;;398:1418:110;;;3894:48:107;;3890:465;;3394:971;;;3890:465;3966:21;;;398:1418:110;;3966:21:107;;4015:19;;;398:1418:110;4015:24:107;:74;;;3962:379;4011:157;3394:971;4011:157;398:1418:110;;-1:-1:-1;;;4124:21:107;;;;;4015:74;-1:-1:-1;4043:32:107;;;398:1418:110;4043:46:107;;-1:-1:-1;;;;;398:1418:110;;;4043:46:107;;4015:74;;3962:379;4196:19;;;398:1418:110;4196:24:107;;;:74;;;3962:379;4192:149;3890:465;4192:149;398:1418:110;;-1:-1:-1;;;4301:21:107;;;;;4196:74;-1:-1:-1;4224:32:107;;;398:1418:110;4224:46:107;;-1:-1:-1;;;;;398:1418:110;;;4224:46:107;;;4196:74;;3457:419;3535:23;;;398:1418:110;;3535:23:107;;3586:35;;;398:1418:110;3586:49:107;;-1:-1:-1;;;;;398:1418:110;;;3586:49:107;3457:419;3582:132;398:1418:110;;-1:-1:-1;;;3670:21:107;;;;;3531:331;3742:35;;;398:1418:110;3742:49:107;;-1:-1:-1;;;;;398:1418:110;;;3742:49:107;3738:124;3457:419;3738:124;398:1418:110;;-1:-1:-1;;;3822:21:107;;;;;3292:92;398:1418:110;;-1:-1:-1;;;3344:29:107;;;;;3187:95;398:1418:110;;-1:-1:-1;;;3245:26:107;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;398:1418:110:-;;;;;;;;;;;;2718:286:107;2836:6;;;:::i;:::-;398:1418:110;-1:-1:-1;;398:1418:110;;;;;;;2901:14:107;398:1418:110;;;;;;;;;;;;;;;;;;1286:6:107;-1:-1:-1;2854:144:107;;2718:286::o;2854:144::-;398:1418:110;;-1:-1:-1;;;2956:31:107;;;;;398:1418:110;;:::i;1642:1070:107:-;1783:1;398:1418:110;;1746:38:107;1742:119;;1875:23;;;398:1418:110;;-1:-1:-1;;;;;398:1418:110;1875:23:107;;398:1418:110;;1875:37:107;;:65;;1642:1070;1871:130;;398:1418:110;2183:42:107;398:1418:110;2552:36:107;398:1418:110;2011:65:107;398:1418:110;;;2011:65:107;1991:1:30;;2011:65:107;2087:42;398:1418:110;2106:23:107;;;398:1418:110;;;;;;2087:42:107;398:1418:110;;-1:-1:-1;;;;398:1418:110;;;;;;-1:-1:-1;;;398:1418:110;;;;;;;;2087:42:107;2139:34;2154:19;;;398:1418:110;2139:34:107;1991:1:30;;398:1418:110;;;;;;;;;;2087:42:107;398:1418:110;;;2087:42:107;398:1418:110;;2183:42:107;2240:33;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;2236:148:107;;1642:1070;-1:-1:-1;2397:32:107;;;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;2393:146:107;;-1:-1:-1;2552:36:107;398:1418:110;-1:-1:-1;;;;;398:1418:110;;;;;;;2548:158:107;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;398:1418:110;;-1:-1:-1;;;1963:27:107;;;;;1875:65;1916:19;;;;398:1418:110;1916:24:107;;1875:65;;1742:119;398:1418:110;;-1:-1:-1;;;1807:43:107;;;;;4421:582:56;;4593:8;;-1:-1:-1;398:1418:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;398:1418:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;398:1418:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;398:1418:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;398:1418:110;;;4917:24:56;;;398:1418:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;398:1418:110;14374:24:69;;;;14370:103;;398:1418:110;14296:213:69;:::o;14370:103::-;398:1418:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;398:1418:110;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69364":[{"start":4968,"length":32},{"start":6955,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"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\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"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\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"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.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"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.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenized.sol\":\"VaultTokenized\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Implementation.sol\":{\"keccak256\":\"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6\",\"dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d\",\"dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IImplementation.sol\":{\"keccak256\":\"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc\",\"dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe\",\"dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31\",\"dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","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":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"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."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenized.sol":"VaultTokenized"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Implementation.sol":{"keccak256":"0x5844398f936265c78767f303d941a31e6f3b076323d6f8cad9865e43f8eecb15","urls":["bzz-raw://2e6e8419e33fe910b2851119d08507b2e0705e940652fe5e287449ab12f2fdf6","dweb:/ipfs/Qmb2zjVSUpyHgYwvNwBFmYgGuT7YbREG5HG47h7QkddDdb"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0xf12c48224ab5c0477ea1420d360f66df5b3ba448fb1ad9c906d315af95c62e73","urls":["bzz-raw://92834913235d1666133f463f0d2d92eacd624b884316034f4faebf408a42894d","dweb:/ipfs/QmNW4WNCSPkLzHpEgWhAMZ8YrkRv4LduozwJy2DjfGRa5C"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IImplementation.sol":{"keccak256":"0x7be18c9b654ec256587e54175e856d2cec4250720b40bea95fdf59bbccda40ca","urls":["bzz-raw://f85880b37ca48e475c12864f694633c03cc42c424384371fb58e53b55c1e1cfc","dweb:/ipfs/QmfS5TLH8hCdgjYboHbJ5djwbV1SALfv8k7KAAMioDoGub"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x3b85a2767616c25886c2a21b828fe39f59e1e93e9deb00a85104f7c9adeb0da0","urls":["bzz-raw://a9bafc5ef903c17c474d9d07714843507e921785f1f8c6cac60876d81321b5fe","dweb:/ipfs/QmWdV8EW9gTgJXGWWWicPJg5cXdtPMjWSgq1NvCBLquiWE"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0xd5fe108bfa86fb1faf50e3bc0817bf0a5cb0b8abc94aa83e6932e7351c94852b","urls":["bzz-raw://20e847d8fb90f8f5295940336b10198b0e218c1ddf96daf641928d08905f3f31","dweb:/ipfs/QmXWVMV4GUmfzN8M4FSgjVy6i6FxgCxHjBXtYcWYrAzdvS"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file diff --git a/src/contracts/vault/v1.1/Implementation.sol b/src/contracts/vault/v1.1/Implementation.sol new file mode 100644 index 0000000..56da428 --- /dev/null +++ b/src/contracts/vault/v1.1/Implementation.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: BUSL-1.1 +pragma solidity 0.8.25; + +import {IImplementation} from "../../../interfaces/vault/v1.1/IImplementation.sol"; + +contract Implementation is IImplementation { + address private immutable FACTORY; + + modifier onlyFactory() { + _isFactory(); + _; + } + + constructor( + address factory + ) { + FACTORY = factory; + } + + function _isFactory() internal view { + if (msg.sender != FACTORY) { + revert NotFactory(); + } + } +} diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 0c4ab31..7976df3 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -2,6 +2,7 @@ pragma solidity 0.8.25; import {VaultStorage} from "./VaultStorage.sol"; +import {Implementation} from "./Implementation.sol"; import {IBaseDelegator} from "../../../interfaces/delegator/IBaseDelegator.sol"; import {IBaseSlasher} from "../../../interfaces/slasher/IBaseSlasher.sol"; @@ -20,7 +21,13 @@ import {Time} from "@openzeppelin/contracts/utils/types/Time.sol"; import {IERC3156FlashBorrower} from "@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol"; import {IERC3156FlashLender} from "@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol"; -contract VaultImplementation is VaultStorage, AccessControlUpgradeable, ReentrancyGuardUpgradeable, IVault { +contract VaultImplementation is + VaultStorage, + Implementation, + AccessControlUpgradeable, + ReentrancyGuardUpgradeable, + IVault +{ using Checkpoints for Checkpoints.Trace256; using Math for uint256; using Math for uint48; @@ -37,7 +44,7 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran */ address public immutable SLASHER_FACTORY; - constructor(address delegatorFactory, address slasherFactory) { + constructor(address vaultFactory, address delegatorFactory, address slasherFactory) Implementation(vaultFactory) { DELEGATOR_FACTORY = delegatorFactory; SLASHER_FACTORY = slasherFactory; } @@ -719,5 +726,5 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran function _Vault_init( bytes calldata /* data */ - ) external {} + ) external onlyFactory {} } diff --git a/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol b/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol index df4e224..5794959 100644 --- a/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol +++ b/src/contracts/vault/v1.1/VaultTokenizedImplementation.sol @@ -2,6 +2,7 @@ pragma solidity 0.8.25; import {VaultStorage} from "./VaultStorage.sol"; +import {Implementation} from "./Implementation.sol"; import {IVault} from "../../../interfaces/vault/v1.1/IVault.sol"; import {IVaultTokenized} from "../../../interfaces/vault/v1.1/IVaultTokenized.sol"; @@ -19,6 +20,7 @@ import {Address} from "@openzeppelin/contracts/utils/Address.sol"; contract VaultTokenizedImplementation is VaultStorage, + Implementation, ERC20Upgradeable, ReentrancyGuardUpgradeable, Proxy, @@ -29,9 +31,7 @@ contract VaultTokenizedImplementation is address private immutable BASE_IMPLEMENTATION; - constructor( - address baseImplementation - ) { + constructor(address vaultFactory, address baseImplementation) Implementation(vaultFactory) { BASE_IMPLEMENTATION = baseImplementation; } @@ -136,7 +136,7 @@ contract VaultTokenizedImplementation is function _VaultTokenized_init( bytes calldata data - ) external { + ) external onlyFactory { (string memory name, string memory symbol) = abi.decode(data, (string, string)); __ERC20_init(name, symbol); diff --git a/src/contracts/vault/v1.1/VaultVotesImplementation.sol b/src/contracts/vault/v1.1/VaultVotesImplementation.sol index 4c2ce43..27714ca 100644 --- a/src/contracts/vault/v1.1/VaultVotesImplementation.sol +++ b/src/contracts/vault/v1.1/VaultVotesImplementation.sol @@ -23,8 +23,9 @@ contract VaultVotesImplementation is VaultTokenizedImplementation, VotesUpgradea using Address for address; constructor( + address vaultFactory, address baseImplementation - ) VaultTokenizedImplementation(baseImplementation) {} + ) VaultTokenizedImplementation(vaultFactory, baseImplementation) {} /** * @inheritdoc IERC6372 @@ -108,7 +109,7 @@ contract VaultVotesImplementation is VaultTokenizedImplementation, VotesUpgradea function _VaultVotes_init( bytes calldata /* data */ - ) external { + ) external onlyFactory { __EIP712_init("VaultVotes", "1"); } } diff --git a/src/interfaces/vault/v1.1/IImplementation.sol b/src/interfaces/vault/v1.1/IImplementation.sol new file mode 100644 index 0000000..c2cb0cb --- /dev/null +++ b/src/interfaces/vault/v1.1/IImplementation.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +interface IImplementation { + error NotFactory(); +} diff --git a/src/interfaces/vault/v1.1/IVault.sol b/src/interfaces/vault/v1.1/IVault.sol index b6e81a9..48266d0 100644 --- a/src/interfaces/vault/v1.1/IVault.sol +++ b/src/interfaces/vault/v1.1/IVault.sol @@ -2,12 +2,13 @@ pragma solidity ^0.8.0; import {IVaultStorage} from "./IVaultStorage.sol"; +import {IImplementation} from "./IImplementation.sol"; import {IAccessControl} from "@openzeppelin/contracts/access/IAccessControl.sol"; import {IERC165} from "@openzeppelin/contracts/interfaces/IERC165.sol"; import {IERC3156FlashLender} from "@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol"; -interface IVault is IVaultStorage, IAccessControl, IERC165, IERC3156FlashLender { +interface IVault is IVaultStorage, IImplementation, IAccessControl, IERC165, IERC3156FlashLender { error AlreadyClaimed(); error AlreadySet(); error DelegatorAlreadyInitialized(); diff --git a/src/interfaces/vault/v1.1/IVaultTokenized.sol b/src/interfaces/vault/v1.1/IVaultTokenized.sol index d6e49d9..3887965 100644 --- a/src/interfaces/vault/v1.1/IVaultTokenized.sol +++ b/src/interfaces/vault/v1.1/IVaultTokenized.sol @@ -1,11 +1,13 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; +import {IImplementation} from "./IImplementation.sol"; + import {IERC20Errors} from "@openzeppelin/contracts/interfaces/draft-IERC6093.sol"; import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -interface IVaultTokenized is IERC20, IERC20Metadata, IERC20Errors { +interface IVaultTokenized is IImplementation, IERC20, IERC20Metadata, IERC20Errors { /** * @notice Initial parameters needed for a tokenized vault deployment. * @param baseParams initial parameters needed for a vault deployment (abi.encode(IVault.InitParams)) diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index f59d881..d53e715 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -102,7 +102,7 @@ contract VaultTest is Test { vaultFactory.whitelist(vaultTokenizedV1Impl); address vaultImplementation = - address(new VaultImplementation(address(delegatorFactory), address(slasherFactory))); + address(new VaultImplementation(address(vaultFactory), address(delegatorFactory), address(slasherFactory))); address vaultImpl = address(new Vault(address(vaultFactory), vaultImplementation)); vaultFactory.whitelist(vaultImpl); diff --git a/test/vault/v1.1/VaultTokenized.t.sol b/test/vault/v1.1/VaultTokenized.t.sol index abf468c..22f10ad 100644 --- a/test/vault/v1.1/VaultTokenized.t.sol +++ b/test/vault/v1.1/VaultTokenized.t.sol @@ -102,11 +102,12 @@ contract VaultTokenizedTest is Test { vaultFactory.whitelist(vaultTokenizedV1Impl); address vaultImplementation = - address(new VaultImplementation(address(delegatorFactory), address(slasherFactory))); + address(new VaultImplementation(address(vaultFactory), address(delegatorFactory), address(slasherFactory))); address vaultImpl = address(new Vault(address(vaultFactory), vaultImplementation)); vaultFactory.whitelist(vaultImpl); - address vaultTokenizedImplementation = address(new VaultTokenizedImplementation(vaultImplementation)); + address vaultTokenizedImplementation = + address(new VaultTokenizedImplementation(address(vaultFactory), vaultImplementation)); address vaultTokenizedImpl = address(new VaultTokenized(address(vaultFactory), vaultTokenizedImplementation)); vaultFactory.whitelist(vaultTokenizedImpl); diff --git a/test/vault/v1.1/VaultVotes.t.sol b/test/vault/v1.1/VaultVotes.t.sol index 3dc94a7..69d3784 100644 --- a/test/vault/v1.1/VaultVotes.t.sol +++ b/test/vault/v1.1/VaultVotes.t.sol @@ -105,15 +105,17 @@ contract VaultVotesTest is Test { vaultFactory.whitelist(vaultTokenizedV1Impl); address vaultImplementation = - address(new VaultImplementation(address(delegatorFactory), address(slasherFactory))); + address(new VaultImplementation(address(vaultFactory), address(delegatorFactory), address(slasherFactory))); address vaultImpl = address(new Vault(address(vaultFactory), vaultImplementation)); vaultFactory.whitelist(vaultImpl); - address vaultTokenizedImplementation = address(new VaultTokenizedImplementation(vaultImplementation)); + address vaultTokenizedImplementation = + address(new VaultTokenizedImplementation(address(vaultFactory), vaultImplementation)); address vaultTokenizedImpl = address(new VaultTokenized(address(vaultFactory), vaultTokenizedImplementation)); vaultFactory.whitelist(vaultTokenizedImpl); - address vaultVotesImplementation = address(new VaultVotesImplementation(vaultImplementation)); + address vaultVotesImplementation = + address(new VaultVotesImplementation(address(vaultFactory), vaultImplementation)); address vaultVotesImpl = address(new VaultVotes(address(vaultFactory), vaultVotesImplementation)); vaultFactory.whitelist(vaultVotesImpl);