@pimlico/alto 0.0.0-main.20251205T161640 → 0.0.0-main.20260101T134812
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/EIP712.sol/EIP712.json +1 -1
- package/contracts/ERC165.sol/ERC165.json +1 -1
- package/contracts/ERC20.sol/ERC20.json +1 -1
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
- package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
- package/contracts/Exec.sol/Exec.json +1 -1
- package/contracts/IAccount.sol/IAccount.json +1 -1
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
- package/contracts/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/IERC165.sol/IERC165.json +1 -1
- package/contracts/IERC5267.sol/IERC5267.json +1 -1
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride08.json +1 -1
- package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride09.json +1 -0
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
- package/contracts/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/LibBytes.sol/LibBytes.json +1 -1
- package/contracts/Math.sol/Math.json +1 -1
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
- package/contracts/NonceManager.sol/NonceManager.json +1 -1
- package/contracts/Panic.sol/Panic.json +1 -1
- package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
- package/contracts/SafeCast.sol/SafeCast.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
- package/contracts/SignedMath.sol/SignedMath.json +1 -1
- package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -1
- package/contracts/StakeManager.sol/StakeManager.json +1 -1
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/Strings.sol/Strings.json +1 -1
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
- package/contracts/UserOperation.sol/UserOperationLib.json +1 -1
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
- package/contracts/account-abstraction-v9/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/account-abstraction-v9/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/build-info/{006aa55b425148d5.json → 338795fc743ca612.json} +1 -1
- package/contracts/build-info/44a9648cfe32a468.json +1 -0
- package/contracts/build-info/{416ffb069999d6eb.json → 8dbf8a4ad39019b5.json} +1 -1
- package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/core/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/core/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/core/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/core/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/core/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/interfaces/IAccount.sol/IAccount.json +1 -0
- package/contracts/interfaces/IAccountExecute.sol/IAccountExecute.json +1 -0
- package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
- package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
- package/contracts/interfaces/IPaymaster.sol/IPaymaster.json +1 -0
- package/contracts/interfaces/ISenderCreator.sol/ISenderCreator.json +1 -0
- package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
- package/contracts/overrides/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/overrides/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/overrides/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/overrides/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/overrides/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/utils/Exec.sol/Exec.json +1 -1
- package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -1
- package/contracts/v09/EntryPoint.sol/EntryPoint.json +1 -0
- package/esm/cli/config/bundler.d.ts +56 -50
- package/esm/cli/config/bundler.js +1 -0
- package/esm/cli/config/bundler.js.map +1 -1
- package/esm/cli/config/options.js +5 -1
- package/esm/cli/config/options.js.map +1 -1
- package/esm/cli/deploySimulationsContract.d.ts +1 -0
- package/esm/cli/deploySimulationsContract.js +41 -5
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/esm/cli/handler.js +14 -0
- package/esm/cli/handler.js.map +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
- package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
- package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
- package/esm/executor/filterOpsAndEstimateGas.js +12 -0
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
- package/esm/executor/utils.js +2 -2
- package/esm/executor/utils.js.map +1 -1
- package/esm/mempool/mempool.d.ts +34 -0
- package/esm/mempool/mempool.js +14 -4
- package/esm/mempool/mempool.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations07.js +7 -6
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -1
- package/esm/rpc/estimation/preVerificationGasCalculator.js +1 -1
- package/esm/rpc/estimation/preVerificationGasCalculator.js.map +1 -1
- package/esm/rpc/methods/boost_sendUserOperation.d.ts +304 -0
- package/esm/rpc/methods/debug_bundler_dumpMempool.d.ts +338 -0
- package/esm/rpc/methods/eth_estimateUserOperationGas.d.ts +622 -14
- package/esm/rpc/methods/eth_getUserOperationByHash.d.ts +621 -11
- package/esm/rpc/methods/eth_sendUserOperation.d.ts +304 -0
- package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +304 -0
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js +3 -12
- package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
- package/esm/rpc/methods/pimlico_simulateAssetChange.d.ts +620 -12
- package/esm/rpc/validation/SafeValidator.js +5 -5
- package/esm/rpc/validation/SafeValidator.js.map +1 -1
- package/esm/store/createMempoolStore.js +8 -2
- package/esm/store/createMempoolStore.js.map +1 -1
- package/esm/store/outstanding/memory.js +26 -17
- package/esm/store/outstanding/memory.js.map +1 -1
- package/esm/store/outstanding/redis.js +46 -18
- package/esm/store/outstanding/redis.js.map +1 -1
- package/esm/store/outstanding/types.d.ts +2 -1
- package/esm/store/processing/memory.d.ts +3 -1
- package/esm/store/processing/memory.js +14 -2
- package/esm/store/processing/memory.js.map +1 -1
- package/esm/store/processing/redis.d.ts +4 -2
- package/esm/store/processing/redis.js +20 -4
- package/esm/store/processing/redis.js.map +1 -1
- package/esm/store/processing/types.d.ts +2 -1
- package/esm/store/types.d.ts +1 -0
- package/esm/types/contracts/PimlicoSimulations.d.ts +81 -0
- package/esm/types/contracts/PimlicoSimulations.js +105 -0
- package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
- package/esm/types/schemas.d.ts +13039 -4597
- package/esm/types/schemas.js +92 -2
- package/esm/types/schemas.js.map +1 -1
- package/esm/utils/entryPointOverrides.js +7 -0
- package/esm/utils/entryPointOverrides.js.map +1 -1
- package/esm/utils/userop.d.ts +76 -2
- package/esm/utils/userop.js +71 -79
- package/esm/utils/userop.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "abi": [{ "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "addStake", "inputs": [{ "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateAndRevert", "inputs": [{ "name": "target", "type": "address", "internalType": "address" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositTo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "deposits", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }], "stateMutability": "view" }, { "type": "function", "name": "getDepositInfo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "info", "type": "tuple", "internalType": "struct IStakeManager.DepositInfo", "components": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }] }], "stateMutability": "view" }, { "type": "function", "name": "getNonce", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "nonce", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getSenderAddress", "inputs": [{ "name": "initCode", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUserOpHash", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "handleAggregatedOps", "inputs": [{ "name": "opsPerAggregator", "type": "tuple[]", "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "components": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "aggregator", "type": "address", "internalType": "contract IAggregator" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "handleOps", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "incrementNonce", "inputs": [{ "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride07.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride07.MemoryUserOp", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "verificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "callGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "maxFeePerGas", "type": "uint256", "internalType": "uint256" }, { "name": "maxPriorityFeePerGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "userOpHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "contextOffset", "type": "uint256", "internalType": "uint256" }, { "name": "preOpGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "context", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "nonceSequenceNumber", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "withdrawAmount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccountDeployed", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "factory", "type": "address", "indexed": false, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "BeforeExecution", "inputs": [], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDeposit", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "PostOpRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "SignatureAggregatorChanged", "inputs": [{ "name": "aggregator", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "StakeLocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalStaked", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeUnlocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawTime", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeWithdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationEvent", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "success", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "actualGasCost", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "actualGasUsed", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationPrefundTooLow", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DelegateAndRevert", "inputs": [{ "name": "success", "type": "bool", "internalType": "bool" }, { "name": "ret", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "FailedOp", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }] }, { "type": "error", "name": "FailedOpWithRevert", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }, { "name": "inner", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "PostOpReverted", "inputs": [{ "name": "returnData", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "SenderAddressResult", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SignatureValidationFailed", "inputs": [{ "name": "aggregator", "type": "address", "internalType": "address" }] }], "bytecode": { "object": "0x6080806040523461001b576001600255613ef290816100218239f35b600080fdfe60806040526004361015610024575b361561001957600080fd5b610022336126f1565b005b60003560e01c806242dc5314611ae957806301ffc9a7146119975780630396cb601461165f5780630bd28e3b146115e35780631b2e01b81461154f578063205c2878146113ba57806322cdde4c1461135457806335567e1a1461129c5780635287ce121461118e57806370a0823114611129578063765e827f14610e6b578063850aaf6214610dac5780639b249f6914610c74578063b760faf914610c3a578063bb9fe6bf14610a68578063c23a5cea146107c4578063dbed18e0146101a15763fc7e286d0361000e573461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff61013a612248565b16600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526dffffffffffffffffffffffffffff8160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b600080fd5b3461019c576101af366122c0565b906101b8612966565b60009160005b82811061056f57506101d08493612531565b6000805b8481106102fc5750507fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000809360005b81811061024757610240868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2613b37565b6001600255005b6102a261025582848a61273f565b73ffffffffffffffffffffffffffffffffffffffff610276602083016127d3565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a28061277f565b906000915b8083106102b957505050600101610209565b909194976102f36102ed6001926102e78c8b6102e0826102da8e8b8d612646565b92612603565b5191613527565b906123b2565b996123bf565b950191906102a7565b602061030982878961273f565b61031f610316828061277f565b939092016127d3565b9160009273ffffffffffffffffffffffffffffffffffffffff8091165b8285106103505750505050506001016101d4565b909192939561037f83610378610366848c612603565b516103728b898b612646565b8561299f565b9290613d97565b9116840361050a576104a5576103958491613d97565b9116610440576103b5576103aa6001916123bf565b96019392919061033c565b60a487604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b61057a81848761273f565b93610585858061277f565b919095602073ffffffffffffffffffffffffffffffffffffffff6105aa8284016127d3565b1697600192838a1461076657896105da575b5050505060019293949550906105d1916123b2565b939291016101be565b8060406105e89201906127f4565b918a3b1561019c57929391906040519485937f2dd8113300000000000000000000000000000000000000000000000000000000855288604486016040600488015252606490818601918a60051b8701019680936000915b8c83106106e657505050505050838392610684927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85600098030160248601526126b2565b03818a5afa90816106d7575b506106c657602486604051907f86a9f7500000000000000000000000000000000000000000000000000000000082526004820152fd5b93945084936105d1600189806105bc565b6106e090612166565b88610690565b91939596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c908a9294969a0301865288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181121561019c5783610753879385839401612895565b9a0196019301909189979695949261063f565b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b3461019c576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576107fc612248565b33600052600082526001604060002001908154916dffffffffffffffffffffffffffff8360081c16928315610a0a5765ffffffffffff8160981c1680156109ac57421061094e5760009373ffffffffffffffffffffffffffffffffffffffff859485947fffffffffffffff000000000000000000000000000000000000000000000000ff86951690556040517fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda33391806108da8786836020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0390a2165af16108e86123f9565b50156108f057005b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b3461019c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c573360005260006020526001604060002001805463ffffffff8160781c16908115610bdc5760ff1615610b7e5765ffffffffffff908142160191818311610b4f5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609885901b161790556040519116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a2005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610022610c6f612248565b6126f1565b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043567ffffffffffffffff811161019c576020610cc8610d2992369060040161226b565b919073ffffffffffffffffffffffffffffffffffffffff9283610ce9613e66565b169060006040518097819582947f570e1a3600000000000000000000000000000000000000000000000000000000845288600485015260248401916126b2565b03925af1908115610da057602492600092610d6f575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b610d9291925060203d602011610d99575b610d8a8183612196565b810190612686565b9083610d3f565b503d610d80565b6040513d6000823e3d90fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610de3612248565b60243567ffffffffffffffff811161019c57600091610e078392369060040161226b565b90816040519283928337810184815203915af4610e226123f9565b90610e676040519283927f994105540000000000000000000000000000000000000000000000000000000084521515600484015260406024840152604483019061236f565b0390fd5b3461019c57610e79366122c0565b610e84929192612966565b610e8d83612531565b60005b848110610f0557506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000915b858310610ed5576102408585613b37565b909193600190610efb610ee9878987612646565b610ef38886612603565b519088613527565b0194019190610ec4565b610f30610f29610f1783859795612603565b51610f23848987612646565b8461299f565b9190613d97565b73ffffffffffffffffffffffffffffffffffffffff929183166110c45761105f57610f5a90613d97565b9116610ffa57610f6f57600101929092610e90565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff611175612248565b1660005260006020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff6111da612248565b600060806040516111ea816120fe565b828152826020820152826040820152826060820152015216600052600060205260a06040600020608060405161121f816120fe565b6001835493848352015490602081019060ff8316151582526dffffffffffffffffffffffffffff60408201818560081c16815263ffffffff936060840193858760781c16855265ffffffffffff978891019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760206112d5612248565b73ffffffffffffffffffffffffffffffffffffffff6112f2612299565b911660005260018252604060002077ffffffffffffffffffffffffffffffffffffffffffffffff821660005282526040600020547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b3461019c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261019c576004359067ffffffffffffffff821161019c5761012090823603011261019c576113b2602091600401612429565b604051908152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576113f1612248565b602435903360005260006020526040600020908154918284116114f1576000808573ffffffffffffffffffffffffffffffffffffffff82958395611435848a6123ec565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af161148b6123f9565b501561149357005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57611586612248565b73ffffffffffffffffffffffffffffffffffffffff6115a3612299565b9116600052600160205277ffffffffffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043577ffffffffffffffffffffffffffffffffffffffffffffffff811680910361019c57336000526001602052604060002090600052602052604060002061165b81546123bf565b9055005b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043563ffffffff9182821680920361019c5733600052600081526040600020928215611939576001840154908160781c1683106118db576116e16dffffffffffffffffffffffffffff9182349160081c166123b2565b93841561187d5781851161181f579065ffffffffffff6117ee925460405190611709826120fe565b8152848101926001845260408201908816815260608201878152600160808401936000855233600052600089526040600020905181550194511515917fffffffffffffffffffffffffff0000000000000000000000000000000000000060ff72ffffffff0000000000000000000000000000006effffffffffffffffffffffffffff008954945160081b16945160781b1694169116171717835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b6040519283528201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361019c57807f60fc6b6e0000000000000000000000000000000000000000000000000000000060209214908115611abf575b8115611a95575b8115611a6b575b8115611a41575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611a36565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150611a2f565b7fcf28ef970000000000000000000000000000000000000000000000000000000081149150611a28565b7f915074d80000000000000000000000000000000000000000000000000000000081149150611a21565b3461019c576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5767ffffffffffffffff60043581811161019c573660238201121561019c57611b4b903690602481600401359101612211565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c0811261019c5761014060405191611b87836120fe565b1261019c5760405192611b9984612149565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361019c578452602093604435858201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff8116810361019c5760e08201526101243561010082015261014435610120820152825261016435848301526101843560408301526101a43560608301526101c43560808301526101e43590811161019c57611c6590369060040161226b565b905a3033036120a057835160608101519560009681519182611fc2575b5050505090611c9c915a9003608085015101923691612211565b925a90600094845193611cae85613c5c565b9173ffffffffffffffffffffffffffffffffffffffff60e0870151168015600014611e7b57505073ffffffffffffffffffffffffffffffffffffffff855116935b5a9003019360a06060820151910151016080860151850390818111611e67575b50508302604085015192818410600014611da05750506003811015611d7357600203611d4b576113b29293508093611d4681613d25565b613cb6565b5050507fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b81611db092979396940390613c28565b506003841015611e3a57507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f60808683015192519473ffffffffffffffffffffffffffffffffffffffff865116948873ffffffffffffffffffffffffffffffffffffffff60e0890151169701519160405192835215898301528760408301526060820152a46113b2565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6064919003600a0204909301928780611d0f565b8095918051611e8c575b5050611cef565b6003861015611f93576002860315611e855760a088015190823b1561019c57600091611ef691836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528d600484015260806024840152608483019061236f565b8b8b0260448301528b60648301520393f19081611f7f575b50611f785787893d610800808211611f70575b506040519282828501016040528184528284013e610e676040519283927fad7954bc0000000000000000000000000000000000000000000000000000000084526004840152602483019061236f565b905083611f21565b8980611e85565b611f8a919950612166565b6000978a611f0e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91600092918380938c73ffffffffffffffffffffffffffffffffffffffff885116910192f115611ff5575b808080611c82565b611c9c929195503d610800808211612098575b5060405190888183010160405280825260008983013e8051612031575b50506001949091611fed565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20188870151918973ffffffffffffffffffffffffffffffffffffffff85511694015161208e604051928392835260408d840152604083019061236f565b0390a38680612025565b905088612008565b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff82111761211a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57604052565b6060810190811067ffffffffffffffff82111761211a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261221d826121d7565b9161222b6040519384612196565b82948184528183011161019c578281602093846000960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9181601f8401121561019c5782359167ffffffffffffffff831161019c576020838186019501011161019c57565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261019c5760043567ffffffffffffffff9283821161019c578060238301121561019c57816004013593841161019c5760248460051b8301011161019c57602401919060243573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b60005b83811061235f5750506000910152565b818101518382015260200161234f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936123ab8151809281875287808801910161234c565b0116010190565b91908201809211610b4f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b4f5760010190565b91908203918211610b4f57565b3d15612424573d9061240a826121d7565b916124186040519384612196565b82523d6000602084013e565b606090565b6040612437818301836127f4565b908183519182372061244c60608401846127f4565b90818451918237209260c061246460e08301836127f4565b908186519182372091845195602087019473ffffffffffffffffffffffffffffffffffffffff833516865260208301358789015260608801526080870152608081013560a087015260a081013582870152013560e08501526101009081850152835261012083019167ffffffffffffffff918484108385111761211a57838252845190206101408501908152306101608601524661018086015260608452936101a0019182118383101761211a575251902090565b67ffffffffffffffff811161211a5760051b60200190565b9061253b82612519565b60409061254b6040519182612196565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06125798295612519565b019160005b83811061258b5750505050565b6020908251612599816120fe565b83516125a481612149565b600081526000849181838201528187820152816060818184015260809282848201528260a08201528260c08201528260e0820152826101008201528261012082015286528185870152818987015285015283015282860101520161257e565b80518210156126175760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156126175760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18136030182121561019c570190565b9081602091031261019c575173ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6127333485613c28565b936040519485521692a2565b91908110156126175760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561019c570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c57602001918160051b3603831361019c57565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c5760200191813603831361019c57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561019c57016020813591019167ffffffffffffffff821161019c57813603831361019c57565b61012091813573ffffffffffffffffffffffffffffffffffffffff811680910361019c5761290b6128f061296395612944938552602086013560208601526128e06040870187612845565b90918060408801528601916126b2565b6128fd6060860186612845565b9085830360608701526126b2565b6080840135608084015260a084013560a084015260c084013560c084015261293660e0850185612845565b9084830360e08601526126b2565b916129556101009182810190612845565b9290918185039101526126b2565b90565b60028054146129755760028055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b926000905a93805194843573ffffffffffffffffffffffffffffffffffffffff811680910361019c5786526020850135602087015260808501356fffffffffffffffffffffffffffffffff90818116606089015260801c604088015260a086013560c088015260c086013590811661010088015260801c610120870152612a2960e08601866127f4565b801561350b57603481106134ad578060141161019c578060241161019c5760341161019c57602481013560801c60a0880152601481013560801c60808801523560601c60e08701525b612a7b85612429565b60208301526040860151946effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171161344f57604087015160608801510160808801510160a08801510160c0880151016101008801510296835173ffffffffffffffffffffffffffffffffffffffff81511690612b0f60408501856127f4565b8061318d575b505060e0015173ffffffffffffffffffffffffffffffffffffffff169060008215613155575b6020612b80918b828a01516000868a604051978896879586937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613d75565b0393f160009181613121575b50612c34573d8c610800808311612c2c575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612b9e565b9a92939495969798999a911561309b575b509773ffffffffffffffffffffffffffffffffffffffff835116602084015190600052600160205260406000208160401c60005260205267ffffffffffffffff604060002091825492612c97846123bf565b90551603613036575a850311612fd15773ffffffffffffffffffffffffffffffffffffffff60e0606093015116612ceb575b509060a09184959697986040608096015260608601520135905a900301910152565b969550505a9683519773ffffffffffffffffffffffffffffffffffffffff60e08a01511680600052600060205260406000208054848110612f6c576080612d769a9b9c600093878094039055015192602089015183604051809d819582947f52b7512c0000000000000000000000000000000000000000000000000000000084528c60048501613d75565b039286f1978860009160009a612edf575b50612e2f573d8b610800808311612e27575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612d99565b9991929394959697989998925a900311612e5457509096959094939291906080612cc9565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b915098503d90816000823e612ef48282612196565b604081838101031261019c5780519067ffffffffffffffff821161019c57828101601f83830101121561019c578181015191612f2f836121d7565b93612f3d6040519586612196565b838552820160208483850101011161019c57602092612f6391848087019185010161234c565b01519838612d87565b60848b604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b600052600060205260406000208054808c116130bc578b9003905538612c45565b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b9091506020813d60201161314d575b8161313d60209383612196565b8101031261019c57519038612b8c565b3d9150613130565b508060005260006020526040600020548a81116000146131805750612b80602060005b915050612b3b565b6020612b80918c03613178565b833b6133ea576000602073ffffffffffffffffffffffffffffffffffffffff6131b4613e66565b1660408b510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352856004840152826131fa602482018a8c6126b2565b0393f1908115610da0576000916133cb575b5073ffffffffffffffffffffffffffffffffffffffff81168015613366578503613301573b1561329c5760141161019c5773ffffffffffffffffffffffffffffffffffffffff9183887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d604060e0958787602086015195510151168251913560601c82526020820152a391612b15565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848e604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848f604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b6133e4915060203d602011610d9957610d8a8183612196565b3861320c565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b5050600060e087015260006080870152600060a0870152612a72565b9092915a906060810151916040928351967fffffffff000000000000000000000000000000000000000000000000000000008861356760608401846127f4565b600060038211613b2f575b7f8dd7712f00000000000000000000000000000000000000000000000000000000941684036139d45750505061372d6000926136429260208801516135ca8a5193849360208501528b60248501526064840190612895565b90604483015203906136027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092838101835282612196565b61372189519485927e42dc53000000000000000000000000000000000000000000000000000000006020850152610200602485015261022484019061236f565b6136f0604484018b60806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528761236f565b03908101835282612196565b6020918183809351910182305af16000519886521561374f575b505050505050565b909192939495965060003d82146139ca575b7fdeaddead0000000000000000000000000000000000000000000000000000000081036137eb57608487878051917f220266b600000000000000000000000000000000000000000000000000000000835260048301526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b7fdeadaa5100000000000000000000000000000000000000000000000000000000919293959496501460001461385557505061383961382e613848935a906123ec565b6080850151906123b2565b9083015183611d468295613d25565b905b388080808080613747565b90926138e290828601518651907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f479273ffffffffffffffffffffffffffffffffffffffff9580878551169401516138d83d6108008082116139c2575b508a519084818301018c5280825260008583013e8a805194859485528401528a83019061236f565b0390a35a906123ec565b916138f360808601938451906123b2565b926000905a94829488519761390789613c5c565b948260e08b01511680156000146139a857505050875116955b5a9003019560a06060820151910151019051860390818111613994575b50508402908501519281841060001461396e57505080611e3a575090816139689293611d4681613d25565b9061384a565b61397e9082849397950390613c28565b50611e3a5750908261398f92613cb6565b613968565b6064919003600a020490940193388061393d565b909198925097516139ba575b50613920565b9550386139b4565b9050386138b0565b8181803e51613761565b613b27945082935090613a1c917e42dc53000000000000000000000000000000000000000000000000000000006020613afb95015261020060248601526102248501916126b2565b613aca604484018860806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528461236f565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101895288612196565b60008761372d565b508135613572565b73ffffffffffffffffffffffffffffffffffffffff168015613bca57600080809381935af1613b646123f9565b5015613b6c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff166000526000602052613c5660406000209182546123b2565b80915590565b610120610100820151910151808214613cb2577f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480613cac575048905b0180821015613ca7575090565b905090565b90613c9a565b5090565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b613d8d60409295949395606083526060830190612895565b9460208201520152565b8015613e5d57600060408051613dac8161217a565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff90818160a01c16908115613e55575b60d01c91835191613df78361217a565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c405341548015600014613e4f575042915b8211918215613e45575b50509091565b1090503880613e3f565b91613e35565b829150613de7565b50600090600090565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612963575073efc2c1444ebcc4db75e7613d20c6a62ff67a167c9056fea2646970667358221220ae25eeb5041be84eaed19647d443e4b3097789528c81b9964bff955baa3d965b64736f6c63430008170033", "sourceMap": "1377:29099:19:-:0;;;;;;;1713:1:15;1917:21;1713:1;1377:29099:19;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040526004361015610024575b361561001957600080fd5b610022336126f1565b005b60003560e01c806242dc5314611ae957806301ffc9a7146119975780630396cb601461165f5780630bd28e3b146115e35780631b2e01b81461154f578063205c2878146113ba57806322cdde4c1461135457806335567e1a1461129c5780635287ce121461118e57806370a0823114611129578063765e827f14610e6b578063850aaf6214610dac5780639b249f6914610c74578063b760faf914610c3a578063bb9fe6bf14610a68578063c23a5cea146107c4578063dbed18e0146101a15763fc7e286d0361000e573461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff61013a612248565b16600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526dffffffffffffffffffffffffffff8160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b600080fd5b3461019c576101af366122c0565b906101b8612966565b60009160005b82811061056f57506101d08493612531565b6000805b8481106102fc5750507fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000809360005b81811061024757610240868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2613b37565b6001600255005b6102a261025582848a61273f565b73ffffffffffffffffffffffffffffffffffffffff610276602083016127d3565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a28061277f565b906000915b8083106102b957505050600101610209565b909194976102f36102ed6001926102e78c8b6102e0826102da8e8b8d612646565b92612603565b5191613527565b906123b2565b996123bf565b950191906102a7565b602061030982878961273f565b61031f610316828061277f565b939092016127d3565b9160009273ffffffffffffffffffffffffffffffffffffffff8091165b8285106103505750505050506001016101d4565b909192939561037f83610378610366848c612603565b516103728b898b612646565b8561299f565b9290613d97565b9116840361050a576104a5576103958491613d97565b9116610440576103b5576103aa6001916123bf565b96019392919061033c565b60a487604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b61057a81848761273f565b93610585858061277f565b919095602073ffffffffffffffffffffffffffffffffffffffff6105aa8284016127d3565b1697600192838a1461076657896105da575b5050505060019293949550906105d1916123b2565b939291016101be565b8060406105e89201906127f4565b918a3b1561019c57929391906040519485937f2dd8113300000000000000000000000000000000000000000000000000000000855288604486016040600488015252606490818601918a60051b8701019680936000915b8c83106106e657505050505050838392610684927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85600098030160248601526126b2565b03818a5afa90816106d7575b506106c657602486604051907f86a9f7500000000000000000000000000000000000000000000000000000000082526004820152fd5b93945084936105d1600189806105bc565b6106e090612166565b88610690565b91939596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c908a9294969a0301865288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181121561019c5783610753879385839401612895565b9a0196019301909189979695949261063f565b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b3461019c576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576107fc612248565b33600052600082526001604060002001908154916dffffffffffffffffffffffffffff8360081c16928315610a0a5765ffffffffffff8160981c1680156109ac57421061094e5760009373ffffffffffffffffffffffffffffffffffffffff859485947fffffffffffffff000000000000000000000000000000000000000000000000ff86951690556040517fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda33391806108da8786836020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0390a2165af16108e86123f9565b50156108f057005b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b3461019c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c573360005260006020526001604060002001805463ffffffff8160781c16908115610bdc5760ff1615610b7e5765ffffffffffff908142160191818311610b4f5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609885901b161790556040519116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a2005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610022610c6f612248565b6126f1565b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043567ffffffffffffffff811161019c576020610cc8610d2992369060040161226b565b919073ffffffffffffffffffffffffffffffffffffffff9283610ce9613e66565b169060006040518097819582947f570e1a3600000000000000000000000000000000000000000000000000000000845288600485015260248401916126b2565b03925af1908115610da057602492600092610d6f575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b610d9291925060203d602011610d99575b610d8a8183612196565b810190612686565b9083610d3f565b503d610d80565b6040513d6000823e3d90fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610de3612248565b60243567ffffffffffffffff811161019c57600091610e078392369060040161226b565b90816040519283928337810184815203915af4610e226123f9565b90610e676040519283927f994105540000000000000000000000000000000000000000000000000000000084521515600484015260406024840152604483019061236f565b0390fd5b3461019c57610e79366122c0565b610e84929192612966565b610e8d83612531565b60005b848110610f0557506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000915b858310610ed5576102408585613b37565b909193600190610efb610ee9878987612646565b610ef38886612603565b519088613527565b0194019190610ec4565b610f30610f29610f1783859795612603565b51610f23848987612646565b8461299f565b9190613d97565b73ffffffffffffffffffffffffffffffffffffffff929183166110c45761105f57610f5a90613d97565b9116610ffa57610f6f57600101929092610e90565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff611175612248565b1660005260006020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff6111da612248565b600060806040516111ea816120fe565b828152826020820152826040820152826060820152015216600052600060205260a06040600020608060405161121f816120fe565b6001835493848352015490602081019060ff8316151582526dffffffffffffffffffffffffffff60408201818560081c16815263ffffffff936060840193858760781c16855265ffffffffffff978891019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760206112d5612248565b73ffffffffffffffffffffffffffffffffffffffff6112f2612299565b911660005260018252604060002077ffffffffffffffffffffffffffffffffffffffffffffffff821660005282526040600020547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b3461019c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261019c576004359067ffffffffffffffff821161019c5761012090823603011261019c576113b2602091600401612429565b604051908152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576113f1612248565b602435903360005260006020526040600020908154918284116114f1576000808573ffffffffffffffffffffffffffffffffffffffff82958395611435848a6123ec565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af161148b6123f9565b501561149357005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57611586612248565b73ffffffffffffffffffffffffffffffffffffffff6115a3612299565b9116600052600160205277ffffffffffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043577ffffffffffffffffffffffffffffffffffffffffffffffff811680910361019c57336000526001602052604060002090600052602052604060002061165b81546123bf565b9055005b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043563ffffffff9182821680920361019c5733600052600081526040600020928215611939576001840154908160781c1683106118db576116e16dffffffffffffffffffffffffffff9182349160081c166123b2565b93841561187d5781851161181f579065ffffffffffff6117ee925460405190611709826120fe565b8152848101926001845260408201908816815260608201878152600160808401936000855233600052600089526040600020905181550194511515917fffffffffffffffffffffffffff0000000000000000000000000000000000000060ff72ffffffff0000000000000000000000000000006effffffffffffffffffffffffffff008954945160081b16945160781b1694169116171717835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b6040519283528201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361019c57807f60fc6b6e0000000000000000000000000000000000000000000000000000000060209214908115611abf575b8115611a95575b8115611a6b575b8115611a41575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611a36565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150611a2f565b7fcf28ef970000000000000000000000000000000000000000000000000000000081149150611a28565b7f915074d80000000000000000000000000000000000000000000000000000000081149150611a21565b3461019c576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5767ffffffffffffffff60043581811161019c573660238201121561019c57611b4b903690602481600401359101612211565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c0811261019c5761014060405191611b87836120fe565b1261019c5760405192611b9984612149565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361019c578452602093604435858201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff8116810361019c5760e08201526101243561010082015261014435610120820152825261016435848301526101843560408301526101a43560608301526101c43560808301526101e43590811161019c57611c6590369060040161226b565b905a3033036120a057835160608101519560009681519182611fc2575b5050505090611c9c915a9003608085015101923691612211565b925a90600094845193611cae85613c5c565b9173ffffffffffffffffffffffffffffffffffffffff60e0870151168015600014611e7b57505073ffffffffffffffffffffffffffffffffffffffff855116935b5a9003019360a06060820151910151016080860151850390818111611e67575b50508302604085015192818410600014611da05750506003811015611d7357600203611d4b576113b29293508093611d4681613d25565b613cb6565b5050507fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b81611db092979396940390613c28565b506003841015611e3a57507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f60808683015192519473ffffffffffffffffffffffffffffffffffffffff865116948873ffffffffffffffffffffffffffffffffffffffff60e0890151169701519160405192835215898301528760408301526060820152a46113b2565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6064919003600a0204909301928780611d0f565b8095918051611e8c575b5050611cef565b6003861015611f93576002860315611e855760a088015190823b1561019c57600091611ef691836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528d600484015260806024840152608483019061236f565b8b8b0260448301528b60648301520393f19081611f7f575b50611f785787893d610800808211611f70575b506040519282828501016040528184528284013e610e676040519283927fad7954bc0000000000000000000000000000000000000000000000000000000084526004840152602483019061236f565b905083611f21565b8980611e85565b611f8a919950612166565b6000978a611f0e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91600092918380938c73ffffffffffffffffffffffffffffffffffffffff885116910192f115611ff5575b808080611c82565b611c9c929195503d610800808211612098575b5060405190888183010160405280825260008983013e8051612031575b50506001949091611fed565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20188870151918973ffffffffffffffffffffffffffffffffffffffff85511694015161208e604051928392835260408d840152604083019061236f565b0390a38680612025565b905088612008565b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff82111761211a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57604052565b6060810190811067ffffffffffffffff82111761211a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261221d826121d7565b9161222b6040519384612196565b82948184528183011161019c578281602093846000960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9181601f8401121561019c5782359167ffffffffffffffff831161019c576020838186019501011161019c57565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261019c5760043567ffffffffffffffff9283821161019c578060238301121561019c57816004013593841161019c5760248460051b8301011161019c57602401919060243573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b60005b83811061235f5750506000910152565b818101518382015260200161234f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936123ab8151809281875287808801910161234c565b0116010190565b91908201809211610b4f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b4f5760010190565b91908203918211610b4f57565b3d15612424573d9061240a826121d7565b916124186040519384612196565b82523d6000602084013e565b606090565b6040612437818301836127f4565b908183519182372061244c60608401846127f4565b90818451918237209260c061246460e08301836127f4565b908186519182372091845195602087019473ffffffffffffffffffffffffffffffffffffffff833516865260208301358789015260608801526080870152608081013560a087015260a081013582870152013560e08501526101009081850152835261012083019167ffffffffffffffff918484108385111761211a57838252845190206101408501908152306101608601524661018086015260608452936101a0019182118383101761211a575251902090565b67ffffffffffffffff811161211a5760051b60200190565b9061253b82612519565b60409061254b6040519182612196565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06125798295612519565b019160005b83811061258b5750505050565b6020908251612599816120fe565b83516125a481612149565b600081526000849181838201528187820152816060818184015260809282848201528260a08201528260c08201528260e0820152826101008201528261012082015286528185870152818987015285015283015282860101520161257e565b80518210156126175760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156126175760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18136030182121561019c570190565b9081602091031261019c575173ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6127333485613c28565b936040519485521692a2565b91908110156126175760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561019c570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c57602001918160051b3603831361019c57565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c5760200191813603831361019c57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561019c57016020813591019167ffffffffffffffff821161019c57813603831361019c57565b61012091813573ffffffffffffffffffffffffffffffffffffffff811680910361019c5761290b6128f061296395612944938552602086013560208601526128e06040870187612845565b90918060408801528601916126b2565b6128fd6060860186612845565b9085830360608701526126b2565b6080840135608084015260a084013560a084015260c084013560c084015261293660e0850185612845565b9084830360e08601526126b2565b916129556101009182810190612845565b9290918185039101526126b2565b90565b60028054146129755760028055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b926000905a93805194843573ffffffffffffffffffffffffffffffffffffffff811680910361019c5786526020850135602087015260808501356fffffffffffffffffffffffffffffffff90818116606089015260801c604088015260a086013560c088015260c086013590811661010088015260801c610120870152612a2960e08601866127f4565b801561350b57603481106134ad578060141161019c578060241161019c5760341161019c57602481013560801c60a0880152601481013560801c60808801523560601c60e08701525b612a7b85612429565b60208301526040860151946effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171161344f57604087015160608801510160808801510160a08801510160c0880151016101008801510296835173ffffffffffffffffffffffffffffffffffffffff81511690612b0f60408501856127f4565b8061318d575b505060e0015173ffffffffffffffffffffffffffffffffffffffff169060008215613155575b6020612b80918b828a01516000868a604051978896879586937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613d75565b0393f160009181613121575b50612c34573d8c610800808311612c2c575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612b9e565b9a92939495969798999a911561309b575b509773ffffffffffffffffffffffffffffffffffffffff835116602084015190600052600160205260406000208160401c60005260205267ffffffffffffffff604060002091825492612c97846123bf565b90551603613036575a850311612fd15773ffffffffffffffffffffffffffffffffffffffff60e0606093015116612ceb575b509060a09184959697986040608096015260608601520135905a900301910152565b969550505a9683519773ffffffffffffffffffffffffffffffffffffffff60e08a01511680600052600060205260406000208054848110612f6c576080612d769a9b9c600093878094039055015192602089015183604051809d819582947f52b7512c0000000000000000000000000000000000000000000000000000000084528c60048501613d75565b039286f1978860009160009a612edf575b50612e2f573d8b610800808311612e27575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612d99565b9991929394959697989998925a900311612e5457509096959094939291906080612cc9565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b915098503d90816000823e612ef48282612196565b604081838101031261019c5780519067ffffffffffffffff821161019c57828101601f83830101121561019c578181015191612f2f836121d7565b93612f3d6040519586612196565b838552820160208483850101011161019c57602092612f6391848087019185010161234c565b01519838612d87565b60848b604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b600052600060205260406000208054808c116130bc578b9003905538612c45565b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b9091506020813d60201161314d575b8161313d60209383612196565b8101031261019c57519038612b8c565b3d9150613130565b508060005260006020526040600020548a81116000146131805750612b80602060005b915050612b3b565b6020612b80918c03613178565b833b6133ea576000602073ffffffffffffffffffffffffffffffffffffffff6131b4613e66565b1660408b510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352856004840152826131fa602482018a8c6126b2565b0393f1908115610da0576000916133cb575b5073ffffffffffffffffffffffffffffffffffffffff81168015613366578503613301573b1561329c5760141161019c5773ffffffffffffffffffffffffffffffffffffffff9183887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d604060e0958787602086015195510151168251913560601c82526020820152a391612b15565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848e604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848f604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b6133e4915060203d602011610d9957610d8a8183612196565b3861320c565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b5050600060e087015260006080870152600060a0870152612a72565b9092915a906060810151916040928351967fffffffff000000000000000000000000000000000000000000000000000000008861356760608401846127f4565b600060038211613b2f575b7f8dd7712f00000000000000000000000000000000000000000000000000000000941684036139d45750505061372d6000926136429260208801516135ca8a5193849360208501528b60248501526064840190612895565b90604483015203906136027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092838101835282612196565b61372189519485927e42dc53000000000000000000000000000000000000000000000000000000006020850152610200602485015261022484019061236f565b6136f0604484018b60806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528761236f565b03908101835282612196565b6020918183809351910182305af16000519886521561374f575b505050505050565b909192939495965060003d82146139ca575b7fdeaddead0000000000000000000000000000000000000000000000000000000081036137eb57608487878051917f220266b600000000000000000000000000000000000000000000000000000000835260048301526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b7fdeadaa5100000000000000000000000000000000000000000000000000000000919293959496501460001461385557505061383961382e613848935a906123ec565b6080850151906123b2565b9083015183611d468295613d25565b905b388080808080613747565b90926138e290828601518651907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f479273ffffffffffffffffffffffffffffffffffffffff9580878551169401516138d83d6108008082116139c2575b508a519084818301018c5280825260008583013e8a805194859485528401528a83019061236f565b0390a35a906123ec565b916138f360808601938451906123b2565b926000905a94829488519761390789613c5c565b948260e08b01511680156000146139a857505050875116955b5a9003019560a06060820151910151019051860390818111613994575b50508402908501519281841060001461396e57505080611e3a575090816139689293611d4681613d25565b9061384a565b61397e9082849397950390613c28565b50611e3a5750908261398f92613cb6565b613968565b6064919003600a020490940193388061393d565b909198925097516139ba575b50613920565b9550386139b4565b9050386138b0565b8181803e51613761565b613b27945082935090613a1c917e42dc53000000000000000000000000000000000000000000000000000000006020613afb95015261020060248601526102248501916126b2565b613aca604484018860806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528461236f565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101895288612196565b60008761372d565b508135613572565b73ffffffffffffffffffffffffffffffffffffffff168015613bca57600080809381935af1613b646123f9565b5015613b6c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff166000526000602052613c5660406000209182546123b2565b80915590565b610120610100820151910151808214613cb2577f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480613cac575048905b0180821015613ca7575090565b905090565b90613c9a565b5090565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b613d8d60409295949395606083526060830190612895565b9460208201520152565b8015613e5d57600060408051613dac8161217a565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff90818160a01c16908115613e55575b60d01c91835191613df78361217a565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c405341548015600014613e4f575042915b8211918215613e45575b50509091565b1090503880613e3f565b91613e35565b829150613de7565b50600090600090565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612963575073efc2c1444ebcc4db75e7613d20c6a62ff67a167c9056fea2646970667358221220ae25eeb5041be84eaed19647d443e4b3097789528c81b9964bff955baa3d965b64736f6c63430008170033", "sourceMap": "1377:29099:19:-:0;;;;;;;;;-1:-1:-1;1377:29099:19;;;;;;;;1326:10:3;;;:::i;:::-;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30436:31;1377:29099;30436:31;;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;507:47:3;1377:29099:19;;507:47:3;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2322:103:15;;;:::i;:::-;1377:29099:19;8302:13;1377:29099;8317:11;;;;;;9074:26;;;;;:::i;:::-;1377:29099;;9160:11;;;;;;9868:17;;;1377:29099;9868:17;;1377:29099;;9953:13;1377:29099;9968:11;;;;;;10500:9;10426:38;;1377:29099;10074:51;10426:38;;;10500:9;:::i;:::-;8637:1;2924:21:15;1377:29099:19;;9981:3;10176:11;10036:19;;;;;:::i;:::-;1377:29099;10109:14;8505;10109;;;:::i;:::-;1377:29099;10074:51;1377:29099;10074:51;;10176:11;;:::i;:::-;10248:13;1377:29099;10243:159;10263:10;;;;;;9981:3;;;8637:1;1377:29099;9953:13;;10275:3;10335:6;;;;10378:9;10298:62;8637:1;10335:6;10311:49;10335:6;;10343:16;10335:6;;;;;;:::i;:::-;10343:16;;:::i;:::-;;10311:49;;:::i;:::-;10298:62;;:::i;:::-;10378:9;;:::i;:::-;10275:3;1377:29099;10248:13;;;;9173:3;8505:14;9228:19;;;;;:::i;:::-;9348:14;9298:11;;;;:::i;:::-;9348:14;;;;;:::i;:::-;9423:13;1377:29099;;;;;;9438:10;;;;;;9173:3;;;;;8637:1;1377:29099;9145:13;;9450:3;9500:16;;;;;21242:34;9500:16;9594:44;9500:16;;;;:::i;:::-;;9623:6;;;;;:::i;:::-;9594:44;;:::i;:::-;21242:34;;;:::i;:::-;1377:29099;;21290:32;;21286:111;;21406:96;;21804:43;;;;:::i;:::-;1377:29099;;21857:105;;21971:106;;9819:9;8637:1;9819:9;;:::i;:::-;9450:3;1377:29099;9423:13;;;;;;21971:106;1377:29099;;;;22012:54;;;;1377:29099;22012:54;;1377:29099;;;;;;;;;;;;;;;;;;;;;22012:54;21857:105;1377:29099;;;;21910:41;;;;1377:29099;21910:41;;1377:29099;;;;;;;;;;;;;;;;21910:41;21406:96;1377:29099;;;;21447:44;;;;1377:29099;21447:44;;1377:29099;;;;;;;;;;;;;;;;21447:44;21286:111;1377:29099;;;;21345:41;;;;1377:29099;21345:41;;1377:29099;;;;;;;;;;;;;;;;21345:41;8330:3;8385:19;;;;;:::i;:::-;8455:11;;;;;:::i;:::-;8505:14;;;;1377:29099;8505:14;;;;;:::i;:::-;1377:29099;8637:1;;8606:33;;;;1377:29099;;8686:33;8682:305;;8330:3;9001:22;;;;8637:1;9001:22;;;;;;;;;:::i;:::-;8330:3;8302:13;;1377:29099;8302:13;;8682:305;8839:13;1377:29099;8839:13;;;;;:::i;:::-;8804:49;;;;;;1377:29099;;;;;;8804:49;;;1377:29099;8804:49;;1377:29099;;;;;;8804:49;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8804:49;;;;;;;;;1377:29099;-1:-1:-1;8800:173:19;;1377:29099;;;;8908:46;;;;1377:29099;8908:46;;1377:29099;8908:46;8800:173;;;-1:-1:-1;8800:173:19;;9001:22;8637:1;8682:305;;;;8804:49;;;;:::i;:::-;;;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3897:10:3;1377:29099:19;;;;;3934:10:3;1377:29099:19;;;3934:10:3;1377:29099:19;;;;;;;;;3962:9:3;;;1377:29099:19;;;;;;;4014:21:3;;1377:29099:19;;4121:15:3;-1:-1:-1;1377:29099:19;;;;;;;;;;;;;;;;;4293:50:3;3897:10;4293:50;;;;;;1377:29099:19;;;;;;;;;;;;;;;;;4293:50:3;;;;1377:29099:19;4371:38:3;;;;:::i;:::-;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3248:10:3;1377:29099:19;;;;;3277:20:3;1377:29099:19;;;3277:20:3;1377:29099:19;;;;;;;3277:25:3;;;1377:29099:19;;;;;;;;3407:15:3;;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;3248:10:3;;3532:39;;1377:29099:19;;3532:39:3;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;1642:45;;;;:::i;:::-;1377:29099;;;;;16585:38;;;;;;1377:29099;16585:38;;;1377:29099;16585:38;;1377:29099;;;;;;:::i;:::-;16585:38;;;;;;;;;1377:29099;16585:38;1377:29099;16585:38;;;1377:29099;;;;16640:27;;;;1377:29099;;16640:27;;1377:29099;16640:27;16585:38;;;;;1377:29099;16585:38;1377:29099;16585:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1377:29099;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;30394:25;;;;;;:::i;:::-;1377:29099;;;;30436:31;;;;;;1377:29099;;;30436:31;;1377:29099;;;;;;;;;;;:::i;:::-;30436:31;;;1377:29099;;;;;;;:::i;:::-;2322:103:15;;;;;:::i;:::-;7364:24:19;;;:::i;:::-;1377:29099;7443:10;;;;;;7762:21;1377:29099;7802:17;;1377:29099;7802:17;;1377:29099;7834:120;7854:10;;;;;;7993:9;;;;:::i;7866:3::-;7920:6;;;1377:29099;7920:6;7902:37;7920:6;;;;;:::i;:::-;7928:10;;;;:::i;:::-;;7902:37;;;:::i;:::-;2155:4;7866:3;1377:29099;7839:13;;;;7455:3;21242:34;7586:38;7505:10;;;;;;:::i;:::-;;7609:6;;;;;:::i;:::-;7586:38;;:::i;:::-;21242:34;;;:::i;:::-;1377:29099;;;;;21286:111;;21406:96;;21804:43;;;:::i;:::-;1377:29099;;21857:105;;21971:106;;1377:29099;;7428:13;;;;;21971:106;1377:29099;;;;22012:54;;;;1377:29099;22012:54;;1377:29099;;;;;;;;;;;;;;;;;;;;;22012:54;21857:105;1377:29099;;;;21910:41;;;;1377:29099;21910:41;;1377:29099;;;;;;;;;;;;;;;;21910:41;21406:96;1377:29099;;;;21447:44;;;;1377:29099;21447:44;;1377:29099;;;;;;;;;;;;;;;;21447:44;21286:111;1377:29099;;;;21345:41;;;;1377:29099;21345:41;;1377:29099;;;;;;;;;;;;;;;;21345:41;1377:29099;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;507:19:1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;507:55:1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4805:10:3;;1377:29099:19;;;;;;;;;;;4834:30:3;;;;1377:29099:19;;;4919:29:3;;1377:29099:19;4919:29:3;;;;;;;;:::i;:::-;1377:29099:19;;;;;;;;;;;;;;;;4805:10:3;;4963:54;;;1377:29099:19;5045:47:3;;;;:::i;:::-;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;279:74:1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;913:10:1;1377:29099:19;;893:19:1;1377:29099:19;;;;;;;;;;;;;893:38:1;1377:29099:19;;893:38:1;:::i;:::-;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;2428:10:3;1377:29099:19;;;;;;;;2457:19:3;;;1377:29099:19;;2557:20:3;;;1377:29099:19;;;;;;2538:39:3;;1377:29099:19;;2657:22:3;1377:29099:19;2670:9:3;;;1377:29099:19;;;;2657:22:3;:::i;:::-;2697:9;;;1377:29099:19;;2747:26:3;;;1377:29099:19;;;;;;;;;;;;;:::i;:::-;;;2825:137:3;;;1377:29099:19;2557:20:3;1377:29099:19;;;2825:137:3;;1377:29099:19;;;;;2825:137:3;;;1377:29099:19;;;2557:20:3;2825:137;;;1377:29099:19;;;;2428:10:3;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2977:47:3;1377:29099:19;2428:10:3;2977:47;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2472:126;2500:97;1377:29099;2472:126;;:186;;;;;1377:29099;2472:236;;;;1377:29099;2472:298;;;;1377:29099;2472:338;;;;1377:29099;;;;;;;;;;2472:338;876:25:16;861:40;;;2472:338:19;;;:298;2566:31;2724:46;;;-1:-1:-1;2472:298:19;;:236;2532:31;2662:46;;;-1:-1:-1;2472:236:19;;:186;2500:29;2614:44;;;-1:-1:-1;2472:186:19;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11799:9;;11848:4;11826:10;:27;1377:29099;;11921:14;;1377:29099;11969:20;;1377:29099;12438:62;1377:29099;;;;12514:19;;12510:466;;1377:29099;13039:9;;;;;2155:4;13039:9;;2155:4;;1377:29099;;;;2155:4;1377:29099;;2155:4;;:::i;:::-;13087:48;26088:9;26131:21;1377:29099;26196:14;;;26243:26;;;;:::i;:::-;26304:17;1377:29099;;26304:17;;1377:29099;;26339:23;;26335:844;1377:29099;;;;;;;;;26335:844;;27214:9;2155:4;;;27346:20;1377:29099;;27346:20;;1377:29099;27369:31;;1377:29099;2155:4;1377:29099;;;;2155:4;;27610:36;;;;27606:274;;26335:844;1377:29099;;;;;;;;28008:23;;;;28004:793;28008:23;;;1377:29099;;;;;;;;28063:36;28055:44;28063:36;;28268:9;28123:23;;;;28186:6;;;;:::i;:::-;28268:9;:::i;28051:438::-;28325:146;;;;;;;1377:29099;;;;;;;;;;28004:793;2155:4;28585:40;2155:4;;;;;;28585:40;;:::i;:::-;;1377:29099;;;;;;;6713:237;1377:29099;;;;2155:4;6776:14;;1377:29099;;;;;6811:24;;1377:29099;;6811:24;;1377:29099;;6849:20;;1377:29099;;;;;;;28658:41;1377:29099;;;;;;;;;;;;;6713:237;28004:793;;1377:29099;;;;;;;;;;27606:274;1377:29099;2155:4;;;2208:2;1377:29099;2208:2;2155:4;;;;27606:274;;;;26335:844;26451:25;;;1377:29099;;26494:671;;26335:844;;;;;26494:671;1377:29099;;;;;;26610:36;26602:44;;26598:549;26494:671;26598:549;1377:29099;26712:31;;1377:29099;26678:160;;;;;;1377:29099;;;;;;;26678:160;;;;;;1377:29099;26678:160;;;1377:29099;26678:160;;1377:29099;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26678:160;;;;;;;26598:549;-1:-1:-1;26674:451:19;;1204:349:13;;;2155:4:19;1204:349:13;;;;;26674:451:19;1204:349:13;1377:29099:19;1204:349:13;;;;;;;1377:29099:19;1204:349:13;;;;;;;;1377:29099:19;;;27076:22;;;;;;1377:29099;27076:22;;1377:29099;;;;;;:::i;1204:349:13:-;;;;;;26674:451:19;26598:549;;26494:671;;26678:160;;;;;;:::i;:::-;1377:29099;26678:160;;;;1377:29099;;;;;;;;;;12510:466;1377:29099;;;;;;;;;;;;378:118:13;;;;12634:8:19;12630:336;;12510:466;;;;;;12630:336;2155:4;1204:349:13;;;;;2155:4:19;1204:349:13;;;;;12630:336:19;1204:349:13;1377:29099:19;1204:349:13;;;;;;;1377:29099:19;1204:349:13;;;;1377:29099:19;1204:349:13;;;;1377:29099:19;;12743:152;;12630:336;12912:39;;1377:29099;12630:336;;;;;12743:152;12793:83;1377:29099;;;2155:4;1377:29099;;;;;;12854:13;;1377:29099;2155:4;1377:29099;;;;;;;;2155:4;;;;1377:29099;2155:4;;;;:::i;:::-;12793:83;;;12743:152;;;;1204:349:13;;;;;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1377:29099:19;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2155:4::-;;;;;;;;-1:-1:-1;;2155:4:19;;;;:::o;:::-;;;;;;;;;;;;;;;1377:29099;;;2155:4;;1377:29099;;;;;;;;;;;2155:4;;;:::i;:::-;1377:29099;;2155:4;;;:::o;1377:29099::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1377:29099:19;;;;:::o;:::-;;;:::o;13190:180::-;1998:15:4;;;;;;;:::i;:::-;2961:193:0;;;;;;;;2062:15:4;;;;;;:::i;:::-;2961:193:0;;;;;;;;2300:23:4;2230:14;2300:23;;;;;;:::i;:::-;2961:193:0;;;;;;;;1377:29099:19;;;2342:180:4;1938:12;2342:180;;823:61;1377:29099:19;823:61:4;;1377:29099:19;;;1938:12:4;;;1377:29099:19;;;;;2062:15:4;1377:29099:19;;;2115:23:4;1377:29099:19;;;2115:23:4;;;1377:29099:19;2177:25:4;1377:29099:19;;;2177:25:4;;;1377:29099:19;;;;;2230:14:4;1377:29099:19;2300:23:4;1377:29099:19;;;;;;;;;2342:180:4;;1377:29099:19;;;;;;;;;;;;;;;;;;;;4962:25:4;;13307:55:19;;;1377:29099;;;13341:4;1377:29099;;;;13348:13;1377:29099;;;;2062:15:4;13307:55:19;;;1377:29099;;;;;;;;;;;;;13297:66;;13190:180;:::o;1377:29099::-;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1377:29099:19;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;1377:29099:19;;-1:-1:-1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1377:29099:19;;;;;;;;;;;:::o;1935:179:3:-;2077:30;1377:29099:19;;2025:37:3;2052:9;2025:37;;:::i;:::-;1377:29099:19;;;;;;;2077:30:3;;1935:179::o;1377:29099:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;:::o;2431:307:15:-;2558:7;1377:29099:19;;2558:18:15;2554:86;;2558:7;1377:29099:19;;2431:307:15:o;2554:86::-;2599:30;1377:29099:19;;2599:30:15;;;;23304:1943:19;;1377:29099;23538:9;;23587:17;;;1377:29099;;;;;;;;;;;;;13735:12;;;1377:29099;13735:12;13719:13;;1377:29099;13841:23;;;1377:29099;;;;;;13788:20;;;1377:29099;13841:23;1377:29099;13758:28;;;1377:29099;13904:25;;;1377:29099;13875:26;;;1377:29099;13875:26;14023:14;;1377:29099;;;;13970:20;;;1377:29099;13841:23;1377:29099;13940:28;;;1377:29099;14082:23;;;;;;:::i;:::-;14119:27;;;;490:2:4;14170:65:19;;490:2:4;;372;;;;;;434;372;;;490;372;;;434;372;;434;13841:23:19;1377:29099;13904:25;14342:31;;1377:29099;372:2:4;;;434;13841:23:19;1377:29099;13841:23;14303:37;;1377:29099;372:2:4;13788:20:19;372:2:4;14082:23:19;14284:17;;1377:29099;14115:516;23683:21;;;:::i;:::-;13735:12;23660:20;;1377:29099;13758:28;;;1377:29099;13875:26;1377:29099;13875:26;;;;1377:29099;23960:49;13788:20;;;1377:29099;23960:72;13841:23;24047:37;;1377:29099;23960:124;13904:25;24087:31;;1377:29099;23960:158;13970:20;;;1377:29099;23960:181;13940:28;;;1377:29099;23960:224;24202:33;1377:29099;;13758:28;;;1377:29099;13788:20;;;1377:29099;2155:4;13841:23;24047:37;;1377:29099;2155:4;13904:25;24087:31;;1377:29099;2155:4;13875:26;;;1377:29099;2155:4;13970:20;;;1377:29099;;24356:93;17418:14;;1377:29099;;;;17530:11;;13758:28;17530:11;;;;:::i;:::-;15572:20;15568:888;;14115:516;-1:-1:-1;;14082:23:19;17576:17;1377:29099;;;;;17656:23;;17652:182;;14115:516;13735:12;17851:102;23660:20;;;;;2155:4;1377:29099;;;13758:28;1377:29099;17851:102;;;;;;;1377:29099;17851:102;;;;;;:::i;:::-;;;;1377:29099;;17851:102;;;14115:516;-1:-1:-1;17847:352:19;;1204:349:13;;2155:4:19;1204:349:13;;;;;17847:352:19;1204:349:13;13758:28:19;1204:349:13;;13735:12:19;1204:349:13;;;;13758:28:19;1204:349:13;;;;1377:29099:19;13735:12;1204:349:13;;;1377:29099:19;13758:28;1377:29099;18097:87;;;;;;17851:102;18097:87;;1377:29099;13788:20;1377:29099;;;;;;;;;;;;;;13904:25;1377:29099;;;;;;;;;:::i;1204:349:13:-;;-1:-1:-1;1204:349:13;;;17847:352:19;18018:32;;;;;;;;;;17847:352;17656:23;18212:369;;17847:352;24339:110;1377:29099;;;;;13735:12;13719:13;;1377:29099;;;;;13735:12;1377:29099;13758:28;1377:29099;;;13758:28;1377:29099;;;13735:12;1377:29099;;13758:28;1377:29099;;;;;1373:34:1;;;;:::i;:::-;1377:29099:19;;;1373:41:1;24460:140:19;;24647:9;2155:4;;24638:41;24634:138;;1377:29099;14082:23;13788:20;24826:17;;1377:29099;;24822:188;;17847:352;25043:17;;13904:25;25043:17;;;;;;13758:28;13841:23;25043:17;;1377:29099;13788:20;25092:23;;1377:29099;13904:25;1377:29099;25193:9;;2155:4;;;25163:18;;1377:29099;23304:1943::o;24822:188::-;24926:73;;;;19454:9;19507:14;;;19555:17;1377:29099;14082:23;19555:17;;1377:29099;;;;;;13735:12;1377:29099;13758:28;1377:29099;;;;19712:25;;;19708:122;;13841:23;19994:144;2155:4;;;1377:29099;2155:4;;;;;1377:29099;;19939:37;1377:29099;23660:20;13735:12;23660:20;;2155:4;1377:29099;13758:28;1377:29099;19994:144;;;;;;1377:29099;19994:144;;;17851:102;19994:144;;;:::i;:::-;;;;;;;1377:29099;;;19994:144;;;24822:188;-1:-1:-1;19990:441:19;;1204:349:13;;2155:4:19;1204:349:13;;;;;19990:441:19;1204:349:13;13758:28:19;1204:349:13;;13735:12:19;1204:349:13;;;;13758:28:19;1204:349:13;;;;1377:29099:19;13735:12;1204:349:13;;;1377:29099:19;13758:28;1377:29099;20329:87;;;;;;17851:102;20329:87;;1377:29099;13788:20;1377:29099;;;;;;;;;;;;;;13904:25;1377:29099;;;;;;;;;:::i;1204:349:13:-;;-1:-1:-1;1204:349:13;;;19990:441:19;20214:18;;;;;;;;;;20250:32;19990:441;20457:9;2155:4;;20448:43;20444:149;;-1:-1:-1;24873:126:19;;24822:188;24873:126;;24822:188;;24873:126;;13841:23;24822:188;;20444:149;1377:29099;;13758:28;1377:29099;20518:60;;;;17851:102;20518:60;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;;;;;;20518:60;19994:144;;;;;;;;1377:29099;19994:144;;;;;;:::i;:::-;13758:28;19994:144;;;;1377:29099;;;;;;;;;;;;19994:144;;;1377:29099;;;;;;;;;;;;;;;;;:::i;:::-;;;13758:28;1377:29099;;;;:::i;:::-;;;;19994:144;;13735:12;1377:29099;;;;;;;;;13735:12;1377:29099;;;;;;;;;;;;:::i;:::-;;;19994:144;;;;19708:122;1377:29099;;13758:28;1377:29099;19764:51;;;;17851:102;19764:51;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;19764:51;24634:138;1377:29099;;13758:28;1377:29099;24706:51;;;;17851:102;24706:51;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;24706:51;24460:140;1377:29099;;13758:28;1377:29099;24542:47;;;;17851:102;24542:47;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;24542:47;18212:369;1377:29099;;;13735:12;1377:29099;13758:28;1377:29099;;;;18384:25;;;18380:123;;2155:4;;;1377:29099;;18212:369;;;18380:123;1377:29099;;13758:28;1377:29099;18440:44;;;;17851:102;18440:44;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;18440:44;17851:102;;;;13735:12;17851:102;;13735:12;17851:102;;;;;;13735:12;17851:102;;;:::i;:::-;;;1377:29099;;;;;17851:102;;;;;;;-1:-1:-1;17851:102:19;;17652:182;1377:29099;;;;;13735:12;1377:29099;13758:28;1377:29099;;;17770:21;;;:49;:21;;;:49;17851:102;13735:12;1377:29099;17770:49;17652:182;;;;;17770:49;13735:12;17851:102;2155:4;;;17770:49;;15568:888;15664:18;;15660:121;;1377:29099;13735:12;1377:29099;1642:45;;:::i;:::-;1377:29099;13758:28;15846:14;;:35;1377:29099;13758:28;1377:29099;15812:80;;;;1377:29099;15812:80;;;;;;1377:29099;;;;;;;;;:::i;:::-;15812:80;;;;;;;;1377:29099;15812:80;;;15568:888;1377:29099;;;;15910:21;;15906:115;;16038:17;;16034:116;;16167:19;:24;16163:123;;16344:2;372::4;;;1377:29099:19;23660:20;;;16368:77;13758:28;14082:23;23660:20;;;13735:12;23660:20;;2155:4;16420:14;;:24;1377:29099;;;;372:2:4;;13788:20:19;372:2:4;1377:29099:19;;13735:12;1377:29099;;;16368:77;15568:888;;;16163:123;1377:29099;;13758:28;1377:29099;16218:53;;;;15812:80;16218:53;;1377:29099;13758:28;1377:29099;;;;13735:12;1377:29099;;;;;;;;;16218:53;16034:116;1377:29099;;13758:28;1377:29099;16082:53;;;;15812:80;16082:53;;1377:29099;13758:28;1377:29099;;;;13735:12;1377:29099;;;;;;;;;16082:53;15906:115;1377:29099;;13758:28;1377:29099;15958:48;;;;15812:80;15958:48;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;15958:48;15812:80;;;;13735:12;15812:80;13735:12;15812:80;;;;;;;:::i;:::-;;;;15660:121;1377:29099;;13758:28;1377:29099;15714:52;;;;;;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;15714:52;1377:29099;;13758:28;1377:29099;;;;13735:12;1377:29099;;;;;;;;;;;;;;;490:2:4;;13758:28:19;1377:29099;490:2:4;;;13735:12:19;490:2:4;;;;;;;;1377:29099:19;490:2:4;1377:29099:19;;;490:2:4;;14115:516:19;14486:17;;1377:29099;14082:23;14486:17;;1377:29099;;13841:23;14530:37;;1377:29099;;13904:25;14585:31;;1377:29099;14115:516;;3631:2910;;;;3819:9;3886:20;;;;1377:29099;3986:83;;;;;4108:15;1377:29099;4108:15;;3886:20;4108:15;;;;:::i;:::-;1377:29099;4203:144;;;;;3631:2910;4377:38;;1377:29099;4364:51;;4377:38;;4519:17;;;4568:68;1377:29099;4519:17;1377:29099;4519:17;;;;2155:4;1377:29099;;;4464:74;;;4519:17;4464:74;;;;;;;1377:29099;;;;;;:::i;:::-;;;;;;4464:74;;;;;;;;;;;;:::i;:::-;1377:29099;;;4568:68;;;1377:29099;4519:17;4568:68;;;1377:29099;4464:74;4568:68;;1377:29099;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4568:68;;;;;;;;:::i;:::-;4778:220;;;;;;;;;;;;;1377:29099;4778:220;;;;5021:8;5017:1518;;4360:405;3631:2910;;;;;;:::o;5017:1518::-;5045:23;;;;;;;;1377:29099;5082:228;;;;;5017:1518;1377:29099;5327:35;;1377:29099;;2086:13;1377:29099;;;;5562:36;;;;;;;1377:29099;2086:13;;;;;;;;1377:29099;2086:13;1377:29099;;;2086:13;5562:36;5323:1202;2015:13;5623:43;;;;;;;;5619:906;2015:13;;;5808:9;;5799:36;:18;6005:9;5808;;5799:18;;:::i;:::-;5820:15;;;1377:29099;5799:36;;:::i;:::-;5877:14;;;1377:29099;5927:6;;;;;:::i;6005:9::-;5619:906;;5017:1518;;;;;;;;5619:906;6142:17;;6364:18;6142:17;;;;2155:4;6181:14;;1377:29099;6102:223;1377:29099;;;;;;;6224:20;;1377:29099;2155:4;1204:349:13;2155:4:19;1204:349:13;;;;;5619:906:19;1204:349:13;;;;;;;;;;;;;;1377:29099:19;1204:349:13;;;;1377:29099:19;;;;;;;;2155:4;;;;;;;;:::i;:::-;6102:223;;;6373:9;6364:18;;:::i;:::-;6385:15;6364:36;6385:15;;;1377:29099;;;6364:36;;:::i;:::-;6430:80;1377:29099;26088:9;;26131:21;;26196:14;;;26243:26;;;;:::i;:::-;26304:17;;;;;1377:29099;;26339:23;;26335:844;1377:29099;;;;;;;;;26335:844;;27214:9;2155:4;;;27346:20;27369:31;3886:20;27346;;1377:29099;27369:31;;1377:29099;2155:4;1377:29099;;2155:4;;27610:36;;;;27606:274;;26335:844;1377:29099;;;;27976:14;;;1377:29099;28008:23;;;;28004:793;28008:23;;;1377:29099;;;;;28123:23;;;28268:9;28123:23;28186:6;;;;:::i;28268:9::-;5619:906;;;28004:793;28585:40;2155:4;;;;;;;28585:40;;:::i;:::-;;1377:29099;;28772:9;;;;;;:::i;:::-;28004:793;;27606:274;27807:3;2155:4;;;2208:2;1377:29099;2208:2;2155:4;;;;27606:274;;;;26335:844;26451:25;;;;;1377:29099;;26494:671;;26335:844;;;;26494:671;1377:29099;-1:-1:-1;26494:671:19;;;1204:349:13;;;;;;5082:228:19;;;;;;;;4360:405;4687:63;;;;;;;1377:29099;4687:63;1377:29099;4687:63;1377:29099;4687:63;;;1377:29099;4687:63;;;1377:29099;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4687:63;;;;;;;;:::i;:::-;1377:29099;4675:75;4360:405;;4203:144;;;;;;3046:278;1377:29099;;3139:25;;1377:29099;;3162:1;3221:35;;;;;;;;;:::i;:::-;;1377:29099;;;3046:278::o;1377:29099::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:259:3;1377:29099:19;;1683:8:3;1377:29099:19;1683:8:3;1377:29099:19;;1730:21:3;1377:29099:19;1683:8:3;1377:29099:19;;;;1730:21:3;:::i;:::-;1377:29099:19;;;1559:259:3;:::o;29057:607:19:-;29267:28;29202:20;;;1377:29099;29267:28;;1377:29099;29313:36;;;29309:173;;405:35:18;1377:29099:19;2102:12:18;;;2117:13;;2102:38;;2155:4:19;3338:5:0;;;;;;:13;29057:607:19;:::o;3338:13:0:-;;;29057:607:19;:::o;2102:38:18:-;;;;29309:173:19;29448:19;;:::o;6547:410::-;;;;6713:237;1377:29099;6745:17;;;2155:4;6776:14;;1377:29099;;;6745:17;1377:29099;;;;6811:24;;;;1377:29099;;6849:20;;1377:29099;;;;;;;-1:-1:-1;6745:17:19;1377:29099;;;;;;;;;;;6713:237;6547:410::o;6963:182::-;7075:17;;;2155:4;7094:14;;1377:29099;7048:90;7075:17;1377:29099;;;;;7117:20;;1377:29099;;;;;;7048:90;6963:182::o;1377:29099::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;22413:523::-;22571:19;;22567:76;;22589:1;1377:29099;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;1582:3:0;1377:29099:19;;1596:15:0;;;1592:67;;22413:523:19;1710:8:0;1377:29099:19;;;;;;;;:::i;:::-;;;;1733:50:0;1377:29099:19;1733:50:0;;1377:29099:19;;1733:50:0;;;;1377:29099:19;494:28:18;1377:29099:19;2434:14:18;;:44;:14;;;2451:15;;2434:44;;22823:32:19;;:68;;;;;2434:44:18;22806:85:19;;22901:28;22413:523;:::o;22823:68::-;22859:32;;-1:-1:-1;22823:68:19;;;;2434:44:18;;;;1592:67:0;1623:29;;-1:-1:-1;1592:67:0;;22567:76:19;22606:26;22589:1;22606:26;22589:1;22606:26;:::o;1292:226:18:-;317:27;;1377:29099:19;;1452:21:18;1377:29099:19;;1452:59:18;796:42;1292:226;:::o", "linkReferences": {} }, "methodIdentifiers": { "addStake(uint32)": "0396cb60", "balanceOf(address)": "70a08231", "delegateAndRevert(address,bytes)": "850aaf62", "depositTo(address)": "b760faf9", "deposits(address)": "fc7e286d", "getDepositInfo(address)": "5287ce12", "getNonce(address,uint192)": "35567e1a", "getSenderAddress(bytes)": "9b249f69", "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": "22cdde4c", "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": "dbed18e0", "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": "765e827f", "incrementNonce(uint192)": "0bd28e3b", "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": "0042dc53", "nonceSequenceNumber(address,uint192)": "1b2e01b8", "supportsInterface(bytes4)": "01ffc9a7", "unlockStake()": "bb9fe6bf", "withdrawStake(address)": "c23a5cea", "withdrawTo(address,uint256)": "205c2878" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointFilterOpsOverride07.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointFilterOpsOverride07.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:security-contact\":\"https://bounty.ethereum.org\",\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"deposits(address)\":{\"notice\":\"maps paymaster to their deposits and stakes\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v07/EntryPointFilterOpsOverride.sol\":\"EntryPointFilterOpsOverride07\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"lib/account-abstraction-v7/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"lib/account-abstraction-v7/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0xeb95afb6e4cf921c1ed105ecb9f549ca46bee57f68acd1d2f4f84607ac0db5c5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2ac91562f1fcabe4809a1b4256895efebcf46f89e08336a6c09ee2d29733238\",\"dweb:/ipfs/QmPsQnPcCzioPwVtUhxkbnwKPC1bnhHSbAwK9GXVpjN3mH\"]},\"lib/account-abstraction-v7/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x673eb19600058d8642605ca409c9e1d4cab13735564b856270b92c330ffb1b8d\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://06599c57c7075ee8eb5f1710fccca3eb322876b968ec271e1fb34af41510ab2c\",\"dweb:/ipfs/QmVsDEjmZYtzgXa4AYKxbQEYQVh6NBq8GmFJCariBUqK4G\"]},\"lib/account-abstraction-v7/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"lib/openzeppelin-contracts-v5.0.2/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02\",\"dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd\"]},\"lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"src/SimulationOverrideHelper.sol\":{\"keccak256\":\"0x98850f986164c992b840ba8e878814c459be0852debe8ad8d69140c09c6b05c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a57d5979f5557ccbc6947c3f6b5b6ec10f152609b9d11c265b20d925d915b559\",\"dweb:/ipfs/QmcA4kpMCnjCfEyky32w5S8qXzvvchZJhMBvJvmBp5tcep\"]},\"src/v07/EntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0x7a55fa6a24a0033901e675b4cff0a8cc6ef3a8e9e564ad8ca0e61278049ba75d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://298257fcc9876849b3f2ca9b8d964b5410ec66aa757f8e8c9ca8f585e72d5230\",\"dweb:/ipfs/Qmcyh7nJjhZ7g5P4De9ACCRKrc2cyhfUvbR9a24GqJwLju\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.23+commit.f704f362" }, "language": "Solidity", "output": { "abi": [{ "inputs": [{ "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "ret", "type": "bytes" }], "type": "error", "name": "DelegateAndRevert" }, { "inputs": [{ "internalType": "uint256", "name": "opIndex", "type": "uint256" }, { "internalType": "string", "name": "reason", "type": "string" }], "type": "error", "name": "FailedOp" }, { "inputs": [{ "internalType": "uint256", "name": "opIndex", "type": "uint256" }, { "internalType": "string", "name": "reason", "type": "string" }, { "internalType": "bytes", "name": "inner", "type": "bytes" }], "type": "error", "name": "FailedOpWithRevert" }, { "inputs": [{ "internalType": "bytes", "name": "returnData", "type": "bytes" }], "type": "error", "name": "PostOpReverted" }, { "inputs": [], "type": "error", "name": "ReentrancyGuardReentrantCall" }, { "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }], "type": "error", "name": "SenderAddressResult" }, { "inputs": [{ "internalType": "address", "name": "aggregator", "type": "address" }], "type": "error", "name": "SignatureValidationFailed" }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "factory", "type": "address", "indexed": false }, { "internalType": "address", "name": "paymaster", "type": "address", "indexed": false }], "type": "event", "name": "AccountDeployed", "anonymous": false }, { "inputs": [], "type": "event", "name": "BeforeExecution", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalDeposit", "type": "uint256", "indexed": false }], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }, { "internalType": "bytes", "name": "revertReason", "type": "bytes", "indexed": false }], "type": "event", "name": "PostOpRevertReason", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "aggregator", "type": "address", "indexed": true }], "type": "event", "name": "SignatureAggregatorChanged", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalStaked", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "unstakeDelaySec", "type": "uint256", "indexed": false }], "type": "event", "name": "StakeLocked", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "withdrawTime", "type": "uint256", "indexed": false }], "type": "event", "name": "StakeUnlocked", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "address", "name": "withdrawAddress", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }], "type": "event", "name": "StakeWithdrawn", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "paymaster", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }, { "internalType": "bool", "name": "success", "type": "bool", "indexed": false }, { "internalType": "uint256", "name": "actualGasCost", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "actualGasUsed", "type": "uint256", "indexed": false }], "type": "event", "name": "UserOperationEvent", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }], "type": "event", "name": "UserOperationPrefundTooLow", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }, { "internalType": "bytes", "name": "revertReason", "type": "bytes", "indexed": false }], "type": "event", "name": "UserOperationRevertReason", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "address", "name": "withdrawAddress", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [{ "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }], "stateMutability": "payable", "type": "function", "name": "addStake" }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "delegateAndRevert" }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "payable", "type": "function", "name": "depositTo" }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function", "name": "deposits", "outputs": [{ "internalType": "uint256", "name": "deposit", "type": "uint256" }, { "internalType": "bool", "name": "staked", "type": "bool" }, { "internalType": "uint112", "name": "stake", "type": "uint112" }, { "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "withdrawTime", "type": "uint48" }] }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "view", "type": "function", "name": "getDepositInfo", "outputs": [{ "internalType": "struct IStakeManager.DepositInfo", "name": "info", "type": "tuple", "components": [{ "internalType": "uint256", "name": "deposit", "type": "uint256" }, { "internalType": "bool", "name": "staked", "type": "bool" }, { "internalType": "uint112", "name": "stake", "type": "uint112" }, { "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "withdrawTime", "type": "uint48" }] }] }, { "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "getNonce", "outputs": [{ "internalType": "uint256", "name": "nonce", "type": "uint256" }] }, { "inputs": [{ "internalType": "bytes", "name": "initCode", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "getSenderAddress" }, { "inputs": [{ "internalType": "struct PackedUserOperation", "name": "userOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }], "stateMutability": "view", "type": "function", "name": "getUserOpHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "name": "opsPerAggregator", "type": "tuple[]", "components": [{ "internalType": "struct PackedUserOperation[]", "name": "userOps", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "contract IAggregator", "name": "aggregator", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleAggregatedOps" }, { "inputs": [{ "internalType": "struct PackedUserOperation[]", "name": "ops", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleOps" }, { "inputs": [{ "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "nonpayable", "type": "function", "name": "incrementNonce" }, { "inputs": [{ "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "struct EntryPointFilterOpsOverride07.UserOpInfo", "name": "opInfo", "type": "tuple", "components": [{ "internalType": "struct EntryPointFilterOpsOverride07.MemoryUserOp", "name": "mUserOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "verificationGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "callGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "paymasterVerificationGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "paymasterPostOpGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "uint256", "name": "maxFeePerGas", "type": "uint256" }, { "internalType": "uint256", "name": "maxPriorityFeePerGas", "type": "uint256" }] }, { "internalType": "bytes32", "name": "userOpHash", "type": "bytes32" }, { "internalType": "uint256", "name": "prefund", "type": "uint256" }, { "internalType": "uint256", "name": "contextOffset", "type": "uint256" }, { "internalType": "uint256", "name": "preOpGas", "type": "uint256" }] }, { "internalType": "bytes", "name": "context", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "innerHandleOp", "outputs": [{ "internalType": "uint256", "name": "actualGasCost", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint192", "name": "", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "nonceSequenceNumber", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "unlockStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }, { "internalType": "uint256", "name": "withdrawAmount", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [], "stateMutability": "payable", "type": "receive" }], "devdoc": { "kind": "dev", "methods": { "addStake(uint32)": { "params": { "unstakeDelaySec": "The new lock duration before the deposit can be withdrawn." } }, "balanceOf(address)": { "params": { "account": "- The account to query." }, "returns": { "_0": "- The deposit (for gas payment) of the account." } }, "delegateAndRevert(address,bytes)": { "details": "calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.", "params": { "data": "data to pass to target in a delegatecall", "target": "a target contract to make a delegatecall from entrypoint" } }, "depositTo(address)": { "params": { "account": "- The account to add to." } }, "getDepositInfo(address)": { "params": { "account": "- The account to query." }, "returns": { "info": " - Full deposit information of given account." } }, "getNonce(address,uint192)": { "params": { "key": "the high 192 bit of the nonce", "sender": "the account address" }, "returns": { "nonce": "a full nonce to pass for next UserOp with this sender." } }, "getSenderAddress(bytes)": { "params": { "initCode": "- The constructor code to be passed into the UserOperation." } }, "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": { "params": { "userOp": "- The user operation to generate the request ID for." }, "returns": { "_0": "hash the hash of this UserOperation" } }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "opsPerAggregator": "- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)." } }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "ops": "- The operations to execute." } }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "params": { "callData": "- The callData to execute.", "context": "- The context bytes.", "opInfo": "- The UserOpInfo struct." }, "returns": { "actualGasCost": "- the actual cost in eth this UserOperation paid for gas" } }, "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." }, "withdrawStake(address)": { "params": { "withdrawAddress": "- The address to send withdrawn value." } }, "withdrawTo(address,uint256)": { "params": { "withdrawAddress": "- The address to send withdrawn value.", "withdrawAmount": "- The amount to withdraw." } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addStake(uint32)": { "notice": "Add to the account's stake - amount and delay any pending unstake is first cancelled." }, "balanceOf(address)": { "notice": "Get account balance." }, "delegateAndRevert(address,bytes)": { "notice": "Helper method for dry-run testing." }, "depositTo(address)": { "notice": "Add to the deposit of the given account." }, "deposits(address)": { "notice": "maps paymaster to their deposits and stakes" }, "getDepositInfo(address)": { "notice": "Get deposit info." }, "getNonce(address,uint192)": { "notice": "Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order." }, "getSenderAddress(bytes)": { "notice": "Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error" }, "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": { "notice": "Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid." }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "notice": "Execute a batch of UserOperation with Aggregators" }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "notice": "Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead." }, "incrementNonce(uint192)": { "notice": "Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key." }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "notice": "Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps." }, "nonceSequenceNumber(address,uint192)": { "notice": "The next valid sequence number for a given nonce key." }, "unlockStake()": { "notice": "Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay." }, "withdrawStake(address)": { "notice": "Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass." }, "withdrawTo(address,uint256)": { "notice": "Withdraw from the deposit." } }, "version": 1 } }, "settings": { "remappings": ["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/", "@account-abstraction-v7/=lib/account-abstraction-v7/contracts/", "@account-abstraction-v8/=lib/account-abstraction-v8/contracts/", "@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/", "@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/", "@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/", "@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/", "@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/", "@test-utils/=lib/singleton-paymaster/test/utils/", "account-abstraction-v6/=lib/account-abstraction-v6/contracts/", "account-abstraction-v7/=lib/account-abstraction-v7/contracts/", "account-abstraction-v8/=lib/account-abstraction-v8/contracts/", "ds-test/=lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/", "openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/", "openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/", "openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/", "singleton-paymaster/=lib/singleton-paymaster/src/", "solady/=lib/solady/src/"], "optimizer": { "enabled": true, "runs": 1000000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/v07/EntryPointFilterOpsOverride.sol": "EntryPointFilterOpsOverride07" }, "evmVersion": "paris", "libraries": {}, "viaIR": true }, "sources": { "lib/account-abstraction-v7/contracts/core/Helpers.sol": { "keccak256": "0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6", "urls": ["bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e", "dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/core/NonceManager.sol": { "keccak256": "0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9", "urls": ["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6", "dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/core/SenderCreator.sol": { "keccak256": "0xeb95afb6e4cf921c1ed105ecb9f549ca46bee57f68acd1d2f4f84607ac0db5c5", "urls": ["bzz-raw://d2ac91562f1fcabe4809a1b4256895efebcf46f89e08336a6c09ee2d29733238", "dweb:/ipfs/QmPsQnPcCzioPwVtUhxkbnwKPC1bnhHSbAwK9GXVpjN3mH"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/core/StakeManager.sol": { "keccak256": "0x673eb19600058d8642605ca409c9e1d4cab13735564b856270b92c330ffb1b8d", "urls": ["bzz-raw://06599c57c7075ee8eb5f1710fccca3eb322876b968ec271e1fb34af41510ab2c", "dweb:/ipfs/QmVsDEjmZYtzgXa4AYKxbQEYQVh6NBq8GmFJCariBUqK4G"], "license": "GPL-3.0-only" }, "lib/account-abstraction-v7/contracts/core/UserOperationLib.sol": { "keccak256": "0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b", "urls": ["bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc", "dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IAccount.sol": { "keccak256": "0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78", "urls": ["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020", "dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol": { "keccak256": "0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c", "urls": ["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577", "dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol": { "keccak256": "0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588", "urls": ["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155", "dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4", "urls": ["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9", "dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol": { "keccak256": "0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb", "urls": ["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3", "dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f", "urls": ["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8", "dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04", "urls": ["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00", "dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"], "license": "GPL-3.0-only" }, "lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol": { "keccak256": "0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359", "urls": ["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be", "dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/utils/Exec.sol": { "keccak256": "0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74", "urls": ["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77", "dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"], "license": "LGPL-3.0-only" }, "lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol": { "keccak256": "0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d", "urls": ["bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4", "dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.0.2/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236", "urls": ["bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02", "dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/ERC165.sol": { "keccak256": "0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133", "urls": ["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8", "dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b", "urls": ["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df", "dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"], "license": "MIT" }, "src/SimulationOverrideHelper.sol": { "keccak256": "0x98850f986164c992b840ba8e878814c459be0852debe8ad8d69140c09c6b05c5", "urls": ["bzz-raw://a57d5979f5557ccbc6947c3f6b5b6ec10f152609b9d11c265b20d925d915b559", "dweb:/ipfs/QmcA4kpMCnjCfEyky32w5S8qXzvvchZJhMBvJvmBp5tcep"], "license": "MIT" }, "src/v07/EntryPointFilterOpsOverride.sol": { "keccak256": "0x7a55fa6a24a0033901e675b4cff0a8cc6ef3a8e9e564ad8ca0e61278049ba75d", "urls": ["bzz-raw://298257fcc9876849b3f2ca9b8d964b5410ec66aa757f8e8c9ca8f585e72d5230", "dweb:/ipfs/Qmcyh7nJjhZ7g5P4De9ACCRKrc2cyhfUvbR9a24GqJwLju"], "license": "GPL-3.0" } }, "version": 1 }, "id": 19 }
|
|
1
|
+
{ "abi": [{ "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "addStake", "inputs": [{ "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "balanceOf", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "delegateAndRevert", "inputs": [{ "name": "target", "type": "address", "internalType": "address" }, { "name": "data", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositTo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "deposits", "inputs": [{ "name": "", "type": "address", "internalType": "address" }], "outputs": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }], "stateMutability": "view" }, { "type": "function", "name": "getDepositInfo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "info", "type": "tuple", "internalType": "struct IStakeManager.DepositInfo", "components": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }] }], "stateMutability": "view" }, { "type": "function", "name": "getNonce", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "nonce", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getSenderAddress", "inputs": [{ "name": "initCode", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUserOpHash", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "handleAggregatedOps", "inputs": [{ "name": "opsPerAggregator", "type": "tuple[]", "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "components": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "aggregator", "type": "address", "internalType": "contract IAggregator" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "handleOps", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "incrementNonce", "inputs": [{ "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride07.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride07.MemoryUserOp", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "verificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "callGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterVerificationGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "paymasterPostOpGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "maxFeePerGas", "type": "uint256", "internalType": "uint256" }, { "name": "maxPriorityFeePerGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "userOpHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "prefund", "type": "uint256", "internalType": "uint256" }, { "name": "contextOffset", "type": "uint256", "internalType": "uint256" }, { "name": "preOpGas", "type": "uint256", "internalType": "uint256" }] }, { "name": "context", "type": "bytes", "internalType": "bytes" }], "outputs": [{ "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "nonceSequenceNumber", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "withdrawAmount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccountDeployed", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "factory", "type": "address", "indexed": false, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "BeforeExecution", "inputs": [], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDeposit", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "PostOpRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "SignatureAggregatorChanged", "inputs": [{ "name": "aggregator", "type": "address", "indexed": true, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "StakeLocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalStaked", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "unstakeDelaySec", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeUnlocked", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawTime", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "StakeWithdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationEvent", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "success", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "actualGasCost", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "actualGasUsed", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationPrefundTooLow", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "UserOperationRevertReason", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nonce", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "revertReason", "type": "bytes", "indexed": false, "internalType": "bytes" }], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "error", "name": "DelegateAndRevert", "inputs": [{ "name": "success", "type": "bool", "internalType": "bool" }, { "name": "ret", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "FailedOp", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }] }, { "type": "error", "name": "FailedOpWithRevert", "inputs": [{ "name": "opIndex", "type": "uint256", "internalType": "uint256" }, { "name": "reason", "type": "string", "internalType": "string" }, { "name": "inner", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "PostOpReverted", "inputs": [{ "name": "returnData", "type": "bytes", "internalType": "bytes" }] }, { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, { "type": "error", "name": "SenderAddressResult", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SignatureValidationFailed", "inputs": [{ "name": "aggregator", "type": "address", "internalType": "address" }] }], "bytecode": { "object": "0x6080806040523461001b576001600255613ef290816100218239f35b600080fdfe60806040526004361015610024575b361561001957600080fd5b610022336126f1565b005b60003560e01c806242dc5314611ae957806301ffc9a7146119975780630396cb601461165f5780630bd28e3b146115e35780631b2e01b81461154f578063205c2878146113ba57806322cdde4c1461135457806335567e1a1461129c5780635287ce121461118e57806370a0823114611129578063765e827f14610e6b578063850aaf6214610dac5780639b249f6914610c74578063b760faf914610c3a578063bb9fe6bf14610a68578063c23a5cea146107c4578063dbed18e0146101a15763fc7e286d0361000e573461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff61013a612248565b16600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526dffffffffffffffffffffffffffff8160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b600080fd5b3461019c576101af366122c0565b906101b8612966565b60009160005b82811061056f57506101d08493612531565b6000805b8481106102fc5750507fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000809360005b81811061024757610240868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2613b37565b6001600255005b6102a261025582848a61273f565b73ffffffffffffffffffffffffffffffffffffffff610276602083016127d3565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a28061277f565b906000915b8083106102b957505050600101610209565b909194976102f36102ed6001926102e78c8b6102e0826102da8e8b8d612646565b92612603565b5191613527565b906123b2565b996123bf565b950191906102a7565b602061030982878961273f565b61031f610316828061277f565b939092016127d3565b9160009273ffffffffffffffffffffffffffffffffffffffff8091165b8285106103505750505050506001016101d4565b909192939561037f83610378610366848c612603565b516103728b898b612646565b8561299f565b9290613d97565b9116840361050a576104a5576103958491613d97565b9116610440576103b5576103aa6001916123bf565b96019392919061033c565b60a487604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b61057a81848761273f565b93610585858061277f565b919095602073ffffffffffffffffffffffffffffffffffffffff6105aa8284016127d3565b1697600192838a1461076657896105da575b5050505060019293949550906105d1916123b2565b939291016101be565b8060406105e89201906127f4565b918a3b1561019c57929391906040519485937f2dd8113300000000000000000000000000000000000000000000000000000000855288604486016040600488015252606490818601918a60051b8701019680936000915b8c83106106e657505050505050838392610684927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85600098030160248601526126b2565b03818a5afa90816106d7575b506106c657602486604051907f86a9f7500000000000000000000000000000000000000000000000000000000082526004820152fd5b93945084936105d1600189806105bc565b6106e090612166565b88610690565b91939596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c908a9294969a0301865288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181121561019c5783610753879385839401612895565b9a0196019301909189979695949261063f565b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b3461019c576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576107fc612248565b33600052600082526001604060002001908154916dffffffffffffffffffffffffffff8360081c16928315610a0a5765ffffffffffff8160981c1680156109ac57421061094e5760009373ffffffffffffffffffffffffffffffffffffffff859485947fffffffffffffff000000000000000000000000000000000000000000000000ff86951690556040517fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda33391806108da8786836020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0390a2165af16108e86123f9565b50156108f057005b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b3461019c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c573360005260006020526001604060002001805463ffffffff8160781c16908115610bdc5760ff1615610b7e5765ffffffffffff908142160191818311610b4f5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609885901b161790556040519116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a2005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610022610c6f612248565b6126f1565b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043567ffffffffffffffff811161019c576020610cc8610d2992369060040161226b565b919073ffffffffffffffffffffffffffffffffffffffff9283610ce9613e66565b169060006040518097819582947f570e1a3600000000000000000000000000000000000000000000000000000000845288600485015260248401916126b2565b03925af1908115610da057602492600092610d6f575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b610d9291925060203d602011610d99575b610d8a8183612196565b810190612686565b9083610d3f565b503d610d80565b6040513d6000823e3d90fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610de3612248565b60243567ffffffffffffffff811161019c57600091610e078392369060040161226b565b90816040519283928337810184815203915af4610e226123f9565b90610e676040519283927f994105540000000000000000000000000000000000000000000000000000000084521515600484015260406024840152604483019061236f565b0390fd5b3461019c57610e79366122c0565b610e84929192612966565b610e8d83612531565b60005b848110610f0557506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000915b858310610ed5576102408585613b37565b909193600190610efb610ee9878987612646565b610ef38886612603565b519088613527565b0194019190610ec4565b610f30610f29610f1783859795612603565b51610f23848987612646565b8461299f565b9190613d97565b73ffffffffffffffffffffffffffffffffffffffff929183166110c45761105f57610f5a90613d97565b9116610ffa57610f6f57600101929092610e90565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff611175612248565b1660005260006020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff6111da612248565b600060806040516111ea816120fe565b828152826020820152826040820152826060820152015216600052600060205260a06040600020608060405161121f816120fe565b6001835493848352015490602081019060ff8316151582526dffffffffffffffffffffffffffff60408201818560081c16815263ffffffff936060840193858760781c16855265ffffffffffff978891019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760206112d5612248565b73ffffffffffffffffffffffffffffffffffffffff6112f2612299565b911660005260018252604060002077ffffffffffffffffffffffffffffffffffffffffffffffff821660005282526040600020547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b3461019c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261019c576004359067ffffffffffffffff821161019c5761012090823603011261019c576113b2602091600401612429565b604051908152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576113f1612248565b602435903360005260006020526040600020908154918284116114f1576000808573ffffffffffffffffffffffffffffffffffffffff82958395611435848a6123ec565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af161148b6123f9565b501561149357005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57611586612248565b73ffffffffffffffffffffffffffffffffffffffff6115a3612299565b9116600052600160205277ffffffffffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043577ffffffffffffffffffffffffffffffffffffffffffffffff811680910361019c57336000526001602052604060002090600052602052604060002061165b81546123bf565b9055005b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043563ffffffff9182821680920361019c5733600052600081526040600020928215611939576001840154908160781c1683106118db576116e16dffffffffffffffffffffffffffff9182349160081c166123b2565b93841561187d5781851161181f579065ffffffffffff6117ee925460405190611709826120fe565b8152848101926001845260408201908816815260608201878152600160808401936000855233600052600089526040600020905181550194511515917fffffffffffffffffffffffffff0000000000000000000000000000000000000060ff72ffffffff0000000000000000000000000000006effffffffffffffffffffffffffff008954945160081b16945160781b1694169116171717835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b6040519283528201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361019c57807f60fc6b6e0000000000000000000000000000000000000000000000000000000060209214908115611abf575b8115611a95575b8115611a6b575b8115611a41575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611a36565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150611a2f565b7fcf28ef970000000000000000000000000000000000000000000000000000000081149150611a28565b7f915074d80000000000000000000000000000000000000000000000000000000081149150611a21565b3461019c576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5767ffffffffffffffff60043581811161019c573660238201121561019c57611b4b903690602481600401359101612211565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c0811261019c5761014060405191611b87836120fe565b1261019c5760405192611b9984612149565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361019c578452602093604435858201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff8116810361019c5760e08201526101243561010082015261014435610120820152825261016435848301526101843560408301526101a43560608301526101c43560808301526101e43590811161019c57611c6590369060040161226b565b905a3033036120a057835160608101519560009681519182611fc2575b5050505090611c9c915a9003608085015101923691612211565b925a90600094845193611cae85613c5c565b9173ffffffffffffffffffffffffffffffffffffffff60e0870151168015600014611e7b57505073ffffffffffffffffffffffffffffffffffffffff855116935b5a9003019360a06060820151910151016080860151850390818111611e67575b50508302604085015192818410600014611da05750506003811015611d7357600203611d4b576113b29293508093611d4681613d25565b613cb6565b5050507fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b81611db092979396940390613c28565b506003841015611e3a57507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f60808683015192519473ffffffffffffffffffffffffffffffffffffffff865116948873ffffffffffffffffffffffffffffffffffffffff60e0890151169701519160405192835215898301528760408301526060820152a46113b2565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6064919003600a0204909301928780611d0f565b8095918051611e8c575b5050611cef565b6003861015611f93576002860315611e855760a088015190823b1561019c57600091611ef691836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528d600484015260806024840152608483019061236f565b8b8b0260448301528b60648301520393f19081611f7f575b50611f785787893d610800808211611f70575b506040519282828501016040528184528284013e610e676040519283927fad7954bc0000000000000000000000000000000000000000000000000000000084526004840152602483019061236f565b905083611f21565b8980611e85565b611f8a919950612166565b6000978a611f0e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91600092918380938c73ffffffffffffffffffffffffffffffffffffffff885116910192f115611ff5575b808080611c82565b611c9c929195503d610800808211612098575b5060405190888183010160405280825260008983013e8051612031575b50506001949091611fed565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20188870151918973ffffffffffffffffffffffffffffffffffffffff85511694015161208e604051928392835260408d840152604083019061236f565b0390a38680612025565b905088612008565b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff82111761211a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57604052565b6060810190811067ffffffffffffffff82111761211a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261221d826121d7565b9161222b6040519384612196565b82948184528183011161019c578281602093846000960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9181601f8401121561019c5782359167ffffffffffffffff831161019c576020838186019501011161019c57565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261019c5760043567ffffffffffffffff9283821161019c578060238301121561019c57816004013593841161019c5760248460051b8301011161019c57602401919060243573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b60005b83811061235f5750506000910152565b818101518382015260200161234f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936123ab8151809281875287808801910161234c565b0116010190565b91908201809211610b4f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b4f5760010190565b91908203918211610b4f57565b3d15612424573d9061240a826121d7565b916124186040519384612196565b82523d6000602084013e565b606090565b6040612437818301836127f4565b908183519182372061244c60608401846127f4565b90818451918237209260c061246460e08301836127f4565b908186519182372091845195602087019473ffffffffffffffffffffffffffffffffffffffff833516865260208301358789015260608801526080870152608081013560a087015260a081013582870152013560e08501526101009081850152835261012083019167ffffffffffffffff918484108385111761211a57838252845190206101408501908152306101608601524661018086015260608452936101a0019182118383101761211a575251902090565b67ffffffffffffffff811161211a5760051b60200190565b9061253b82612519565b60409061254b6040519182612196565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06125798295612519565b019160005b83811061258b5750505050565b6020908251612599816120fe565b83516125a481612149565b600081526000849181838201528187820152816060818184015260809282848201528260a08201528260c08201528260e0820152826101008201528261012082015286528185870152818987015285015283015282860101520161257e565b80518210156126175760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156126175760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18136030182121561019c570190565b9081602091031261019c575173ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6127333485613c28565b936040519485521692a2565b91908110156126175760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561019c570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c57602001918160051b3603831361019c57565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c5760200191813603831361019c57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561019c57016020813591019167ffffffffffffffff821161019c57813603831361019c57565b61012091813573ffffffffffffffffffffffffffffffffffffffff811680910361019c5761290b6128f061296395612944938552602086013560208601526128e06040870187612845565b90918060408801528601916126b2565b6128fd6060860186612845565b9085830360608701526126b2565b6080840135608084015260a084013560a084015260c084013560c084015261293660e0850185612845565b9084830360e08601526126b2565b916129556101009182810190612845565b9290918185039101526126b2565b90565b60028054146129755760028055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b926000905a93805194843573ffffffffffffffffffffffffffffffffffffffff811680910361019c5786526020850135602087015260808501356fffffffffffffffffffffffffffffffff90818116606089015260801c604088015260a086013560c088015260c086013590811661010088015260801c610120870152612a2960e08601866127f4565b801561350b57603481106134ad578060141161019c578060241161019c5760341161019c57602481013560801c60a0880152601481013560801c60808801523560601c60e08701525b612a7b85612429565b60208301526040860151946effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171161344f57604087015160608801510160808801510160a08801510160c0880151016101008801510296835173ffffffffffffffffffffffffffffffffffffffff81511690612b0f60408501856127f4565b8061318d575b505060e0015173ffffffffffffffffffffffffffffffffffffffff169060008215613155575b6020612b80918b828a01516000868a604051978896879586937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613d75565b0393f160009181613121575b50612c34573d8c610800808311612c2c575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612b9e565b9a92939495969798999a911561309b575b509773ffffffffffffffffffffffffffffffffffffffff835116602084015190600052600160205260406000208160401c60005260205267ffffffffffffffff604060002091825492612c97846123bf565b90551603613036575a850311612fd15773ffffffffffffffffffffffffffffffffffffffff60e0606093015116612ceb575b509060a09184959697986040608096015260608601520135905a900301910152565b969550505a9683519773ffffffffffffffffffffffffffffffffffffffff60e08a01511680600052600060205260406000208054848110612f6c576080612d769a9b9c600093878094039055015192602089015183604051809d819582947f52b7512c0000000000000000000000000000000000000000000000000000000084528c60048501613d75565b039286f1978860009160009a612edf575b50612e2f573d8b610800808311612e27575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612d99565b9991929394959697989998925a900311612e5457509096959094939291906080612cc9565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b915098503d90816000823e612ef48282612196565b604081838101031261019c5780519067ffffffffffffffff821161019c57828101601f83830101121561019c578181015191612f2f836121d7565b93612f3d6040519586612196565b838552820160208483850101011161019c57602092612f6391848087019185010161234c565b01519838612d87565b60848b604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b600052600060205260406000208054808c116130bc578b9003905538612c45565b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b9091506020813d60201161314d575b8161313d60209383612196565b8101031261019c57519038612b8c565b3d9150613130565b508060005260006020526040600020548a81116000146131805750612b80602060005b915050612b3b565b6020612b80918c03613178565b833b6133ea576000602073ffffffffffffffffffffffffffffffffffffffff6131b4613e66565b1660408b510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352856004840152826131fa602482018a8c6126b2565b0393f1908115610da0576000916133cb575b5073ffffffffffffffffffffffffffffffffffffffff81168015613366578503613301573b1561329c5760141161019c5773ffffffffffffffffffffffffffffffffffffffff9183887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d604060e0958787602086015195510151168251913560601c82526020820152a391612b15565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848e604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848f604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b6133e4915060203d602011610d9957610d8a8183612196565b3861320c565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b5050600060e087015260006080870152600060a0870152612a72565b9092915a906060810151916040928351967fffffffff000000000000000000000000000000000000000000000000000000008861356760608401846127f4565b600060038211613b2f575b7f8dd7712f00000000000000000000000000000000000000000000000000000000941684036139d45750505061372d6000926136429260208801516135ca8a5193849360208501528b60248501526064840190612895565b90604483015203906136027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092838101835282612196565b61372189519485927e42dc53000000000000000000000000000000000000000000000000000000006020850152610200602485015261022484019061236f565b6136f0604484018b60806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528761236f565b03908101835282612196565b6020918183809351910182305af16000519886521561374f575b505050505050565b909192939495965060003d82146139ca575b7fdeaddead0000000000000000000000000000000000000000000000000000000081036137eb57608487878051917f220266b600000000000000000000000000000000000000000000000000000000835260048301526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b7fdeadaa5100000000000000000000000000000000000000000000000000000000919293959496501460001461385557505061383961382e613848935a906123ec565b6080850151906123b2565b9083015183611d468295613d25565b905b388080808080613747565b90926138e290828601518651907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f479273ffffffffffffffffffffffffffffffffffffffff9580878551169401516138d83d6108008082116139c2575b508a519084818301018c5280825260008583013e8a805194859485528401528a83019061236f565b0390a35a906123ec565b916138f360808601938451906123b2565b926000905a94829488519761390789613c5c565b948260e08b01511680156000146139a857505050875116955b5a9003019560a06060820151910151019051860390818111613994575b50508402908501519281841060001461396e57505080611e3a575090816139689293611d4681613d25565b9061384a565b61397e9082849397950390613c28565b50611e3a5750908261398f92613cb6565b613968565b6064919003600a020490940193388061393d565b909198925097516139ba575b50613920565b9550386139b4565b9050386138b0565b8181803e51613761565b613b27945082935090613a1c917e42dc53000000000000000000000000000000000000000000000000000000006020613afb95015261020060248601526102248501916126b2565b613aca604484018860806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528461236f565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101895288612196565b60008761372d565b508135613572565b73ffffffffffffffffffffffffffffffffffffffff168015613bca57600080809381935af1613b646123f9565b5015613b6c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff166000526000602052613c5660406000209182546123b2565b80915590565b610120610100820151910151808214613cb2577f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480613cac575048905b0180821015613ca7575090565b905090565b90613c9a565b5090565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b613d8d60409295949395606083526060830190612895565b9460208201520152565b8015613e5d57600060408051613dac8161217a565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff90818160a01c16908115613e55575b60d01c91835191613df78361217a565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c405341548015600014613e4f575042915b8211918215613e45575b50509091565b1090503880613e3f565b91613e35565b829150613de7565b50600090600090565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612963575073efc2c1444ebcc4db75e7613d20c6a62ff67a167c9056fea26469706673582212205d8d002538811bb90cd10f32f0c34741973a4e4d8e371c6c51d213259ead18dc64736f6c63430008170033", "sourceMap": "1377:29099:19:-:0;;;;;;;1713:1:15;1917:21;1713:1;1377:29099:19;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040526004361015610024575b361561001957600080fd5b610022336126f1565b005b60003560e01c806242dc5314611ae957806301ffc9a7146119975780630396cb601461165f5780630bd28e3b146115e35780631b2e01b81461154f578063205c2878146113ba57806322cdde4c1461135457806335567e1a1461129c5780635287ce121461118e57806370a0823114611129578063765e827f14610e6b578063850aaf6214610dac5780639b249f6914610c74578063b760faf914610c3a578063bb9fe6bf14610a68578063c23a5cea146107c4578063dbed18e0146101a15763fc7e286d0361000e573461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff61013a612248565b16600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526dffffffffffffffffffffffffffff8160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b600080fd5b3461019c576101af366122c0565b906101b8612966565b60009160005b82811061056f57506101d08493612531565b6000805b8481106102fc5750507fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000809360005b81811061024757610240868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2613b37565b6001600255005b6102a261025582848a61273f565b73ffffffffffffffffffffffffffffffffffffffff610276602083016127d3565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a28061277f565b906000915b8083106102b957505050600101610209565b909194976102f36102ed6001926102e78c8b6102e0826102da8e8b8d612646565b92612603565b5191613527565b906123b2565b996123bf565b950191906102a7565b602061030982878961273f565b61031f610316828061277f565b939092016127d3565b9160009273ffffffffffffffffffffffffffffffffffffffff8091165b8285106103505750505050506001016101d4565b909192939561037f83610378610366848c612603565b516103728b898b612646565b8561299f565b9290613d97565b9116840361050a576104a5576103958491613d97565b9116610440576103b5576103aa6001916123bf565b96019392919061033c565b60a487604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608488604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b61057a81848761273f565b93610585858061277f565b919095602073ffffffffffffffffffffffffffffffffffffffff6105aa8284016127d3565b1697600192838a1461076657896105da575b5050505060019293949550906105d1916123b2565b939291016101be565b8060406105e89201906127f4565b918a3b1561019c57929391906040519485937f2dd8113300000000000000000000000000000000000000000000000000000000855288604486016040600488015252606490818601918a60051b8701019680936000915b8c83106106e657505050505050838392610684927ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85600098030160248601526126b2565b03818a5afa90816106d7575b506106c657602486604051907f86a9f7500000000000000000000000000000000000000000000000000000000082526004820152fd5b93945084936105d1600189806105bc565b6106e090612166565b88610690565b91939596977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c908a9294969a0301865288357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181121561019c5783610753879385839401612895565b9a0196019301909189979695949261063f565b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b3461019c576020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576107fc612248565b33600052600082526001604060002001908154916dffffffffffffffffffffffffffff8360081c16928315610a0a5765ffffffffffff8160981c1680156109ac57421061094e5760009373ffffffffffffffffffffffffffffffffffffffff859485947fffffffffffffff000000000000000000000000000000000000000000000000ff86951690556040517fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda33391806108da8786836020909392919373ffffffffffffffffffffffffffffffffffffffff60408201951681520152565b0390a2165af16108e86123f9565b50156108f057005b606490604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606485604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b3461019c5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c573360005260006020526001604060002001805463ffffffff8160781c16908115610bdc5760ff1615610b7e5765ffffffffffff908142160191818311610b4f5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609885901b161790556040519116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a2005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610022610c6f612248565b6126f1565b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043567ffffffffffffffff811161019c576020610cc8610d2992369060040161226b565b919073ffffffffffffffffffffffffffffffffffffffff9283610ce9613e66565b169060006040518097819582947f570e1a3600000000000000000000000000000000000000000000000000000000845288600485015260248401916126b2565b03925af1908115610da057602492600092610d6f575b50604051917f6ca7b806000000000000000000000000000000000000000000000000000000008352166004820152fd5b610d9291925060203d602011610d99575b610d8a8183612196565b810190612686565b9083610d3f565b503d610d80565b6040513d6000823e3d90fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57610de3612248565b60243567ffffffffffffffff811161019c57600091610e078392369060040161226b565b90816040519283928337810184815203915af4610e226123f9565b90610e676040519283927f994105540000000000000000000000000000000000000000000000000000000084521515600484015260406024840152604483019061236f565b0390fd5b3461019c57610e79366122c0565b610e84929192612966565b610e8d83612531565b60005b848110610f0557506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000915b858310610ed5576102408585613b37565b909193600190610efb610ee9878987612646565b610ef38886612603565b519088613527565b0194019190610ec4565b610f30610f29610f1783859795612603565b51610f23848987612646565b8461299f565b9190613d97565b73ffffffffffffffffffffffffffffffffffffffff929183166110c45761105f57610f5a90613d97565b9116610ffa57610f6f57600101929092610e90565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff611175612248565b1660005260006020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5773ffffffffffffffffffffffffffffffffffffffff6111da612248565b600060806040516111ea816120fe565b828152826020820152826040820152826060820152015216600052600060205260a06040600020608060405161121f816120fe565b6001835493848352015490602081019060ff8316151582526dffffffffffffffffffffffffffff60408201818560081c16815263ffffffff936060840193858760781c16855265ffffffffffff978891019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760206112d5612248565b73ffffffffffffffffffffffffffffffffffffffff6112f2612299565b911660005260018252604060002077ffffffffffffffffffffffffffffffffffffffffffffffff821660005282526040600020547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b3461019c577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60208136011261019c576004359067ffffffffffffffff821161019c5761012090823603011261019c576113b2602091600401612429565b604051908152f35b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576113f1612248565b602435903360005260006020526040600020908154918284116114f1576000808573ffffffffffffffffffffffffffffffffffffffff82958395611435848a6123ec565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af161148b6123f9565b501561149357005b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b3461019c5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c57611586612248565b73ffffffffffffffffffffffffffffffffffffffff6115a3612299565b9116600052600160205277ffffffffffffffffffffffffffffffffffffffffffffffff604060002091166000526020526020604060002054604051908152f35b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043577ffffffffffffffffffffffffffffffffffffffffffffffff811680910361019c57336000526001602052604060002090600052602052604060002061165b81546123bf565b9055005b6020807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5760043563ffffffff9182821680920361019c5733600052600081526040600020928215611939576001840154908160781c1683106118db576116e16dffffffffffffffffffffffffffff9182349160081c166123b2565b93841561187d5781851161181f579065ffffffffffff6117ee925460405190611709826120fe565b8152848101926001845260408201908816815260608201878152600160808401936000855233600052600089526040600020905181550194511515917fffffffffffffffffffffffffff0000000000000000000000000000000000000060ff72ffffffff0000000000000000000000000000006effffffffffffffffffffffffffff008954945160081b16945160781b1694169116171717835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b6040519283528201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606483604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b606482604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b3461019c5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361019c57807f60fc6b6e0000000000000000000000000000000000000000000000000000000060209214908115611abf575b8115611a95575b8115611a6b575b8115611a41575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482611a36565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150611a2f565b7fcf28ef970000000000000000000000000000000000000000000000000000000081149150611a28565b7f915074d80000000000000000000000000000000000000000000000000000000081149150611a21565b3461019c576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261019c5767ffffffffffffffff60043581811161019c573660238201121561019c57611b4b903690602481600401359101612211565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c0811261019c5761014060405191611b87836120fe565b1261019c5760405192611b9984612149565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361019c578452602093604435858201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff8116810361019c5760e08201526101243561010082015261014435610120820152825261016435848301526101843560408301526101a43560608301526101c43560808301526101e43590811161019c57611c6590369060040161226b565b905a3033036120a057835160608101519560009681519182611fc2575b5050505090611c9c915a9003608085015101923691612211565b925a90600094845193611cae85613c5c565b9173ffffffffffffffffffffffffffffffffffffffff60e0870151168015600014611e7b57505073ffffffffffffffffffffffffffffffffffffffff855116935b5a9003019360a06060820151910151016080860151850390818111611e67575b50508302604085015192818410600014611da05750506003811015611d7357600203611d4b576113b29293508093611d4681613d25565b613cb6565b5050507fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b81611db092979396940390613c28565b506003841015611e3a57507f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f60808683015192519473ffffffffffffffffffffffffffffffffffffffff865116948873ffffffffffffffffffffffffffffffffffffffff60e0890151169701519160405192835215898301528760408301526060820152a46113b2565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6064919003600a0204909301928780611d0f565b8095918051611e8c575b5050611cef565b6003861015611f93576002860315611e855760a088015190823b1561019c57600091611ef691836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528d600484015260806024840152608483019061236f565b8b8b0260448301528b60648301520393f19081611f7f575b50611f785787893d610800808211611f70575b506040519282828501016040528184528284013e610e676040519283927fad7954bc0000000000000000000000000000000000000000000000000000000084526004840152602483019061236f565b905083611f21565b8980611e85565b611f8a919950612166565b6000978a611f0e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91600092918380938c73ffffffffffffffffffffffffffffffffffffffff885116910192f115611ff5575b808080611c82565b611c9c929195503d610800808211612098575b5060405190888183010160405280825260008983013e8051612031575b50506001949091611fed565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20188870151918973ffffffffffffffffffffffffffffffffffffffff85511694015161208e604051928392835260408d840152604083019061236f565b0390a38680612025565b905088612008565b606486604051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff82111761211a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610140810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57604052565b6060810190811067ffffffffffffffff82111761211a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761211a57604052565b67ffffffffffffffff811161211a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261221d826121d7565b9161222b6040519384612196565b82948184528183011161019c578281602093846000960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9181601f8401121561019c5782359167ffffffffffffffff831161019c576020838186019501011161019c57565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361019c57565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc83011261019c5760043567ffffffffffffffff9283821161019c578060238301121561019c57816004013593841161019c5760248460051b8301011161019c57602401919060243573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b60005b83811061235f5750506000910152565b818101518382015260200161234f565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6020936123ab8151809281875287808801910161234c565b0116010190565b91908201809211610b4f57565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b4f5760010190565b91908203918211610b4f57565b3d15612424573d9061240a826121d7565b916124186040519384612196565b82523d6000602084013e565b606090565b6040612437818301836127f4565b908183519182372061244c60608401846127f4565b90818451918237209260c061246460e08301836127f4565b908186519182372091845195602087019473ffffffffffffffffffffffffffffffffffffffff833516865260208301358789015260608801526080870152608081013560a087015260a081013582870152013560e08501526101009081850152835261012083019167ffffffffffffffff918484108385111761211a57838252845190206101408501908152306101608601524661018086015260608452936101a0019182118383101761211a575251902090565b67ffffffffffffffff811161211a5760051b60200190565b9061253b82612519565b60409061254b6040519182612196565b8381527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06125798295612519565b019160005b83811061258b5750505050565b6020908251612599816120fe565b83516125a481612149565b600081526000849181838201528187820152816060818184015260809282848201528260a08201528260c08201528260e0820152826101008201528261012082015286528185870152818987015285015283015282860101520161257e565b80518210156126175760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908110156126175760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18136030182121561019c570190565b9081602091031261019c575173ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6127333485613c28565b936040519485521692a2565b91908110156126175760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561019c570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c57602001918160051b3603831361019c57565b3573ffffffffffffffffffffffffffffffffffffffff8116810361019c5790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561019c570180359067ffffffffffffffff821161019c5760200191813603831361019c57565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561019c57016020813591019167ffffffffffffffff821161019c57813603831361019c57565b61012091813573ffffffffffffffffffffffffffffffffffffffff811680910361019c5761290b6128f061296395612944938552602086013560208601526128e06040870187612845565b90918060408801528601916126b2565b6128fd6060860186612845565b9085830360608701526126b2565b6080840135608084015260a084013560a084015260c084013560c084015261293660e0850185612845565b9084830360e08601526126b2565b916129556101009182810190612845565b9290918185039101526126b2565b90565b60028054146129755760028055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b926000905a93805194843573ffffffffffffffffffffffffffffffffffffffff811680910361019c5786526020850135602087015260808501356fffffffffffffffffffffffffffffffff90818116606089015260801c604088015260a086013560c088015260c086013590811661010088015260801c610120870152612a2960e08601866127f4565b801561350b57603481106134ad578060141161019c578060241161019c5760341161019c57602481013560801c60a0880152601481013560801c60808801523560601c60e08701525b612a7b85612429565b60208301526040860151946effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171161344f57604087015160608801510160808801510160a08801510160c0880151016101008801510296835173ffffffffffffffffffffffffffffffffffffffff81511690612b0f60408501856127f4565b8061318d575b505060e0015173ffffffffffffffffffffffffffffffffffffffff169060008215613155575b6020612b80918b828a01516000868a604051978896879586937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613d75565b0393f160009181613121575b50612c34573d8c610800808311612c2c575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612b9e565b9a92939495969798999a911561309b575b509773ffffffffffffffffffffffffffffffffffffffff835116602084015190600052600160205260406000208160401c60005260205267ffffffffffffffff604060002091825492612c97846123bf565b90551603613036575a850311612fd15773ffffffffffffffffffffffffffffffffffffffff60e0606093015116612ceb575b509060a09184959697986040608096015260608601520135905a900301910152565b969550505a9683519773ffffffffffffffffffffffffffffffffffffffff60e08a01511680600052600060205260406000208054848110612f6c576080612d769a9b9c600093878094039055015192602089015183604051809d819582947f52b7512c0000000000000000000000000000000000000000000000000000000084528c60048501613d75565b039286f1978860009160009a612edf575b50612e2f573d8b610800808311612e27575b50604051916020818401016040528083526000602084013e610e676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a483019061236f565b915082612d99565b9991929394959697989998925a900311612e5457509096959094939291906080612cc9565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b915098503d90816000823e612ef48282612196565b604081838101031261019c5780519067ffffffffffffffff821161019c57828101601f83830101121561019c578181015191612f2f836121d7565b93612f3d6040519586612196565b838552820160208483850101011161019c57602092612f6391848087019185010161234c565b01519838612d87565b60848b604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b600052600060205260406000208054808c116130bc578b9003905538612c45565b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b9091506020813d60201161314d575b8161313d60209383612196565b8101031261019c57519038612b8c565b3d9150613130565b508060005260006020526040600020548a81116000146131805750612b80602060005b915050612b3b565b6020612b80918c03613178565b833b6133ea576000602073ffffffffffffffffffffffffffffffffffffffff6131b4613e66565b1660408b510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352856004840152826131fa602482018a8c6126b2565b0393f1908115610da0576000916133cb575b5073ffffffffffffffffffffffffffffffffffffffff81168015613366578503613301573b1561329c5760141161019c5773ffffffffffffffffffffffffffffffffffffffff9183887fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d604060e0958787602086015195510151168251913560601c82526020820152a391612b15565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848e604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848f604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b6133e4915060203d602011610d9957610d8a8183612196565b3861320c565b60848d604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b5050600060e087015260006080870152600060a0870152612a72565b9092915a906060810151916040928351967fffffffff000000000000000000000000000000000000000000000000000000008861356760608401846127f4565b600060038211613b2f575b7f8dd7712f00000000000000000000000000000000000000000000000000000000941684036139d45750505061372d6000926136429260208801516135ca8a5193849360208501528b60248501526064840190612895565b90604483015203906136027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe092838101835282612196565b61372189519485927e42dc53000000000000000000000000000000000000000000000000000000006020850152610200602485015261022484019061236f565b6136f0604484018b60806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528761236f565b03908101835282612196565b6020918183809351910182305af16000519886521561374f575b505050505050565b909192939495965060003d82146139ca575b7fdeaddead0000000000000000000000000000000000000000000000000000000081036137eb57608487878051917f220266b600000000000000000000000000000000000000000000000000000000835260048301526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b7fdeadaa5100000000000000000000000000000000000000000000000000000000919293959496501460001461385557505061383961382e613848935a906123ec565b6080850151906123b2565b9083015183611d468295613d25565b905b388080808080613747565b90926138e290828601518651907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f479273ffffffffffffffffffffffffffffffffffffffff9580878551169401516138d83d6108008082116139c2575b508a519084818301018c5280825260008583013e8a805194859485528401528a83019061236f565b0390a35a906123ec565b916138f360808601938451906123b2565b926000905a94829488519761390789613c5c565b948260e08b01511680156000146139a857505050875116955b5a9003019560a06060820151910151019051860390818111613994575b50508402908501519281841060001461396e57505080611e3a575090816139689293611d4681613d25565b9061384a565b61397e9082849397950390613c28565b50611e3a5750908261398f92613cb6565b613968565b6064919003600a020490940193388061393d565b909198925097516139ba575b50613920565b9550386139b4565b9050386138b0565b8181803e51613761565b613b27945082935090613a1c917e42dc53000000000000000000000000000000000000000000000000000000006020613afb95015261020060248601526102248501916126b2565b613aca604484018860806101a091805173ffffffffffffffffffffffffffffffffffffffff808251168652602082015160208701526040820151604087015260608201516060870152838201518487015260a082015160a087015260c082015160c087015260e08201511660e0860152610100808201519086015261012080910151908501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc838203016102048401528461236f565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101895288612196565b60008761372d565b508135613572565b73ffffffffffffffffffffffffffffffffffffffff168015613bca57600080809381935af1613b646123f9565b5015613b6c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff166000526000602052613c5660406000209182546123b2565b80915590565b610120610100820151910151808214613cb2577f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd5480613cac575048905b0180821015613ca7575090565b905090565b90613c9a565b5090565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b613d8d60409295949395606083526060830190612895565b9460208201520152565b8015613e5d57600060408051613dac8161217a565b8281528260208201520152604073ffffffffffffffffffffffffffffffffffffffff82169165ffffffffffff90818160a01c16908115613e55575b60d01c91835191613df78361217a565b8583528360208401521692839101527f182d361d27e8fee91541f8630840b9272bdb770c7bb6239b09cd74563c405341548015600014613e4f575042915b8211918215613e45575b50509091565b1090503880613e3f565b91613e35565b829150613de7565b50600090600090565b7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d45473ffffffffffffffffffffffffffffffffffffffff1680612963575073efc2c1444ebcc4db75e7613d20c6a62ff67a167c9056fea26469706673582212205d8d002538811bb90cd10f32f0c34741973a4e4d8e371c6c51d213259ead18dc64736f6c63430008170033", "sourceMap": "1377:29099:19:-:0;;;;;;;;;-1:-1:-1;1377:29099:19;;;;;;;;1326:10:3;;;:::i;:::-;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30436:31;1377:29099;30436:31;;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;507:47:3;1377:29099:19;;507:47:3;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2322:103:15;;;:::i;:::-;1377:29099:19;8302:13;1377:29099;8317:11;;;;;;9074:26;;;;;:::i;:::-;1377:29099;;9160:11;;;;;;9868:17;;;1377:29099;9868:17;;1377:29099;;9953:13;1377:29099;9968:11;;;;;;10500:9;10426:38;;1377:29099;10074:51;10426:38;;;10500:9;:::i;:::-;8637:1;2924:21:15;1377:29099:19;;9981:3;10176:11;10036:19;;;;;:::i;:::-;1377:29099;10109:14;8505;10109;;;:::i;:::-;1377:29099;10074:51;1377:29099;10074:51;;10176:11;;:::i;:::-;10248:13;1377:29099;10243:159;10263:10;;;;;;9981:3;;;8637:1;1377:29099;9953:13;;10275:3;10335:6;;;;10378:9;10298:62;8637:1;10335:6;10311:49;10335:6;;10343:16;10335:6;;;;;;:::i;:::-;10343:16;;:::i;:::-;;10311:49;;:::i;:::-;10298:62;;:::i;:::-;10378:9;;:::i;:::-;10275:3;1377:29099;10248:13;;;;9173:3;8505:14;9228:19;;;;;:::i;:::-;9348:14;9298:11;;;;:::i;:::-;9348:14;;;;;:::i;:::-;9423:13;1377:29099;;;;;;9438:10;;;;;;9173:3;;;;;8637:1;1377:29099;9145:13;;9450:3;9500:16;;;;;21242:34;9500:16;9594:44;9500:16;;;;:::i;:::-;;9623:6;;;;;:::i;:::-;9594:44;;:::i;:::-;21242:34;;;:::i;:::-;1377:29099;;21290:32;;21286:111;;21406:96;;21804:43;;;;:::i;:::-;1377:29099;;21857:105;;21971:106;;9819:9;8637:1;9819:9;;:::i;:::-;9450:3;1377:29099;9423:13;;;;;;21971:106;1377:29099;;;;22012:54;;;;1377:29099;22012:54;;1377:29099;;;;;;;;;;;;;;;;;;;;;22012:54;21857:105;1377:29099;;;;21910:41;;;;1377:29099;21910:41;;1377:29099;;;;;;;;;;;;;;;;21910:41;21406:96;1377:29099;;;;21447:44;;;;1377:29099;21447:44;;1377:29099;;;;;;;;;;;;;;;;21447:44;21286:111;1377:29099;;;;21345:41;;;;1377:29099;21345:41;;1377:29099;;;;;;;;;;;;;;;;21345:41;8330:3;8385:19;;;;;:::i;:::-;8455:11;;;;;:::i;:::-;8505:14;;;;1377:29099;8505:14;;;;;:::i;:::-;1377:29099;8637:1;;8606:33;;;;1377:29099;;8686:33;8682:305;;8330:3;9001:22;;;;8637:1;9001:22;;;;;;;;;:::i;:::-;8330:3;8302:13;;1377:29099;8302:13;;8682:305;8839:13;1377:29099;8839:13;;;;;:::i;:::-;8804:49;;;;;;1377:29099;;;;;;8804:49;;;1377:29099;8804:49;;1377:29099;;;;;;8804:49;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8804:49;;;;;;;;;1377:29099;-1:-1:-1;8800:173:19;;1377:29099;;;;8908:46;;;;1377:29099;8908:46;;1377:29099;8908:46;8800:173;;;-1:-1:-1;8800:173:19;;9001:22;8637:1;8682:305;;;;8804:49;;;;:::i;:::-;;;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3897:10:3;1377:29099:19;;;;;3934:10:3;1377:29099:19;;;3934:10:3;1377:29099:19;;;;;;;;;3962:9:3;;;1377:29099:19;;;;;;;4014:21:3;;1377:29099:19;;4121:15:3;-1:-1:-1;1377:29099:19;;;;;;;;;;;;;;;;;4293:50:3;3897:10;4293:50;;;;;;1377:29099:19;;;;;;;;;;;;;;;;;4293:50:3;;;;1377:29099:19;4371:38:3;;;;:::i;:::-;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3248:10:3;1377:29099:19;;;;;3277:20:3;1377:29099:19;;;3277:20:3;1377:29099:19;;;;;;;3277:25:3;;;1377:29099:19;;;;;;;;3407:15:3;;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;3248:10:3;;3532:39;;1377:29099:19;;3532:39:3;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;1642:45;;;;:::i;:::-;1377:29099;;;;;16585:38;;;;;;1377:29099;16585:38;;;1377:29099;16585:38;;1377:29099;;;;;;:::i;:::-;16585:38;;;;;;;;;1377:29099;16585:38;1377:29099;16585:38;;;1377:29099;;;;16640:27;;;;1377:29099;;16640:27;;1377:29099;16640:27;16585:38;;;;;1377:29099;16585:38;1377:29099;16585:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1377:29099;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;30394:25;;;;;;:::i;:::-;1377:29099;;;;30436:31;;;;;;1377:29099;;;30436:31;;1377:29099;;;;;;;;;;;:::i;:::-;30436:31;;;1377:29099;;;;;;;:::i;:::-;2322:103:15;;;;;:::i;:::-;7364:24:19;;;:::i;:::-;1377:29099;7443:10;;;;;;7762:21;1377:29099;7802:17;;1377:29099;7802:17;;1377:29099;7834:120;7854:10;;;;;;7993:9;;;;:::i;7866:3::-;7920:6;;;1377:29099;7920:6;7902:37;7920:6;;;;;:::i;:::-;7928:10;;;;:::i;:::-;;7902:37;;;:::i;:::-;2155:4;7866:3;1377:29099;7839:13;;;;7455:3;21242:34;7586:38;7505:10;;;;;;:::i;:::-;;7609:6;;;;;:::i;:::-;7586:38;;:::i;:::-;21242:34;;;:::i;:::-;1377:29099;;;;;21286:111;;21406:96;;21804:43;;;:::i;:::-;1377:29099;;21857:105;;21971:106;;1377:29099;;7428:13;;;;;21971:106;1377:29099;;;;22012:54;;;;1377:29099;22012:54;;1377:29099;;;;;;;;;;;;;;;;;;;;;22012:54;21857:105;1377:29099;;;;21910:41;;;;1377:29099;21910:41;;1377:29099;;;;;;;;;;;;;;;;21910:41;21406:96;1377:29099;;;;21447:44;;;;1377:29099;21447:44;;1377:29099;;;;;;;;;;;;;;;;21447:44;21286:111;1377:29099;;;;21345:41;;;;1377:29099;21345:41;;1377:29099;;;;;;;;;;;;;;;;21345:41;1377:29099;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;507:19:1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;507:55:1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4805:10:3;;1377:29099:19;;;;;;;;;;;4834:30:3;;;;1377:29099:19;;;4919:29:3;;1377:29099:19;4919:29:3;;;;;;;;:::i;:::-;1377:29099:19;;;;;;;;;;;;;;;;4805:10:3;;4963:54;;;1377:29099:19;5045:47:3;;;;:::i;:::-;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;279:74:1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;913:10:1;1377:29099:19;;893:19:1;1377:29099:19;;;;;;;;;;;;;893:38:1;1377:29099:19;;893:38:1;:::i;:::-;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;2428:10:3;1377:29099:19;;;;;;;;2457:19:3;;;1377:29099:19;;2557:20:3;;;1377:29099:19;;;;;;2538:39:3;;1377:29099:19;;2657:22:3;1377:29099:19;2670:9:3;;;1377:29099:19;;;;2657:22:3;:::i;:::-;2697:9;;;1377:29099:19;;2747:26:3;;;1377:29099:19;;;;;;;;;;;;;:::i;:::-;;;2825:137:3;;;1377:29099:19;2557:20:3;1377:29099:19;;;2825:137:3;;1377:29099:19;;;;;2825:137:3;;;1377:29099:19;;;2557:20:3;2825:137;;;1377:29099:19;;;;2428:10:3;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2977:47:3;1377:29099:19;2428:10:3;2977:47;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2472:126;2500:97;1377:29099;2472:126;;:186;;;;;1377:29099;2472:236;;;;1377:29099;2472:298;;;;1377:29099;2472:338;;;;1377:29099;;;;;;;;;;2472:338;876:25:16;861:40;;;2472:338:19;;;:298;2566:31;2724:46;;;-1:-1:-1;2472:298:19;;:236;2532:31;2662:46;;;-1:-1:-1;2472:236:19;;:186;2500:29;2614:44;;;-1:-1:-1;2472:186:19;;1377:29099;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11799:9;;11848:4;11826:10;:27;1377:29099;;11921:14;;1377:29099;11969:20;;1377:29099;12438:62;1377:29099;;;;12514:19;;12510:466;;1377:29099;13039:9;;;;;2155:4;13039:9;;2155:4;;1377:29099;;;;2155:4;1377:29099;;2155:4;;:::i;:::-;13087:48;26088:9;26131:21;1377:29099;26196:14;;;26243:26;;;;:::i;:::-;26304:17;1377:29099;;26304:17;;1377:29099;;26339:23;;26335:844;1377:29099;;;;;;;;;26335:844;;27214:9;2155:4;;;27346:20;1377:29099;;27346:20;;1377:29099;27369:31;;1377:29099;2155:4;1377:29099;;;;2155:4;;27610:36;;;;27606:274;;26335:844;1377:29099;;;;;;;;28008:23;;;;28004:793;28008:23;;;1377:29099;;;;;;;;28063:36;28055:44;28063:36;;28268:9;28123:23;;;;28186:6;;;;:::i;:::-;28268:9;:::i;28051:438::-;28325:146;;;;;;;1377:29099;;;;;;;;;;28004:793;2155:4;28585:40;2155:4;;;;;;28585:40;;:::i;:::-;;1377:29099;;;;;;;6713:237;1377:29099;;;;2155:4;6776:14;;1377:29099;;;;;6811:24;;1377:29099;;6811:24;;1377:29099;;6849:20;;1377:29099;;;;;;;28658:41;1377:29099;;;;;;;;;;;;;6713:237;28004:793;;1377:29099;;;;;;;;;;27606:274;1377:29099;2155:4;;;2208:2;1377:29099;2208:2;2155:4;;;;27606:274;;;;26335:844;26451:25;;;1377:29099;;26494:671;;26335:844;;;;;26494:671;1377:29099;;;;;;26610:36;26602:44;;26598:549;26494:671;26598:549;1377:29099;26712:31;;1377:29099;26678:160;;;;;;1377:29099;;;;;;;26678:160;;;;;;1377:29099;26678:160;;;1377:29099;26678:160;;1377:29099;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;26678:160;;;;;;;26598:549;-1:-1:-1;26674:451:19;;1204:349:13;;;2155:4:19;1204:349:13;;;;;26674:451:19;1204:349:13;1377:29099:19;1204:349:13;;;;;;;1377:29099:19;1204:349:13;;;;;;;;1377:29099:19;;;27076:22;;;;;;1377:29099;27076:22;;1377:29099;;;;;;:::i;1204:349:13:-;;;;;;26674:451:19;26598:549;;26494:671;;26678:160;;;;;;:::i;:::-;1377:29099;26678:160;;;;1377:29099;;;;;;;;;;12510:466;1377:29099;;;;;;;;;;;;378:118:13;;;;12634:8:19;12630:336;;12510:466;;;;;;12630:336;2155:4;1204:349:13;;;;;2155:4:19;1204:349:13;;;;;12630:336:19;1204:349:13;1377:29099:19;1204:349:13;;;;;;;1377:29099:19;1204:349:13;;;;1377:29099:19;1204:349:13;;;;1377:29099:19;;12743:152;;12630:336;12912:39;;1377:29099;12630:336;;;;;12743:152;12793:83;1377:29099;;;2155:4;1377:29099;;;;;;12854:13;;1377:29099;2155:4;1377:29099;;;;;;;;2155:4;;;;1377:29099;2155:4;;;;:::i;:::-;12793:83;;;12743:152;;;;1204:349:13;;;;;;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1377:29099:19;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2155:4::-;;;;;;;;-1:-1:-1;;2155:4:19;;;;:::o;:::-;;;;;;;;;;;;;;;1377:29099;;;2155:4;;1377:29099;;;;;;;;;;;2155:4;;;:::i;:::-;1377:29099;;2155:4;;;:::o;1377:29099::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1377:29099:19;;;;:::o;:::-;;;:::o;13190:180::-;1998:15:4;;;;;;;:::i;:::-;2961:193:0;;;;;;;;2062:15:4;;;;;;:::i;:::-;2961:193:0;;;;;;;;2300:23:4;2230:14;2300:23;;;;;;:::i;:::-;2961:193:0;;;;;;;;1377:29099:19;;;2342:180:4;1938:12;2342:180;;823:61;1377:29099:19;823:61:4;;1377:29099:19;;;1938:12:4;;;1377:29099:19;;;;;2062:15:4;1377:29099:19;;;2115:23:4;1377:29099:19;;;2115:23:4;;;1377:29099:19;2177:25:4;1377:29099:19;;;2177:25:4;;;1377:29099:19;;;;;2230:14:4;1377:29099:19;2300:23:4;1377:29099:19;;;;;;;;;2342:180:4;;1377:29099:19;;;;;;;;;;;;;;;;;;;;4962:25:4;;13307:55:19;;;1377:29099;;;13341:4;1377:29099;;;;13348:13;1377:29099;;;;2062:15:4;13307:55:19;;;1377:29099;;;;;;;;;;;;;13297:66;;13190:180;:::o;1377:29099::-;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1377:29099:19;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;1377:29099:19;;-1:-1:-1;1377:29099:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1377:29099:19;;;;;;;;;;;:::o;1935:179:3:-;2077:30;1377:29099:19;;2025:37:3;2052:9;2025:37;;:::i;:::-;1377:29099:19;;;;;;;2077:30:3;;1935:179::o;1377:29099:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;:::o;2431:307:15:-;2558:7;1377:29099:19;;2558:18:15;2554:86;;2558:7;1377:29099:19;;2431:307:15:o;2554:86::-;2599:30;1377:29099:19;;2599:30:15;;;;23304:1943:19;;1377:29099;23538:9;;23587:17;;;1377:29099;;;;;;;;;;;;;13735:12;;;1377:29099;13735:12;13719:13;;1377:29099;13841:23;;;1377:29099;;;;;;13788:20;;;1377:29099;13841:23;1377:29099;13758:28;;;1377:29099;13904:25;;;1377:29099;13875:26;;;1377:29099;13875:26;14023:14;;1377:29099;;;;13970:20;;;1377:29099;13841:23;1377:29099;13940:28;;;1377:29099;14082:23;;;;;;:::i;:::-;14119:27;;;;490:2:4;14170:65:19;;490:2:4;;372;;;;;;434;372;;;490;372;;;434;372;;434;13841:23:19;1377:29099;13904:25;14342:31;;1377:29099;372:2:4;;;434;13841:23:19;1377:29099;13841:23;14303:37;;1377:29099;372:2:4;13788:20:19;372:2:4;14082:23:19;14284:17;;1377:29099;14115:516;23683:21;;;:::i;:::-;13735:12;23660:20;;1377:29099;13758:28;;;1377:29099;13875:26;1377:29099;13875:26;;;;1377:29099;23960:49;13788:20;;;1377:29099;23960:72;13841:23;24047:37;;1377:29099;23960:124;13904:25;24087:31;;1377:29099;23960:158;13970:20;;;1377:29099;23960:181;13940:28;;;1377:29099;23960:224;24202:33;1377:29099;;13758:28;;;1377:29099;13788:20;;;1377:29099;2155:4;13841:23;24047:37;;1377:29099;2155:4;13904:25;24087:31;;1377:29099;2155:4;13875:26;;;1377:29099;2155:4;13970:20;;;1377:29099;;24356:93;17418:14;;1377:29099;;;;17530:11;;13758:28;17530:11;;;;:::i;:::-;15572:20;15568:888;;14115:516;-1:-1:-1;;14082:23:19;17576:17;1377:29099;;;;;17656:23;;17652:182;;14115:516;13735:12;17851:102;23660:20;;;;;2155:4;1377:29099;;;13758:28;1377:29099;17851:102;;;;;;;1377:29099;17851:102;;;;;;:::i;:::-;;;;1377:29099;;17851:102;;;14115:516;-1:-1:-1;17847:352:19;;1204:349:13;;2155:4:19;1204:349:13;;;;;17847:352:19;1204:349:13;13758:28:19;1204:349:13;;13735:12:19;1204:349:13;;;;13758:28:19;1204:349:13;;;;1377:29099:19;13735:12;1204:349:13;;;1377:29099:19;13758:28;1377:29099;18097:87;;;;;;17851:102;18097:87;;1377:29099;13788:20;1377:29099;;;;;;;;;;;;;;13904:25;1377:29099;;;;;;;;;:::i;1204:349:13:-;;-1:-1:-1;1204:349:13;;;17847:352:19;18018:32;;;;;;;;;;17847:352;17656:23;18212:369;;17847:352;24339:110;1377:29099;;;;;13735:12;13719:13;;1377:29099;;;;;13735:12;1377:29099;13758:28;1377:29099;;;13758:28;1377:29099;;;13735:12;1377:29099;;13758:28;1377:29099;;;;;1373:34:1;;;;:::i;:::-;1377:29099:19;;;1373:41:1;24460:140:19;;24647:9;2155:4;;24638:41;24634:138;;1377:29099;14082:23;13788:20;24826:17;;1377:29099;;24822:188;;17847:352;25043:17;;13904:25;25043:17;;;;;;13758:28;13841:23;25043:17;;1377:29099;13788:20;25092:23;;1377:29099;13904:25;1377:29099;25193:9;;2155:4;;;25163:18;;1377:29099;23304:1943::o;24822:188::-;24926:73;;;;19454:9;19507:14;;;19555:17;1377:29099;14082:23;19555:17;;1377:29099;;;;;;13735:12;1377:29099;13758:28;1377:29099;;;;19712:25;;;19708:122;;13841:23;19994:144;2155:4;;;1377:29099;2155:4;;;;;1377:29099;;19939:37;1377:29099;23660:20;13735:12;23660:20;;2155:4;1377:29099;13758:28;1377:29099;19994:144;;;;;;1377:29099;19994:144;;;17851:102;19994:144;;;:::i;:::-;;;;;;;1377:29099;;;19994:144;;;24822:188;-1:-1:-1;19990:441:19;;1204:349:13;;2155:4:19;1204:349:13;;;;;19990:441:19;1204:349:13;13758:28:19;1204:349:13;;13735:12:19;1204:349:13;;;;13758:28:19;1204:349:13;;;;1377:29099:19;13735:12;1204:349:13;;;1377:29099:19;13758:28;1377:29099;20329:87;;;;;;17851:102;20329:87;;1377:29099;13788:20;1377:29099;;;;;;;;;;;;;;13904:25;1377:29099;;;;;;;;;:::i;1204:349:13:-;;-1:-1:-1;1204:349:13;;;19990:441:19;20214:18;;;;;;;;;;20250:32;19990:441;20457:9;2155:4;;20448:43;20444:149;;-1:-1:-1;24873:126:19;;24822:188;24873:126;;24822:188;;24873:126;;13841:23;24822:188;;20444:149;1377:29099;;13758:28;1377:29099;20518:60;;;;17851:102;20518:60;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;;;;;;20518:60;19994:144;;;;;;;;1377:29099;19994:144;;;;;;:::i;:::-;13758:28;19994:144;;;;1377:29099;;;;;;;;;;;;19994:144;;;1377:29099;;;;;;;;;;;;;;;;;:::i;:::-;;;13758:28;1377:29099;;;;:::i;:::-;;;;19994:144;;13735:12;1377:29099;;;;;;;;;13735:12;1377:29099;;;;;;;;;;;;:::i;:::-;;;19994:144;;;;19708:122;1377:29099;;13758:28;1377:29099;19764:51;;;;17851:102;19764:51;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;19764:51;24634:138;1377:29099;;13758:28;1377:29099;24706:51;;;;17851:102;24706:51;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;24706:51;24460:140;1377:29099;;13758:28;1377:29099;24542:47;;;;17851:102;24542:47;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;24542:47;18212:369;1377:29099;;;13735:12;1377:29099;13758:28;1377:29099;;;;18384:25;;;18380:123;;2155:4;;;1377:29099;;18212:369;;;18380:123;1377:29099;;13758:28;1377:29099;18440:44;;;;17851:102;18440:44;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;18440:44;17851:102;;;;13735:12;17851:102;;13735:12;17851:102;;;;;;13735:12;17851:102;;;:::i;:::-;;;1377:29099;;;;;17851:102;;;;;;;-1:-1:-1;17851:102:19;;17652:182;1377:29099;;;;;13735:12;1377:29099;13758:28;1377:29099;;;17770:21;;;:49;:21;;;:49;17851:102;13735:12;1377:29099;17770:49;17652:182;;;;;17770:49;13735:12;17851:102;2155:4;;;17770:49;;15568:888;15664:18;;15660:121;;1377:29099;13735:12;1377:29099;1642:45;;:::i;:::-;1377:29099;13758:28;15846:14;;:35;1377:29099;13758:28;1377:29099;15812:80;;;;1377:29099;15812:80;;;;;;1377:29099;;;;;;;;;:::i;:::-;15812:80;;;;;;;;1377:29099;15812:80;;;15568:888;1377:29099;;;;15910:21;;15906:115;;16038:17;;16034:116;;16167:19;:24;16163:123;;16344:2;372::4;;;1377:29099:19;23660:20;;;16368:77;13758:28;14082:23;23660:20;;;13735:12;23660:20;;2155:4;16420:14;;:24;1377:29099;;;;372:2:4;;13788:20:19;372:2:4;1377:29099:19;;13735:12;1377:29099;;;16368:77;15568:888;;;16163:123;1377:29099;;13758:28;1377:29099;16218:53;;;;15812:80;16218:53;;1377:29099;13758:28;1377:29099;;;;13735:12;1377:29099;;;;;;;;;16218:53;16034:116;1377:29099;;13758:28;1377:29099;16082:53;;;;15812:80;16082:53;;1377:29099;13758:28;1377:29099;;;;13735:12;1377:29099;;;;;;;;;16082:53;15906:115;1377:29099;;13758:28;1377:29099;15958:48;;;;15812:80;15958:48;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;15958:48;15812:80;;;;13735:12;15812:80;13735:12;15812:80;;;;;;;:::i;:::-;;;;15660:121;1377:29099;;13758:28;1377:29099;15714:52;;;;;;;1377:29099;13758:28;1377:29099;;;;;;;;;;;;;;15714:52;1377:29099;;13758:28;1377:29099;;;;13735:12;1377:29099;;;;;;;;;;;;;;;490:2:4;;13758:28:19;1377:29099;490:2:4;;;13735:12:19;490:2:4;;;;;;;;1377:29099:19;490:2:4;1377:29099:19;;;490:2:4;;14115:516:19;14486:17;;1377:29099;14082:23;14486:17;;1377:29099;;13841:23;14530:37;;1377:29099;;13904:25;14585:31;;1377:29099;14115:516;;3631:2910;;;;3819:9;3886:20;;;;1377:29099;3986:83;;;;;4108:15;1377:29099;4108:15;;3886:20;4108:15;;;;:::i;:::-;1377:29099;4203:144;;;;;3631:2910;4377:38;;1377:29099;4364:51;;4377:38;;4519:17;;;4568:68;1377:29099;4519:17;1377:29099;4519:17;;;;2155:4;1377:29099;;;4464:74;;;4519:17;4464:74;;;;;;;1377:29099;;;;;;:::i;:::-;;;;;;4464:74;;;;;;;;;;;;:::i;:::-;1377:29099;;;4568:68;;;1377:29099;4519:17;4568:68;;;1377:29099;4464:74;4568:68;;1377:29099;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4568:68;;;;;;;;:::i;:::-;4778:220;;;;;;;;;;;;;1377:29099;4778:220;;;;5021:8;5017:1518;;4360:405;3631:2910;;;;;;:::o;5017:1518::-;5045:23;;;;;;;;1377:29099;5082:228;;;;;5017:1518;1377:29099;5327:35;;1377:29099;;2086:13;1377:29099;;;;5562:36;;;;;;;1377:29099;2086:13;;;;;;;;1377:29099;2086:13;1377:29099;;;2086:13;5562:36;5323:1202;2015:13;5623:43;;;;;;;;5619:906;2015:13;;;5808:9;;5799:36;:18;6005:9;5808;;5799:18;;:::i;:::-;5820:15;;;1377:29099;5799:36;;:::i;:::-;5877:14;;;1377:29099;5927:6;;;;;:::i;6005:9::-;5619:906;;5017:1518;;;;;;;;5619:906;6142:17;;6364:18;6142:17;;;;2155:4;6181:14;;1377:29099;6102:223;1377:29099;;;;;;;6224:20;;1377:29099;2155:4;1204:349:13;2155:4:19;1204:349:13;;;;;5619:906:19;1204:349:13;;;;;;;;;;;;;;1377:29099:19;1204:349:13;;;;1377:29099:19;;;;;;;;2155:4;;;;;;;;:::i;:::-;6102:223;;;6373:9;6364:18;;:::i;:::-;6385:15;6364:36;6385:15;;;1377:29099;;;6364:36;;:::i;:::-;6430:80;1377:29099;26088:9;;26131:21;;26196:14;;;26243:26;;;;:::i;:::-;26304:17;;;;;1377:29099;;26339:23;;26335:844;1377:29099;;;;;;;;;26335:844;;27214:9;2155:4;;;27346:20;27369:31;3886:20;27346;;1377:29099;27369:31;;1377:29099;2155:4;1377:29099;;2155:4;;27610:36;;;;27606:274;;26335:844;1377:29099;;;;27976:14;;;1377:29099;28008:23;;;;28004:793;28008:23;;;1377:29099;;;;;28123:23;;;28268:9;28123:23;28186:6;;;;:::i;28268:9::-;5619:906;;;28004:793;28585:40;2155:4;;;;;;;28585:40;;:::i;:::-;;1377:29099;;28772:9;;;;;;:::i;:::-;28004:793;;27606:274;27807:3;2155:4;;;2208:2;1377:29099;2208:2;2155:4;;;;27606:274;;;;26335:844;26451:25;;;;;1377:29099;;26494:671;;26335:844;;;;26494:671;1377:29099;-1:-1:-1;26494:671:19;;;1204:349:13;;;;;;5082:228:19;;;;;;;;4360:405;4687:63;;;;;;;1377:29099;4687:63;1377:29099;4687:63;1377:29099;4687:63;;;1377:29099;4687:63;;;1377:29099;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4687:63;;;;;;;;:::i;:::-;1377:29099;4675:75;4360:405;;4203:144;;;;;;3046:278;1377:29099;;3139:25;;1377:29099;;3162:1;3221:35;;;;;;;;;:::i;:::-;;1377:29099;;;3046:278::o;1377:29099::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1559:259:3;1377:29099:19;;1683:8:3;1377:29099:19;1683:8:3;1377:29099:19;;1730:21:3;1377:29099:19;1683:8:3;1377:29099:19;;;;1730:21:3;:::i;:::-;1377:29099:19;;;1559:259:3;:::o;29057:607:19:-;29267:28;29202:20;;;1377:29099;29267:28;;1377:29099;29313:36;;;29309:173;;405:35:18;1377:29099:19;2492:12:18;;;2507:13;;2492:38;;2155:4:19;3338:5:0;;;;;;:13;29057:607:19;:::o;3338:13:0:-;;;29057:607:19;:::o;2492:38:18:-;;;;29309:173:19;29448:19;;:::o;6547:410::-;;;;6713:237;1377:29099;6745:17;;;2155:4;6776:14;;1377:29099;;;6745:17;1377:29099;;;;6811:24;;;;1377:29099;;6849:20;;1377:29099;;;;;;;-1:-1:-1;6745:17:19;1377:29099;;;;;;;;;;;6713:237;6547:410::o;6963:182::-;7075:17;;;2155:4;7094:14;;1377:29099;7048:90;7075:17;1377:29099;;;;;7117:20;;1377:29099;;;;;;7048:90;6963:182::o;1377:29099::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;22413:523::-;22571:19;;22567:76;;22589:1;1377:29099;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;1582:3:0;1377:29099:19;;1596:15:0;;;1592:67;;22413:523:19;1710:8:0;1377:29099:19;;;;;;;;:::i;:::-;;;;1733:50:0;1377:29099:19;1733:50:0;;1377:29099:19;;1733:50:0;;;;1377:29099:19;494:28:18;1377:29099:19;2824:14:18;;:44;:14;;;2841:15;;2824:44;;22823:32:19;;:68;;;;;2824:44:18;22806:85:19;;22901:28;22413:523;:::o;22823:68::-;22859:32;;-1:-1:-1;22823:68:19;;;;2824:44:18;;;;1592:67:0;1623:29;;-1:-1:-1;1592:67:0;;22567:76:19;22606:26;22589:1;22606:26;22589:1;22606:26;:::o;1393:226:18:-;317:27;;1377:29099:19;;1553:21:18;1377:29099:19;;1553:59:18;796:42;1393:226;:::o", "linkReferences": {} }, "methodIdentifiers": { "addStake(uint32)": "0396cb60", "balanceOf(address)": "70a08231", "delegateAndRevert(address,bytes)": "850aaf62", "depositTo(address)": "b760faf9", "deposits(address)": "fc7e286d", "getDepositInfo(address)": "5287ce12", "getNonce(address,uint192)": "35567e1a", "getSenderAddress(bytes)": "9b249f69", "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": "22cdde4c", "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": "dbed18e0", "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": "765e827f", "incrementNonce(uint192)": "0bd28e3b", "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": "0042dc53", "nonceSequenceNumber(address,uint192)": "1b2e01b8", "supportsInterface(bytes4)": "01ffc9a7", "unlockStake()": "bb9fe6bf", "withdrawStake(address)": "c23a5cea", "withdrawTo(address,uint256)": "205c2878" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"PostOpRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"UserOperationPrefundTooLow\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointFilterOpsOverride07.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointFilterOpsOverride07.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:security-contact\":\"https://bounty.ethereum.org\",\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"- The factory used to deploy this account (in the initCode)\",\"paymaster\":\"- The paymaster used by this UserOp\",\"sender\":\"- The account that is deployed\",\"userOpHash\":\"- The userOp that deployed this account. UserOperationEvent will follow.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"- The address to send withdrawn value.\",\"withdrawAmount\":\"- The amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"Account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"An event emitted by handleOps(), before starting the execution loop. Any event emitted before this event, is part of the validation.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"deposits(address)\":{\"notice\":\"maps paymaster to their deposits and stakes\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"notice\":\"Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"notice\":\"Inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"unlockStake()\":{\"notice\":\"Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass.\"},\"withdrawTo(address,uint256)\":{\"notice\":\"Withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v07/EntryPointFilterOpsOverride.sol\":\"EntryPointFilterOpsOverride07\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[\":@account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":@account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":@account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":@account-abstraction-v9/=lib/account-abstraction-v9/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":account-abstraction-v9/=lib/account-abstraction-v9/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/core/Helpers.sol\":{\"keccak256\":\"0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e\",\"dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc\"]},\"lib/account-abstraction-v7/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"lib/account-abstraction-v7/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0xeb95afb6e4cf921c1ed105ecb9f549ca46bee57f68acd1d2f4f84607ac0db5c5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2ac91562f1fcabe4809a1b4256895efebcf46f89e08336a6c09ee2d29733238\",\"dweb:/ipfs/QmPsQnPcCzioPwVtUhxkbnwKPC1bnhHSbAwK9GXVpjN3mH\"]},\"lib/account-abstraction-v7/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x673eb19600058d8642605ca409c9e1d4cab13735564b856270b92c330ffb1b8d\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://06599c57c7075ee8eb5f1710fccca3eb322876b968ec271e1fb34af41510ab2c\",\"dweb:/ipfs/QmVsDEjmZYtzgXa4AYKxbQEYQVh6NBq8GmFJCariBUqK4G\"]},\"lib/account-abstraction-v7/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc\",\"dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4\",\"dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B\"]},\"lib/openzeppelin-contracts-v5.0.2/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02\",\"dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd\"]},\"lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"src/SimulationOverrideHelper.sol\":{\"keccak256\":\"0x327a9038314036c1259ce7d2422d17b10f264df6b0d9f6b87cddb6b047898774\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4288cd354dbc1344dbe6139a862abe6bbc784186705cd2fc5197ef0e26d8b66\",\"dweb:/ipfs/Qmerifmk26zWoYk2hRXptyC6ncPH4m7zyQEDJERHNo5ijf\"]},\"src/v07/EntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0x7a55fa6a24a0033901e675b4cff0a8cc6ef3a8e9e564ad8ca0e61278049ba75d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://298257fcc9876849b3f2ca9b8d964b5410ec66aa757f8e8c9ca8f585e72d5230\",\"dweb:/ipfs/Qmcyh7nJjhZ7g5P4De9ACCRKrc2cyhfUvbR9a24GqJwLju\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.23+commit.f704f362" }, "language": "Solidity", "output": { "abi": [{ "inputs": [{ "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "ret", "type": "bytes" }], "type": "error", "name": "DelegateAndRevert" }, { "inputs": [{ "internalType": "uint256", "name": "opIndex", "type": "uint256" }, { "internalType": "string", "name": "reason", "type": "string" }], "type": "error", "name": "FailedOp" }, { "inputs": [{ "internalType": "uint256", "name": "opIndex", "type": "uint256" }, { "internalType": "string", "name": "reason", "type": "string" }, { "internalType": "bytes", "name": "inner", "type": "bytes" }], "type": "error", "name": "FailedOpWithRevert" }, { "inputs": [{ "internalType": "bytes", "name": "returnData", "type": "bytes" }], "type": "error", "name": "PostOpReverted" }, { "inputs": [], "type": "error", "name": "ReentrancyGuardReentrantCall" }, { "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }], "type": "error", "name": "SenderAddressResult" }, { "inputs": [{ "internalType": "address", "name": "aggregator", "type": "address" }], "type": "error", "name": "SignatureValidationFailed" }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "factory", "type": "address", "indexed": false }, { "internalType": "address", "name": "paymaster", "type": "address", "indexed": false }], "type": "event", "name": "AccountDeployed", "anonymous": false }, { "inputs": [], "type": "event", "name": "BeforeExecution", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalDeposit", "type": "uint256", "indexed": false }], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }, { "internalType": "bytes", "name": "revertReason", "type": "bytes", "indexed": false }], "type": "event", "name": "PostOpRevertReason", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "aggregator", "type": "address", "indexed": true }], "type": "event", "name": "SignatureAggregatorChanged", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalStaked", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "unstakeDelaySec", "type": "uint256", "indexed": false }], "type": "event", "name": "StakeLocked", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "withdrawTime", "type": "uint256", "indexed": false }], "type": "event", "name": "StakeUnlocked", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "address", "name": "withdrawAddress", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }], "type": "event", "name": "StakeWithdrawn", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "paymaster", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }, { "internalType": "bool", "name": "success", "type": "bool", "indexed": false }, { "internalType": "uint256", "name": "actualGasCost", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "actualGasUsed", "type": "uint256", "indexed": false }], "type": "event", "name": "UserOperationEvent", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }], "type": "event", "name": "UserOperationPrefundTooLow", "anonymous": false }, { "inputs": [{ "internalType": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nonce", "type": "uint256", "indexed": false }, { "internalType": "bytes", "name": "revertReason", "type": "bytes", "indexed": false }], "type": "event", "name": "UserOperationRevertReason", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "address", "name": "withdrawAddress", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [{ "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }], "stateMutability": "payable", "type": "function", "name": "addStake" }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "target", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "delegateAndRevert" }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "payable", "type": "function", "name": "depositTo" }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function", "name": "deposits", "outputs": [{ "internalType": "uint256", "name": "deposit", "type": "uint256" }, { "internalType": "bool", "name": "staked", "type": "bool" }, { "internalType": "uint112", "name": "stake", "type": "uint112" }, { "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "withdrawTime", "type": "uint48" }] }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "view", "type": "function", "name": "getDepositInfo", "outputs": [{ "internalType": "struct IStakeManager.DepositInfo", "name": "info", "type": "tuple", "components": [{ "internalType": "uint256", "name": "deposit", "type": "uint256" }, { "internalType": "bool", "name": "staked", "type": "bool" }, { "internalType": "uint112", "name": "stake", "type": "uint112" }, { "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "withdrawTime", "type": "uint48" }] }] }, { "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "getNonce", "outputs": [{ "internalType": "uint256", "name": "nonce", "type": "uint256" }] }, { "inputs": [{ "internalType": "bytes", "name": "initCode", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "getSenderAddress" }, { "inputs": [{ "internalType": "struct PackedUserOperation", "name": "userOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }], "stateMutability": "view", "type": "function", "name": "getUserOpHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "name": "opsPerAggregator", "type": "tuple[]", "components": [{ "internalType": "struct PackedUserOperation[]", "name": "userOps", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "contract IAggregator", "name": "aggregator", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleAggregatedOps" }, { "inputs": [{ "internalType": "struct PackedUserOperation[]", "name": "ops", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleOps" }, { "inputs": [{ "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "nonpayable", "type": "function", "name": "incrementNonce" }, { "inputs": [{ "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "struct EntryPointFilterOpsOverride07.UserOpInfo", "name": "opInfo", "type": "tuple", "components": [{ "internalType": "struct EntryPointFilterOpsOverride07.MemoryUserOp", "name": "mUserOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "verificationGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "callGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "paymasterVerificationGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "paymasterPostOpGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "uint256", "name": "maxFeePerGas", "type": "uint256" }, { "internalType": "uint256", "name": "maxPriorityFeePerGas", "type": "uint256" }] }, { "internalType": "bytes32", "name": "userOpHash", "type": "bytes32" }, { "internalType": "uint256", "name": "prefund", "type": "uint256" }, { "internalType": "uint256", "name": "contextOffset", "type": "uint256" }, { "internalType": "uint256", "name": "preOpGas", "type": "uint256" }] }, { "internalType": "bytes", "name": "context", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "innerHandleOp", "outputs": [{ "internalType": "uint256", "name": "actualGasCost", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint192", "name": "", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "nonceSequenceNumber", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "unlockStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }, { "internalType": "uint256", "name": "withdrawAmount", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [], "stateMutability": "payable", "type": "receive" }], "devdoc": { "kind": "dev", "methods": { "addStake(uint32)": { "params": { "unstakeDelaySec": "The new lock duration before the deposit can be withdrawn." } }, "balanceOf(address)": { "params": { "account": "- The account to query." }, "returns": { "_0": "- The deposit (for gas payment) of the account." } }, "delegateAndRevert(address,bytes)": { "details": "calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.", "params": { "data": "data to pass to target in a delegatecall", "target": "a target contract to make a delegatecall from entrypoint" } }, "depositTo(address)": { "params": { "account": "- The account to add to." } }, "getDepositInfo(address)": { "params": { "account": "- The account to query." }, "returns": { "info": " - Full deposit information of given account." } }, "getNonce(address,uint192)": { "params": { "key": "the high 192 bit of the nonce", "sender": "the account address" }, "returns": { "nonce": "a full nonce to pass for next UserOp with this sender." } }, "getSenderAddress(bytes)": { "params": { "initCode": "- The constructor code to be passed into the UserOperation." } }, "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": { "params": { "userOp": "- The user operation to generate the request ID for." }, "returns": { "_0": "hash the hash of this UserOperation" } }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "opsPerAggregator": "- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)." } }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "ops": "- The operations to execute." } }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "params": { "callData": "- The callData to execute.", "context": "- The context bytes.", "opInfo": "- The UserOpInfo struct." }, "returns": { "actualGasCost": "- the actual cost in eth this UserOperation paid for gas" } }, "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas." }, "withdrawStake(address)": { "params": { "withdrawAddress": "- The address to send withdrawn value." } }, "withdrawTo(address,uint256)": { "params": { "withdrawAddress": "- The address to send withdrawn value.", "withdrawAmount": "- The amount to withdraw." } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addStake(uint32)": { "notice": "Add to the account's stake - amount and delay any pending unstake is first cancelled." }, "balanceOf(address)": { "notice": "Get account balance." }, "delegateAndRevert(address,bytes)": { "notice": "Helper method for dry-run testing." }, "depositTo(address)": { "notice": "Add to the deposit of the given account." }, "deposits(address)": { "notice": "maps paymaster to their deposits and stakes" }, "getDepositInfo(address)": { "notice": "Get deposit info." }, "getNonce(address,uint192)": { "notice": "Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order." }, "getSenderAddress(bytes)": { "notice": "Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. This method always revert, and returns the address in SenderAddressResult error" }, "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": { "notice": "Generate a request Id - unique identifier for this request. The request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid." }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "notice": "Execute a batch of UserOperation with Aggregators" }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "notice": "Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead." }, "incrementNonce(uint192)": { "notice": "Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key." }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "notice": "Inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps." }, "nonceSequenceNumber(address,uint192)": { "notice": "The next valid sequence number for a given nonce key." }, "unlockStake()": { "notice": "Attempt to unlock the stake. The value can be withdrawn (using withdrawStake) after the unstake delay." }, "withdrawStake(address)": { "notice": "Withdraw from the (unlocked) stake. Must first call unlockStake and wait for the unstakeDelay to pass." }, "withdrawTo(address,uint256)": { "notice": "Withdraw from the deposit." } }, "version": 1 } }, "settings": { "remappings": ["@account-abstraction-v6/=lib/account-abstraction-v6/contracts/", "@account-abstraction-v7/=lib/account-abstraction-v7/contracts/", "@account-abstraction-v8/=lib/account-abstraction-v8/contracts/", "@account-abstraction-v9/=lib/account-abstraction-v9/contracts/", "@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/", "@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/", "@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/", "@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/", "@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/", "@test-utils/=lib/singleton-paymaster/test/utils/", "account-abstraction-v6/=lib/account-abstraction-v6/contracts/", "account-abstraction-v7/=lib/account-abstraction-v7/contracts/", "account-abstraction-v8/=lib/account-abstraction-v8/contracts/", "account-abstraction-v9/=lib/account-abstraction-v9/contracts/", "ds-test/=lib/forge-std/lib/ds-test/src/", "erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/", "forge-std/=lib/forge-std/src/", "halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/", "openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/", "openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/", "openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/", "singleton-paymaster/=lib/singleton-paymaster/src/", "solady/=lib/solady/src/"], "optimizer": { "enabled": true, "runs": 1000000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/v07/EntryPointFilterOpsOverride.sol": "EntryPointFilterOpsOverride07" }, "evmVersion": "paris", "libraries": {}, "viaIR": true }, "sources": { "lib/account-abstraction-v7/contracts/core/Helpers.sol": { "keccak256": "0x6247e011a6cb0b263b3aa098822977181674d91b62e5bdfe04c6e66f72da25d6", "urls": ["bzz-raw://ca829a69b3fbc74fec8e140d42a2bf93bc3512609272f031c846470f61f0ab7e", "dweb:/ipfs/QmP3r3MBgAN39KeVB1rCGJWwcBcotNt26ALtAR54poQ1Jc"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/core/NonceManager.sol": { "keccak256": "0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9", "urls": ["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6", "dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/core/SenderCreator.sol": { "keccak256": "0xeb95afb6e4cf921c1ed105ecb9f549ca46bee57f68acd1d2f4f84607ac0db5c5", "urls": ["bzz-raw://d2ac91562f1fcabe4809a1b4256895efebcf46f89e08336a6c09ee2d29733238", "dweb:/ipfs/QmPsQnPcCzioPwVtUhxkbnwKPC1bnhHSbAwK9GXVpjN3mH"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/core/StakeManager.sol": { "keccak256": "0x673eb19600058d8642605ca409c9e1d4cab13735564b856270b92c330ffb1b8d", "urls": ["bzz-raw://06599c57c7075ee8eb5f1710fccca3eb322876b968ec271e1fb34af41510ab2c", "dweb:/ipfs/QmVsDEjmZYtzgXa4AYKxbQEYQVh6NBq8GmFJCariBUqK4G"], "license": "GPL-3.0-only" }, "lib/account-abstraction-v7/contracts/core/UserOperationLib.sol": { "keccak256": "0x9d50ece985d35f82e33e5da417595c86fac10449e3d10895d08363d33aad454b", "urls": ["bzz-raw://b1d11cc364c8bf7ed5388268c895b5ffed16e87dfbcb320ddeeba5e7974315dc", "dweb:/ipfs/QmYSpvjxEjweietQrYZagwQ52ipy7eXx4rwvnTzXKeGeMS"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IAccount.sol": { "keccak256": "0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78", "urls": ["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020", "dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol": { "keccak256": "0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c", "urls": ["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577", "dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol": { "keccak256": "0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588", "urls": ["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155", "dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4", "urls": ["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9", "dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol": { "keccak256": "0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb", "urls": ["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3", "dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f", "urls": ["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8", "dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04", "urls": ["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00", "dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"], "license": "GPL-3.0-only" }, "lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol": { "keccak256": "0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359", "urls": ["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be", "dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"], "license": "GPL-3.0" }, "lib/account-abstraction-v7/contracts/utils/Exec.sol": { "keccak256": "0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74", "urls": ["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77", "dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"], "license": "LGPL-3.0-only" }, "lib/openzeppelin-contracts-v4.8.3/contracts/utils/StorageSlot.sol": { "keccak256": "0xd5c50c54bf02740ebd122ff06832546cb5fa84486d52695a9ccfd11666e0c81d", "urls": ["bzz-raw://39e096c60a6eb1c6a257122d515496bd92d0c6a693a8f07acb6aa4b1263e95d4", "dweb:/ipfs/QmPs5trJBacCiSkezP6tpevapuRYWNY6mqSFzsMCJj7e6B"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.0.2/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236", "urls": ["bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02", "dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/ERC165.sol": { "keccak256": "0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133", "urls": ["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8", "dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.0.2/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b", "urls": ["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df", "dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"], "license": "MIT" }, "src/SimulationOverrideHelper.sol": { "keccak256": "0x327a9038314036c1259ce7d2422d17b10f264df6b0d9f6b87cddb6b047898774", "urls": ["bzz-raw://f4288cd354dbc1344dbe6139a862abe6bbc784186705cd2fc5197ef0e26d8b66", "dweb:/ipfs/Qmerifmk26zWoYk2hRXptyC6ncPH4m7zyQEDJERHNo5ijf"], "license": "MIT" }, "src/v07/EntryPointFilterOpsOverride.sol": { "keccak256": "0x7a55fa6a24a0033901e675b4cff0a8cc6ef3a8e9e564ad8ca0e61278049ba75d", "urls": ["bzz-raw://298257fcc9876849b3f2ca9b8d964b5410ec66aa757f8e8c9ca8f585e72d5230", "dweb:/ipfs/Qmcyh7nJjhZ7g5P4De9ACCRKrc2cyhfUvbR9a24GqJwLju"], "license": "GPL-3.0" } }, "version": 1 }, "id": 19 }
|