@pimlico/alto 0.0.0-main.20250626T085447 → 0.0.0-main.20250627T074103

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.
Files changed (91) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -1
  2. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
  3. package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
  4. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  5. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  6. package/contracts/Exec.sol/Exec.json +1 -1
  7. package/contracts/IAccount.sol/IAccount.json +1 -1
  8. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
  9. package/contracts/IAggregator.sol/IAggregator.json +1 -1
  10. package/contracts/IERC5267.sol/IERC5267.json +1 -1
  11. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
  12. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
  13. package/contracts/INonceManager.sol/INonceManager.json +1 -1
  14. package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
  15. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
  16. package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
  17. package/contracts/Math.sol/Math.json +1 -1
  18. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
  19. package/contracts/NonceManager.sol/NonceManager.json +1 -1
  20. package/contracts/Panic.sol/Panic.json +1 -1
  21. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  22. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
  23. package/contracts/SafeCast.sol/SafeCast.json +1 -1
  24. package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
  25. package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
  26. package/contracts/SignedMath.sol/SignedMath.json +1 -1
  27. package/contracts/StakeManager.sol/StakeManager.json +1 -1
  28. package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
  29. package/contracts/Strings.sol/Strings.json +1 -1
  30. package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
  31. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
  32. package/contracts/build-info/004071c167bc55de.json +1 -0
  33. package/contracts/build-info/{257ff8e2b1124ead.json → 2f5dec90e180c3a0.json} +1 -1
  34. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  35. package/esm/cli/customTransport.js +3 -2
  36. package/esm/cli/customTransport.js.map +1 -1
  37. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  38. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  39. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  40. package/esm/executor/filterOpsAndEstimateGas.js +4 -4
  41. package/esm/executor/utils.js +3 -0
  42. package/esm/executor/utils.js.map +1 -1
  43. package/esm/rpc/estimation/gasEstimationHandler.d.ts +2 -2
  44. package/esm/rpc/estimation/gasEstimationHandler.js +6 -6
  45. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  46. package/esm/rpc/estimation/{gasEstimationsV06.d.ts → gasEstimations06.d.ts} +4 -4
  47. package/esm/rpc/estimation/gasEstimations06.js +68 -0
  48. package/esm/rpc/estimation/gasEstimations06.js.map +1 -0
  49. package/esm/rpc/estimation/gasEstimations07.d.ts +89 -0
  50. package/esm/rpc/estimation/gasEstimations07.js +386 -0
  51. package/esm/rpc/estimation/gasEstimations07.js.map +1 -0
  52. package/esm/rpc/estimation/types.d.ts +23 -111
  53. package/esm/rpc/estimation/types.js +5 -121
  54. package/esm/rpc/estimation/types.js.map +1 -1
  55. package/esm/rpc/estimation/utils.d.ts +51 -0
  56. package/esm/rpc/estimation/utils.js +182 -0
  57. package/esm/rpc/estimation/utils.js.map +1 -0
  58. package/esm/rpc/methods/eth_estimateUserOperationGas.js +4 -5
  59. package/esm/rpc/methods/eth_estimateUserOperationGas.js.map +1 -1
  60. package/esm/rpc/validation/SafeValidator.d.ts +5 -5
  61. package/esm/rpc/validation/SafeValidator.js +28 -29
  62. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  63. package/esm/rpc/validation/UnsafeValidator.d.ts +2 -2
  64. package/esm/rpc/validation/UnsafeValidator.js +2 -2
  65. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  66. package/esm/types/contracts/PimlicoSimulations.d.ts +1083 -96
  67. package/esm/types/contracts/PimlicoSimulations.js +1357 -88
  68. package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
  69. package/esm/types/contracts/index.d.ts +0 -2
  70. package/esm/types/contracts/index.js +0 -2
  71. package/esm/types/contracts/index.js.map +1 -1
  72. package/esm/types/interfaces.d.ts +2 -2
  73. package/esm/types/validation.d.ts +208 -222
  74. package/esm/types/validation.js +0 -8
  75. package/esm/types/validation.js.map +1 -1
  76. package/esm/utils/toViemStateOverrides.d.ts +4 -0
  77. package/esm/utils/toViemStateOverrides.js +44 -0
  78. package/esm/utils/toViemStateOverrides.js.map +1 -0
  79. package/package.json +1 -1
  80. package/contracts/build-info/10cf9b18fcc1598e.json +0 -1
  81. package/esm/rpc/estimation/gasEstimationsV06.js +0 -156
  82. package/esm/rpc/estimation/gasEstimationsV06.js.map +0 -1
  83. package/esm/rpc/estimation/gasEstimationsV07.d.ts +0 -101
  84. package/esm/rpc/estimation/gasEstimationsV07.js +0 -724
  85. package/esm/rpc/estimation/gasEstimationsV07.js.map +0 -1
  86. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +0 -33
  87. package/esm/types/contracts/EntryPointSimulationsV6.js +0 -46
  88. package/esm/types/contracts/EntryPointSimulationsV6.js.map +0 -1
  89. package/esm/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
  90. package/esm/types/contracts/EntryPointSimulationsV7.js +0 -2675
  91. package/esm/types/contracts/EntryPointSimulationsV7.js.map +0 -1
@@ -1 +1 @@
1
- {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"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"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"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"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"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"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"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":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"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":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"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":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"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":"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 EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","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":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"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":"EIP712DomainChanged","inputs":[],"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":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"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":"InvalidShortString","inputs":[]},{"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"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612d4e9081610436823960805181611f1b015260a05181611fd8015260c05181611eec015260e05181611f6a01526101005181611f9001526101205181610a8901526101405181610ab30152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611e5c565b005b5f905f3560e01c9081630396cb601461176f5750806309ccb880146117445780630bd28e3b146116f35780630da826611461134e57806313c65a6e14611333578063154e58dc146112f85780631b2e01b8146112a3578063205c28781461117b57806321e60b3714610f5557806322cdde4c14610f0b57806335567e1a14610ea75780635287ce1214610dcc57806369683cfa14610bbe57806370a0823114610b8757806384b0196e14610a6f578063850aaf6214610a15578063b760faf9146109f5578063bb9fe6bf14610896578063c23a5cea146106a65763c579f76b0361000f57346106a3576102203660031901126106a3576004359060243567ffffffffffffffff81116106a1578060040190610120600319823603011261069d573660431901936101c08512610699576101406040519561016487611a36565b126106995760405161017581611a66565b6044356001600160a01b03811681036106955781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036106955760e082015261014435610100820152610164356101208201528552602085019161018435835260408601926101a435845260608701966101c435885260808101936101e4358552610204359182151583036106915788975a948251936102358584612045565b6040519961024284611d30565b83528a60405260408601519a6effffffffffffffffffffffffffffff8c60c08901511760608901511760808901511760a08901511761010089015117610120890151171161064757506102cd6102b987610100604082015160608301510160808301510160a08301510160c0830151019101510290565b80835260848b013560801c90878786612357565b9a6102e76001600160a01b03885116602089015190612562565b156105f2575a89031161059d576060966001600160a01b0360e05a9801511615159081610595575b50610379575b5050505050610325905a90611cf4565b976073890298808a046073149015171561036557606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b91939a509193945061038e60e4880185612012565b9050602411610591575a928a516103b46001600160a01b0360e0830151168451906125c8565b15610545578c9160808392015193826040519e8f80945193519a602082019b8c956314add44b60e21b875260248401926103ed9361263f565b03601f19810185526103ff9085611a83565b5160e001516001600160a01b031692519286f1993d94858d833e51948151604083019c8d519015918215610539575b508115610527575b506104bc57601f01601f1916016040819052925a900311610463575050610325909691905f808080610315565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b6084820152fd5b836104c5611eb5565b906105236040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611c38565b0390fd5b9050601f605f1983019101105f610436565b6040141591505f61042e565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b8a80fd5b90505f61030f565b61052382604051918291631101335b60e11b835260048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b61052383604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b505b80fd5b50346106a35760203660031901126106a3576106c0611b07565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156108525760981c65ffffffffffff16801561080e5742106107ca5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af161077d611d01565b50156107865780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b50346106a357806003193601126106a3573381528060205260016040822001805463ffffffff8160781c169081156109b15760ff161561096d5765ffffffffffff4216019065ffffffffffff82116109595780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b5060203660031901126106a357610a12610a0d611b07565b611e5c565b80f35b50346106a35760403660031901126106a357610a2f611b07565b5060243567ffffffffffffffff81116106a157366023820112156106a157806004013567ffffffffffffffff811161069d57369101602401116106a35780f35b50346106a357806003193601126106a357610b2b90610aad7f0000000000000000000000000000000000000000000000000000000000000000612b06565b90610ad77f0000000000000000000000000000000000000000000000000000000000000000612c48565b906020610b3960405193610aeb8386611a83565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611c38565b908682036040880152611c38565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610b7057505050500390f35b835185528695509381019392810192600101610b61565b50346106a35760203660031901126106a35760406020916001600160a01b03610bae611b07565b1681528083522054604051908152f35b50346106a357610bcd36611b31565b9190915a92815193610bdf8583612045565b610be882611d30565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610d8757610c5a86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610c82610c6b5a88888887612357565b9760206001600160a01b0382511691015190612562565b15610d32575a830311610ce55750610cb993929160a06080925a9560408601526060808601525a9003910135019101525a90611cf4565b607381029080820460731490151715610959576064906060936040519384526020840152046040820152f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b61052382604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b50346106a35760203660031901126106a357604060a0916001600160a01b03610df3611b07565b8260808551610e0181611a36565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610e3281611a36565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b50346106a35760403660031901126106a3576020906040610ec6611b07565b916001600160a01b03610ed7611a20565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b50346106a35760203660031901126106a3576004359067ffffffffffffffff82116106a35761012060031983360301126106a3576020610f4d83600401611d30565b604051908152f35b50346106a357610f6436611b31565b9290918192845190610f768282612045565b610f7f81611d30565b9160208701928352610fb281610100604082015160608301510160808301510160a08301510160c0830151019101510290565b926001600160a01b0360e060408a0193868552015116610fe4575b606087876040519181835260208301526040820152f35b9091929395505a936110058851916001600160a01b0360e0840151166125c8565b1561112f57946001600160a01b0360e0829899611056849561104860806314add44b60e21b9c015199604051998a9351905191602085019e8f526024850161263f565b03601f198101885287611a83565b51015116868285519287f1933d908187843e519482519060408401519015918215611123575b508115611111575b5061110857601f01601f1916016040819052915a9003116110af575060609250905f80808080610fcd565b8084631101335b60e11b60a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b6084820152fd5b866104c5611eb5565b9050601f605f1983019101105f611084565b6040141591505f61107c565b60848760405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b50346106a35760403660031901126106a357611195611b07565b6024359033835282602052604083209081549182841161125f57848080866001600160a01b03829683966111c9848b611cf4565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1611212611d01565b501561121b5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b50346106a35760403660031901126106a3576001600160c01b0360406112c7611b07565b926001600160a01b036112d8611a20565b9416815260016020522091165f52602052602060405f2054604051908152f35b50346106a357806003193601126106a35760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b50346106a357806003193601126106a3576020610f4d611ee2565b503461167e5761022036600319011261167e5760043567ffffffffffffffff811161167e57611381903690600401611ac1565b3660231901906101c0821261167e57610140604051926113a084611a36565b1261167e576040516113b181611a66565b6024356001600160a01b038116810361167e57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b038116810361167e5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff811161167e5761146e903690600401611ac1565b9082519060608201518151908161168a575b505050505a61020435039251809301905f935a93516101008101516101208201514801808210156116825750935b6114cd6001600160a01b0360e0840151169360608401519083036125a9565b01925f9280611553575050516001600160a01b0316935b5a900301010292518381105f1461151d576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836115469203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611567575b5050506114e4565b9197509192505a9660a05a930191825190823b1561167e575f916115c991836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611c38565b8d8d0260448301528d60648301520393f19081611669575b5061164d57886115ef611eb5565b906105236040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611c38565b611660915a9003965a90039051906125a9565b905f808061155f565b611676919a505f90611a83565b5f985f6115e1565b5f80fd5b9050936114ae565b5f80949360206001600160a01b0383965116910192f1156116ae575f808080611480565b6105236116b9611eb5565b6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611c38565b3461167e57602036600319011261167e576004356001600160c01b038116810361167e57335f5260016020526001600160c01b0360405f2091165f5260205260405f206117408154611ce6565b9055005b3461167e575f36600319011261167e57602061175e611c5c565b6001600160a01b0360405191168152f35b602036600319011261167e5760043563ffffffff811680910361167e57335f525f60205260405f209181156119de5750600182015463ffffffff8160781c16821061199a576dffffffffffffffffffffffffffff9060081c1691348301809311611986578215611942576dffffffffffffffffffffffffffff83116118fe57546040516118cb916117ff82611a36565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b038216820361167e57565b60a0810190811067ffffffffffffffff821117611a5257604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff821117611a5257604052565b90601f8019910116810190811067ffffffffffffffff821117611a5257604052565b67ffffffffffffffff8111611a5257601f01601f191660200190565b81601f8201121561167e57803590611ad882611aa5565b92611ae66040519485611a83565b8284526020838301011161167e57815f926020809301838601378301015290565b600435906001600160a01b038216820361167e57565b35906001600160a01b038216820361167e57565b61020060031982011261167e576004359160243567ffffffffffffffff811161167e57610120818403600319011261167e57600401916043190160446101c0821261167e5761014060405192611b8684611a36565b1261167e576101a090604051611b9b81611a66565b611ba482611b1d565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152611bee60e08301611b1d565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611cdb575f91611c9c575090565b90506020813d602011611cd3575b81611cb760209383611a83565b8101031261167e57516001600160a01b038116810361167e5790565b3d9150611caa565b6040513d5f823e3d90fd5b5f1981146119865760010190565b9190820391821161198657565b3d15611d2b573d90611d1282611aa5565b91611d206040519384611a83565b82523d5f602084013e565b606090565b604290611d3c816121bd565b611d44611ee2565b91611d4e81611ffe565b918015611e3f57905b60c0611d666060830183612012565b90816040519182372091611d7d60e0820182612012565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611e0761014082611a83565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611e4d6040820182612012565b90816040519182372090611d57565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611ea934856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b3d6108008111611ed9575b604051906020818301016040528082525f602083013e90565b50610800611ec0565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611fd5575b15611f3d577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611fcf60c082611a83565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611f14565b356001600160a01b038116810361167e5790565b903590601e198136030182121561167e570180359067ffffffffffffffff821161167e5760200191813603831361167e57565b6120c9906001600160a01b0361205a82611ffe565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190612012565b9190826120d557505050565b60348310612179578260141161167e57803560601c926024811061167e5760148201359060341161167e576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156121355760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b6121ca6040820182612012565b90916121d68284612721565b15612350576121e490611ffe565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036122c2575060181b91601482116122705750506040516bffffffffffffffffffffffff19909116602082019081526014825290611fcf603482611a83565b8160141161167e576040516bffffffffffffffffffffffff199093166020848101918252909392611fcf92849190601319820190601401603484013781015f838201520301601f198101835282611a83565b3b1561230c57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b9290602090959492958651936001600160a01b0360e0818751169661238a6123826040870187612012565b908d8c612763565b015116915f9215988961252b575b915f916123e8846110486001600160a01b03899751511697604051998a930151888401957f19822f7c0000000000000000000000000000000000000000000000000000000087526024850161263f565b8285875193f15f519260203d03612523575b6040521561246a57509461240d57505050565b612416916125c8565b1561241e5750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b84903b6124bd5760849060405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6124c5611eb5565b906105236040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611c38565b5f91506123fa565b925083915f918783528284526040832054878111841461255757506123e8835b95929450509150612398565b6123e890880361254b565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f20918254926125a284611ce6565b9055161490565b90619c4082018111156125c257606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061235057039055600190565b9035601e198236030181121561167e57016020813591019167ffffffffffffffff821161167e57813603831361167e57565b908060209392818452848401375f828201840152601f01601f1916010190565b61271760409295949395606083526001600160a01b0361265e82611b1d565b166060840152602081013560808401526127046126f86126b8612699612686888601866125ed565b61012060a08a015261018089019161261f565b6126a660608601866125ed565b888303605f190160c08a01529061261f565b608084013560e087015260a084013561010087015260c08401356101208701526126e560e08501856125ed565b878303605f19016101408901529061261f565b916101008101906125ed565b848303605f19016101608601529061261f565b9460208201520152565b9060021161275e57356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f9080612776575b5050505050565b6001600160a01b03845151169461278d8285612721565b612a5457853b612a0857601482106129bc578260206001600160a01b036127b2611c5c565b16604088510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352856004840152826127f98c8b602484019161261f565b0393f19081156129b157849161296f575b506001600160a01b03811680156129235787036128d7573b1561288b57506014116106a3577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f8080808061276f565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b90506020813d6020116129a9575b8161298a60209383611a83565b8101031261069957516001600160a01b0381168103610699575f61280a565b3d915061297d565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612a67575b50505050565b60406001600160a01b03612a79611c5c565b1693510151908260141161167e57833b1561167e575f8094612ae096604051978896879586937fc09ad0d90000000000000000000000000000000000000000000000000000000085526004850152604060248501526014604485019260131901910161261f565b0393f18015611cdb57612af6575b808080612a61565b5f612b0091611a83565b5f612aee565b60ff8114612b655760ff811690601f8211612b3d5760405191612b2a604084611a83565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612c3e575b602084108314612c2a578385528492908115612c0b5750600114612bac575b612ba992500382611a83565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612bef575050906020612ba992820101612b9d565b6020919350806001915483858801015201910190918392612bd7565b60209250612ba994915060ff191682840152151560051b820101612b9d565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612b7e565b60ff8114612c6c5760ff811690601f8211612b3d5760405191612b2a604084611a83565b506040515f6003548060011c9160018216918215612d0e575b602084108314612c2a578385528492908115612c0b5750600114612caf57612ba992500382611a83565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612cf2575050906020612ba992820101612b9d565b6020919350806001915483858801015201910190918392612cda565b92607f1692612c8556fea2646970667358221220e2469cf2a43675e0c153076c38fadc810eee369b8ba7925ed63f70a3c25b4a7864736f6c634300081c0033","sourceMap":"1018:32445:27:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;:::i;:::-;1964:9;1018:32445;;;1964:9;;;-1:-1:-1;;;1964:9:27;;3401:45:21;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1018:32445:27;3542:22:21;;3528:36;;;;1018:32445:27;3591:25:21;;3574:42;;;3644:13;3627:30;;1018:32445:27;;4204:80:21;1018:32445:27;4204:80:21;;2079:95;;;;1018:32445:27;2079:95:21;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1018:32445:27;4194:91:21;;2079:95;3667:48;4278:4;4204:80;3725:27;1018:32445:27;;;;;;;;2079:95:21;1018:32445:27;;;;;3627:30:21;1018:32445:27;;;;;4204:80:21;1018:32445:27;;;;;3528:36:21;1018:32445:27;;;;;3574:42:21;1018:32445:27;;;;;3393:53:21;1018:32445:27;;;;;3456:62:21;1018:32445:27;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1018:32445:27;;;;;-1:-1:-1;1018:32445:27;2887:340:17;;1018:32445:27;;3032:2:17;3010:24;;3006:215;3032:2;;;1018:32445:27;;1854:2:17;1018:32445:27;;1840:16:17;1836:72;;3032:2;1018:32445:27;;;;2079:95:21;3032:2:17;1018:32445:27;;;;1949:36:17;3050:27;:::o;1018:32445:27:-;;;;3032:2:17;1018:32445:27;;;;;1949:36:17;3050:27;:::o;1836:72::-;1018:32445:27;3032:2:17;1018:32445:27;;;1879:18:17;;;;;;;;;;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;1854:2:17;1018:32445:27;-1:-1:-1;;1018:32445:27;;;1879:18:17;;;;3006:215;-1:-1:-1;;;;;1018:32445:27;;;;3432:13:21;1018:32445:27;;;;;;;;;;;3006:215:17;3032:2;1018:32445:27;;;;;;;;;;3006:215:17;1018:32445:27;3032:2:17;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:21;1018:32445:27;1390:66:17;3168:42;:::o;1018:32445:27:-;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;3432:13:21;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:21;1018:32445:27;1390:66:17;3168:42;:::o;1018:32445:27:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:17;1018:32445:27;;;;;;;;;;;;;;;;;3432:13:21;1018:32445:27;;;3032:2:17;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:17;;1018:32445:27;;3032:2:17;3010:24;;3006:215;3032:2;;;1018:32445:27;;1854:2:17;1018:32445:27;;1840:16:17;1836:72;;3032:2;1018:32445:27;;;;2079:95:21;3032:2:17;1018:32445:27;;;;1949:36:17;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1018:32445:27;;;;3501:16:21;1018:32445:27;;;;;;;;;;;3006:215:17;3032:2;1018:32445:27;;;;;;;;;;3006:215:17;1018:32445:27;3032:2:17;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:21;1018:32445:27;;;;;3501:16:21;1018:32445:27;1390:66:17;3168:42;:::o;1018:32445:27:-;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;3501:16:21;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:21;1018:32445:27;1390:66:17;3168:42;:::o;1018:32445:27:-;;;;;;;3501:16:21;1018:32445:27;;;;;;;;;;;;;;;3032:2:17;1018:32445:27;;;;;;;;;;;;;;;;;3501:16:21;1018:32445:27;;;3032:2:17;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611e5c565b005b5f905f3560e01c9081630396cb601461176f5750806309ccb880146117445780630bd28e3b146116f35780630da826611461134e57806313c65a6e14611333578063154e58dc146112f85780631b2e01b8146112a3578063205c28781461117b57806321e60b3714610f5557806322cdde4c14610f0b57806335567e1a14610ea75780635287ce1214610dcc57806369683cfa14610bbe57806370a0823114610b8757806384b0196e14610a6f578063850aaf6214610a15578063b760faf9146109f5578063bb9fe6bf14610896578063c23a5cea146106a65763c579f76b0361000f57346106a3576102203660031901126106a3576004359060243567ffffffffffffffff81116106a1578060040190610120600319823603011261069d573660431901936101c08512610699576101406040519561016487611a36565b126106995760405161017581611a66565b6044356001600160a01b03811681036106955781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036106955760e082015261014435610100820152610164356101208201528552602085019161018435835260408601926101a435845260608701966101c435885260808101936101e4358552610204359182151583036106915788975a948251936102358584612045565b6040519961024284611d30565b83528a60405260408601519a6effffffffffffffffffffffffffffff8c60c08901511760608901511760808901511760a08901511761010089015117610120890151171161064757506102cd6102b987610100604082015160608301510160808301510160a08301510160c0830151019101510290565b80835260848b013560801c90878786612357565b9a6102e76001600160a01b03885116602089015190612562565b156105f2575a89031161059d576060966001600160a01b0360e05a9801511615159081610595575b50610379575b5050505050610325905a90611cf4565b976073890298808a046073149015171561036557606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b91939a509193945061038e60e4880185612012565b9050602411610591575a928a516103b46001600160a01b0360e0830151168451906125c8565b15610545578c9160808392015193826040519e8f80945193519a602082019b8c956314add44b60e21b875260248401926103ed9361263f565b03601f19810185526103ff9085611a83565b5160e001516001600160a01b031692519286f1993d94858d833e51948151604083019c8d519015918215610539575b508115610527575b506104bc57601f01601f1916016040819052925a900311610463575050610325909691905f808080610315565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b6084820152fd5b836104c5611eb5565b906105236040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611c38565b0390fd5b9050601f605f1983019101105f610436565b6040141591505f61042e565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b8a80fd5b90505f61030f565b61052382604051918291631101335b60e11b835260048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b61052383604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b505b80fd5b50346106a35760203660031901126106a3576106c0611b07565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156108525760981c65ffffffffffff16801561080e5742106107ca5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af161077d611d01565b50156107865780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b50346106a357806003193601126106a3573381528060205260016040822001805463ffffffff8160781c169081156109b15760ff161561096d5765ffffffffffff4216019065ffffffffffff82116109595780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b5060203660031901126106a357610a12610a0d611b07565b611e5c565b80f35b50346106a35760403660031901126106a357610a2f611b07565b5060243567ffffffffffffffff81116106a157366023820112156106a157806004013567ffffffffffffffff811161069d57369101602401116106a35780f35b50346106a357806003193601126106a357610b2b90610aad7f0000000000000000000000000000000000000000000000000000000000000000612b06565b90610ad77f0000000000000000000000000000000000000000000000000000000000000000612c48565b906020610b3960405193610aeb8386611a83565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611c38565b908682036040880152611c38565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610b7057505050500390f35b835185528695509381019392810192600101610b61565b50346106a35760203660031901126106a35760406020916001600160a01b03610bae611b07565b1681528083522054604051908152f35b50346106a357610bcd36611b31565b9190915a92815193610bdf8583612045565b610be882611d30565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610d8757610c5a86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610c82610c6b5a88888887612357565b9760206001600160a01b0382511691015190612562565b15610d32575a830311610ce55750610cb993929160a06080925a9560408601526060808601525a9003910135019101525a90611cf4565b607381029080820460731490151715610959576064906060936040519384526020840152046040820152f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b61052382604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b50346106a35760203660031901126106a357604060a0916001600160a01b03610df3611b07565b8260808551610e0181611a36565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610e3281611a36565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b50346106a35760403660031901126106a3576020906040610ec6611b07565b916001600160a01b03610ed7611a20565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b50346106a35760203660031901126106a3576004359067ffffffffffffffff82116106a35761012060031983360301126106a3576020610f4d83600401611d30565b604051908152f35b50346106a357610f6436611b31565b9290918192845190610f768282612045565b610f7f81611d30565b9160208701928352610fb281610100604082015160608301510160808301510160a08301510160c0830151019101510290565b926001600160a01b0360e060408a0193868552015116610fe4575b606087876040519181835260208301526040820152f35b9091929395505a936110058851916001600160a01b0360e0840151166125c8565b1561112f57946001600160a01b0360e0829899611056849561104860806314add44b60e21b9c015199604051998a9351905191602085019e8f526024850161263f565b03601f198101885287611a83565b51015116868285519287f1933d908187843e519482519060408401519015918215611123575b508115611111575b5061110857601f01601f1916016040819052915a9003116110af575060609250905f80808080610fcd565b8084631101335b60e11b60a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b6084820152fd5b866104c5611eb5565b9050601f605f1983019101105f611084565b6040141591505f61107c565b60848760405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b50346106a35760403660031901126106a357611195611b07565b6024359033835282602052604083209081549182841161125f57848080866001600160a01b03829683966111c9848b611cf4565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1611212611d01565b501561121b5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b50346106a35760403660031901126106a3576001600160c01b0360406112c7611b07565b926001600160a01b036112d8611a20565b9416815260016020522091165f52602052602060405f2054604051908152f35b50346106a357806003193601126106a35760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b50346106a357806003193601126106a3576020610f4d611ee2565b503461167e5761022036600319011261167e5760043567ffffffffffffffff811161167e57611381903690600401611ac1565b3660231901906101c0821261167e57610140604051926113a084611a36565b1261167e576040516113b181611a66565b6024356001600160a01b038116810361167e57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b038116810361167e5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff811161167e5761146e903690600401611ac1565b9082519060608201518151908161168a575b505050505a61020435039251809301905f935a93516101008101516101208201514801808210156116825750935b6114cd6001600160a01b0360e0840151169360608401519083036125a9565b01925f9280611553575050516001600160a01b0316935b5a900301010292518381105f1461151d576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836115469203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611567575b5050506114e4565b9197509192505a9660a05a930191825190823b1561167e575f916115c991836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611c38565b8d8d0260448301528d60648301520393f19081611669575b5061164d57886115ef611eb5565b906105236040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611c38565b611660915a9003965a90039051906125a9565b905f808061155f565b611676919a505f90611a83565b5f985f6115e1565b5f80fd5b9050936114ae565b5f80949360206001600160a01b0383965116910192f1156116ae575f808080611480565b6105236116b9611eb5565b6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611c38565b3461167e57602036600319011261167e576004356001600160c01b038116810361167e57335f5260016020526001600160c01b0360405f2091165f5260205260405f206117408154611ce6565b9055005b3461167e575f36600319011261167e57602061175e611c5c565b6001600160a01b0360405191168152f35b602036600319011261167e5760043563ffffffff811680910361167e57335f525f60205260405f209181156119de5750600182015463ffffffff8160781c16821061199a576dffffffffffffffffffffffffffff9060081c1691348301809311611986578215611942576dffffffffffffffffffffffffffff83116118fe57546040516118cb916117ff82611a36565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b038216820361167e57565b60a0810190811067ffffffffffffffff821117611a5257604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff821117611a5257604052565b90601f8019910116810190811067ffffffffffffffff821117611a5257604052565b67ffffffffffffffff8111611a5257601f01601f191660200190565b81601f8201121561167e57803590611ad882611aa5565b92611ae66040519485611a83565b8284526020838301011161167e57815f926020809301838601378301015290565b600435906001600160a01b038216820361167e57565b35906001600160a01b038216820361167e57565b61020060031982011261167e576004359160243567ffffffffffffffff811161167e57610120818403600319011261167e57600401916043190160446101c0821261167e5761014060405192611b8684611a36565b1261167e576101a090604051611b9b81611a66565b611ba482611b1d565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152611bee60e08301611b1d565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611cdb575f91611c9c575090565b90506020813d602011611cd3575b81611cb760209383611a83565b8101031261167e57516001600160a01b038116810361167e5790565b3d9150611caa565b6040513d5f823e3d90fd5b5f1981146119865760010190565b9190820391821161198657565b3d15611d2b573d90611d1282611aa5565b91611d206040519384611a83565b82523d5f602084013e565b606090565b604290611d3c816121bd565b611d44611ee2565b91611d4e81611ffe565b918015611e3f57905b60c0611d666060830183612012565b90816040519182372091611d7d60e0820182612012565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611e0761014082611a83565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611e4d6040820182612012565b90816040519182372090611d57565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611ea934856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b3d6108008111611ed9575b604051906020818301016040528082525f602083013e90565b50610800611ec0565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611fd5575b15611f3d577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611fcf60c082611a83565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611f14565b356001600160a01b038116810361167e5790565b903590601e198136030182121561167e570180359067ffffffffffffffff821161167e5760200191813603831361167e57565b6120c9906001600160a01b0361205a82611ffe565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190612012565b9190826120d557505050565b60348310612179578260141161167e57803560601c926024811061167e5760148201359060341161167e576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156121355760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b6121ca6040820182612012565b90916121d68284612721565b15612350576121e490611ffe565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036122c2575060181b91601482116122705750506040516bffffffffffffffffffffffff19909116602082019081526014825290611fcf603482611a83565b8160141161167e576040516bffffffffffffffffffffffff199093166020848101918252909392611fcf92849190601319820190601401603484013781015f838201520301601f198101835282611a83565b3b1561230c57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b9290602090959492958651936001600160a01b0360e0818751169661238a6123826040870187612012565b908d8c612763565b015116915f9215988961252b575b915f916123e8846110486001600160a01b03899751511697604051998a930151888401957f19822f7c0000000000000000000000000000000000000000000000000000000087526024850161263f565b8285875193f15f519260203d03612523575b6040521561246a57509461240d57505050565b612416916125c8565b1561241e5750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b84903b6124bd5760849060405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6124c5611eb5565b906105236040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611c38565b5f91506123fa565b925083915f918783528284526040832054878111841461255757506123e8835b95929450509150612398565b6123e890880361254b565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f20918254926125a284611ce6565b9055161490565b90619c4082018111156125c257606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061235057039055600190565b9035601e198236030181121561167e57016020813591019167ffffffffffffffff821161167e57813603831361167e57565b908060209392818452848401375f828201840152601f01601f1916010190565b61271760409295949395606083526001600160a01b0361265e82611b1d565b166060840152602081013560808401526127046126f86126b8612699612686888601866125ed565b61012060a08a015261018089019161261f565b6126a660608601866125ed565b888303605f190160c08a01529061261f565b608084013560e087015260a084013561010087015260c08401356101208701526126e560e08501856125ed565b878303605f19016101408901529061261f565b916101008101906125ed565b848303605f19016101608601529061261f565b9460208201520152565b9060021161275e57356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f9080612776575b5050505050565b6001600160a01b03845151169461278d8285612721565b612a5457853b612a0857601482106129bc578260206001600160a01b036127b2611c5c565b16604088510151604051809481937f570e1a36000000000000000000000000000000000000000000000000000000008352856004840152826127f98c8b602484019161261f565b0393f19081156129b157849161296f575b506001600160a01b03811680156129235787036128d7573b1561288b57506014116106a3577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f8080808061276f565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b90506020813d6020116129a9575b8161298a60209383611a83565b8101031261069957516001600160a01b0381168103610699575f61280a565b3d915061297d565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612a67575b50505050565b60406001600160a01b03612a79611c5c565b1693510151908260141161167e57833b1561167e575f8094612ae096604051978896879586937fc09ad0d90000000000000000000000000000000000000000000000000000000085526004850152604060248501526014604485019260131901910161261f565b0393f18015611cdb57612af6575b808080612a61565b5f612b0091611a83565b5f612aee565b60ff8114612b655760ff811690601f8211612b3d5760405191612b2a604084611a83565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612c3e575b602084108314612c2a578385528492908115612c0b5750600114612bac575b612ba992500382611a83565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612bef575050906020612ba992820101612b9d565b6020919350806001915483858801015201910190918392612bd7565b60209250612ba994915060ff191682840152151560051b820101612b9d565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612b7e565b60ff8114612c6c5760ff811690601f8211612b3d5760405191612b2a604084611a83565b506040515f6003548060011c9160018216918215612d0e575b602084108314612c2a578385528492908115612c0b5750600114612caf57612ba992500382611a83565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612cf2575050906020612ba992820101612b9d565b6020919350806001915483858801015201910190918392612cda565b92607f1692612c8556fea2646970667358221220e2469cf2a43675e0c153076c38fadc810eee369b8ba7925ed63f70a3c25b4a7864736f6c634300081c0033","sourceMap":"1018:32445:27:-:0;;;;;;;;;;-1:-1:-1;1018:32445:27;;;;;;;;;1324:10:2;;;:::i;:::-;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25584:20;1018:32445;25584:20;;;1018:32445;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22664:31;22767:9;;22816:17;;;22871:7;;;;;:::i;:::-;1018:32445;32687:67;23036:21;;;;:::i;:::-;1018:32445;;32970:66;1018:32445;32970:66;1018:32445;23286:28;;1018:32445;23347:26;1018:32445;23347:26;1018:32445;23347:26;;1018:32445;23347:49;1018:32445;23399:20;;1018:32445;23347:72;1018:32445;23434:37;;1018:32445;23347:124;1018:32445;23474:31;;1018:32445;23347:158;1018:32445;23508:20;;1018:32445;23347:181;1018:32445;23543:28;;1018:32445;23347:224;23589:33;1018:32445;;23707:28;23819:108;23707:28;;9490:20;9273:28;;;1018:32445;9304:20;;;1018:32445;1666:4;9343:37;;;1018:32445;1666:4;9383:31;;;1018:32445;1666:4;9417:26;;;1018:32445;1666:4;9490:20;;1018:32445;;9103:424;;23707:28;1018:32445;;;;3417:23:3;;1018:32445:27;;;23819:108;;;;;:::i;:::-;1018:32445;23946:54;-1:-1:-1;;;;;1018:32445:27;;;;23986:13;;1018:32445;23946:54;;:::i;:::-;1018:32445;;;24098:9;1666:4;;24089:41;24085:138;;1018:32445;24296:9;-1:-1:-1;;;;;1018:32445:27;24296:9;24319:17;;1018:32445;;24319:31;;:62;;;;1018:32445;24315:248;;;1018:32445;24621:9;;;;;24606:24;24621:9;;24606:24;;:::i;:::-;1018:32445;24634:3;1018:32445;;;;;;24634:3;1018:32445;;;;;;;;;;;;;;;;;;;24780:9;1666:4;;24792:25;;1018:32445;1666:4;1018:32445;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;24315:248;3773:23:3;;;;;;;;;1018:32445:27;3773:23:3;;;;:::i;:::-;1018:32445:27;;;;;;16432:9;16485:14;;;16623:48;-1:-1:-1;;;;;1018:32445:27;16533:17;;1018:32445;;;;16623:48;;:::i;:::-;16622:49;16618:146;;16810:37;;1018:32445;16810:37;;;1018:32445;32687:67;;1018:32445;32687:67;1018:32445;;;;;;;17495:91;1018:32445;17495:91;;;;;-1:-1:-1;;;17495:91:27;;1018:32445;17495:91;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;17616:14;1018:32445;17616:24;1018:32445;-1:-1:-1;;;;;1018:32445:27;17886:1229;;;;;;;;;;;;;;;;1018:32445;17886:1229;;;;;19153:8;;1018:32445;;;19153:31;;24315:248;19153:72;;;;;24315:248;19149:205;;;1018:32445;;-1:-1:-1;;1018:32445:27;4020:413:0;1018:32445:27;4020:413:0;;;;16989:9:27;1666:4;;16980:43;16976:149;;24397:155;;24606:24;24397:155;;24315:248;;;;;;;;16976:149;1018:32445;17050:60;;-1:-1:-1;;;17050:60:27;;1018:32445;17050:60;;1018:32445;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;17050:60;19149:205;19297:41;;;:::i;:::-;1018:32445;;;;19252:87;;;-1:-1:-1;;;19252:87:27;;1018:32445;19252:87;;1018:32445;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19252:87;;;19153:72;17886:1229;;19204:2;17886:1229;;;;1666:4;;19188:37;19153:72;;;:31;1018:32445;19165:19;;;-1:-1:-1;19153:31:27;;;16618:146;1018:32445;;;;16698:51;-1:-1:-1;;;16698:51:27;;1018:32445;16698:51;;1018:32445;;;;;;;;;;;;;;;;16698:51;1018:32445;;;;24319:62;;;;;;24085:138;24157:51;1018:32445;;;24157:51;;;-1:-1:-1;;;24157:51:27;;1018:32445;24157:51;;1018:32445;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;19252:87;1018:32445;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;:::i;:::-;4096:10:2;1018:32445:27;;;;;4133:10:2;1018:32445:27;;;4133:10:2;1018:32445:27;;;;;;;;4161:9:2;;;1018:32445:27;;;;;;4213:21:2;;1018:32445:27;;4320:15:2;-1:-1:-1;1018:32445:27;;;;;;;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;4096:10:2;;4492:50;;;1018:32445:27;4570:38:2;;;;:::i;:::-;;1018:32445:27;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:2;1018:32445:27;;;;;3644:20:2;1018:32445:27;;;3644:20:2;1018:32445:27;;;;;;;3644:25:2;;;1018:32445:27;;;;;;;;3774:15:2;1018:32445:27;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;3615:10:2;;3899:39;;1018:32445:27;;3899:39:2;1018:32445:27;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;1018:32445:27;;-1:-1:-1;;1018:32445:27;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6099:5:21;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;1018:32445:27;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:21;;1018:32445:27;;;;5625:4:21;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;-1:-1:-1;;;;;1018:32445:27;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25110:9;;;;25159:17;;;25214:7;;;;;:::i;:::-;25255:21;;;:::i;:::-;25232:20;;;1018:32445;;25471:28;;1018:32445;25532:26;1018:32445;25532:26;;;;1018:32445;25532:49;25584:20;;;1018:32445;25532:72;25619:37;;;1018:32445;25532:124;25659:31;;;1018:32445;25532:158;25693:20;;;1018:32445;25532:181;25728:28;;;1018:32445;25532:224;25774:33;1018:32445;;25873:28;;9490:20;9273:28;;;1018:32445;9304:20;;;1018:32445;1666:4;9343:37;;;1018:32445;1666:4;9383:31;;;1018:32445;1666:4;9417:26;;;1018:32445;1666:4;9490:20;;1018:32445;;9103:424;;25873:28;26000:9;26026:54;25928:82;26000:9;25928:82;;;;;:::i;:::-;1018:32445;25232:20;-1:-1:-1;;;;;1018:32445:27;;;26066:13;;1018:32445;26026:54;;:::i;:::-;26025:55;26021:140;;26208:9;1666:4;;26199:41;26195:138;;26406:9;26739:24;26406:9;;;25659:31;25619:37;26406:9;;26497:17;1018:32445;26497:17;;1018:32445;25584:20;26546:23;;;1018:32445;26648:9;1666:4;;26660:25;;1018:32445;1666:4;26618:18;;1018:32445;26754:9;26739:24;;:::i;:::-;26767:3;1018:32445;;;;;;26767:3;1018:32445;;;;;;;26774:3;1018:32445;25584:20;1018:32445;;;;;;25232:20;1018:32445;;;;;;;;;26195:138;1018:32445;;;-1:-1:-1;;;26267:51:27;;1018:32445;26267:51;;1018:32445;;;;;;;;;;;;;;;;;;;;19252:87;26021:140;26103:47;1018:32445;;;26103:47;;;-1:-1:-1;;;26103:47:27;;1018:32445;26103:47;;1018:32445;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;25232:20;1018:32445;;;;;;;;;;;;;;;;19252:87;1018:32445;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;-1:-1:-1;;;;;1018:32445:27;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1018:32445:27;;:::i;:::-;;;;;507:19:1;1018:32445:27;;;-1:-1:-1;;;;;1018:32445:27;;-1:-1:-1;1018:32445:27;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;;507:55:1;1018:32445:27;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;13205:31;13352:17;;;13407:7;;;;;:::i;:::-;13448:21;;;:::i;:::-;13425:20;;;;1018:32445;;;13500:28;;9490:20;9273:28;;;1018:32445;9304:20;;;1018:32445;1666:4;9343:37;;;1018:32445;1666:4;9383:31;;;1018:32445;1666:4;9417:26;;;1018:32445;1666:4;9490:20;;1018:32445;;9103:424;;13500:28;13480:17;-1:-1:-1;;;;;1018:32445:27;;13480:17;;1018:32445;;;;13542:17;1018:32445;;13538:166;;1018:32445;;;;;;;;;;13425:20;1018:32445;;;;;;;;13538:166;16432:9;;;;;;;16485:14;16623:48;16485:14;;16533:17;-1:-1:-1;;;;;1018:32445:27;16533:17;;1018:32445;;16623:48;:::i;:::-;16622:49;16618:146;;16810:37;-1:-1:-1;;;;;1018:32445:27;16810:37;;;17495:91;16810:37;;17495:91;16810:37;-1:-1:-1;;;16810:37:27;;1018:32445;32687:67;1018:32445;32687:67;1018:32445;;;;;;17495:91;13425:20;17495:91;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;17616:14;:24;1018:32445;;17886:1229;;;;;;;;;;;;;;;;;;;1018:32445;17886:1229;;;19153:8;;1018:32445;;;19153:31;;13538:166;19153:72;;;;;13538:166;19149:205;;;1018:32445;;-1:-1:-1;;1018:32445:27;4020:413:0;1018:32445:27;4020:413:0;;;;16989:9:27;1666:4;;16980:43;16976:149;;13589:104;1018:32445;13589:104;;13538:166;;;;;;;;16976:149;17050:60;;-1:-1:-1;;;17050:60:27;;;1018:32445;17050:60;;1018:32445;;17495:91;1018:32445;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;17050:60;19149:205;19297:41;;;:::i;19153:72::-;17886:1229;;19204:2;17886:1229;;;;1666:4;;19188:37;19153:72;;;:31;1018:32445;19165:19;;;-1:-1:-1;19153:31:27;;;16618:146;16698:51;1018:32445;;;16698:51;-1:-1:-1;;;16698:51:27;;1018:32445;16698:51;;1018:32445;;;;;;;;;;;;;;;;16698:51;1018:32445;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;:::i;:::-;;;4863:10:2;;1018:32445:27;;;;;;;;;;;4939:32:2;;;;1018:32445:27;;5026:31:2;;;;-1:-1:-1;;;;;5026:31:2;;;;;;;;:::i;:::-;1018:32445:27;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;4863:10:2;;5072:54;;;1018:32445:27;5154:47:2;;;;:::i;:::-;;1018:32445:27;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;-1:-1:-1;;;;;1018:32445:27;;;:::i;:::-;;-1:-1:-1;;;;;1018:32445:27;;:::i;:::-;;;;;279:74:1;1018:32445:27;;;279:74:1;1018:32445:27;-1:-1:-1;1018:32445:27;;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;1065:197:3;1018:32445:27;;;;;;;;;;;;;;;;;2915:20;;:::i;1018:32445::-;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6290:14;;;6338:20;1018:32445;6338:20;;1018:32445;;;6748:19;;6744:703;;1018:32445;7510:9;;;;;1018:32445;;1666:4;1018:32445;;1666:4;;;7558:48;1018:32445;27760:9;;27868:14;;1018:32445;31490:20;;1018:32445;;31555:28;;1018:32445;31645:13;1666:4;3696:5:0;;;;;;:13;;;28289:60:27;-1:-1:-1;;;;;1018:32445:27;27977:17;;1018:32445;;28328:20;1018:32445;28328:20;;1018:32445;1666:4;;;28289:60;:::i;:::-;1666:4;;1018:32445;;28425:23;1018:32445;;-1:-1:-1;;1018:32445:27;-1:-1:-1;;;;;1018:32445:27;;28421:1846;30302:9;1666:4;;;;1018:32445;;;30450:23;;;30446:626;30450:23;;;1018:32445;30683:146;;;;;30446:626;1018:32445;1666:4;;;;30943:40;1666:4;;30943:40;-1:-1:-1;;;;;1018:32445:27;1706:8:2;1018:32445:27;1706:8:2;1018:32445:27;;;1706:8:2;1018:32445:27;;;;1666:4;1018:32445;;;1558:305:2;;30943:40:27;;1018:32445;;;;;;;;;;28421:1846;28537:25;;;;1018:32445;;;28580:1673;;28421:1846;;;;;;28580:1673;28707:9;;;;;;;28837;1018:32445;28837:9;28910:31;;1018:32445;;;28876:160;;;;;;1018:32445;;;;;;;28876:160;;;;;;1018:32445;28876:160;;;1018:32445;28876:160;;1018:32445;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28876:160;;;;;;;28580:1673;-1:-1:-1;28872:901:27;;29675:41;;;:::i;:::-;1018:32445;;;;29596:150;;;-1:-1:-1;;;29596:150:27;;1018:32445;29596:150;;1018:32445;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;28872:901::-;30166:68;28872:901;29839:9;1666:4;;30110:9;;1666:4;;1018:32445;;30166:68;;:::i;:::-;28580:1673;;;;;;28876:160;;;;;1018:32445;28876:160;;:::i;:::-;1018:32445;28876:160;;;;;1018:32445;;;3696:13:0;;;;;;6744:703:27;1018:32445;;;;;-1:-1:-1;;;;;1018:32445:27;;;;368:118:13;;;;6868:8:27;6864:573;;6744:703;;;;;;6864:573;1666:4;6918:41;;:::i;:::-;1018:32445;;6984:25;;;;;;1018:32445;;6984:25;;1666:4;1018:32445;1666:4;;;;:::i;1018:32445::-;;;;;;-1:-1:-1;;1018:32445:27;;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;694:10:1;1018:32445:27;;674:19:1;1018:32445:27;;-1:-1:-1;;;;;1018:32445:27;;;674:36:1;1018:32445:27;;;;;;;;674:38:1;1018:32445:27;;674:38:1;:::i;:::-;1018:32445:27;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;:::i;:::-;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;2894:10:2;1018:32445:27;;;;;;;;2923:19:2;;;1018:32445:27;;3023:20:2;;;;1018:32445:27;;;;;;3004:39:2;;1018:32445:27;;;;;;;3136:9:2;;1018:32445:27;;;;;;;3163:9:2;;1018:32445:27;;;3213:26:2;;1018:32445:27;;;;;;;;;;:::i;:::-;;;3023:20:2;1018:32445:27;3291:137:2;;;1018:32445:27;;;;;;;3291:137:2;;;1018:32445:27;;;3291:137:2;;;1018:32445:27;;;-1:-1:-1;3291:137:2;;;1018:32445:27;;;2894:10:2;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;3443:47:2;1018:32445:27;2894:10:2;3443:47;;1018:32445:27;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1018:32445:27;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1018:32445:27;;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;;;;;;;:::o;:::-;;;17495:91;;1018:32445;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1018:32445:27;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1018:32445:27;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1018:32445:27;;;;;;:::o;:::-;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1018:32445:27;;;;;;;;-1:-1:-1;;1018:32445:27;;;;:::o;2459:114::-;1018:32445;;;2546:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;2546:20:27;;;2539:27;2459:114;:::o;2546:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1018:32445;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;2459:114;:::o;2546:20::-;;;-1:-1:-1;2546:20:27;;;1018:32445;;;;;;;;;;-1:-1:-1;;1018:32445:27;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1018:32445:27;;;;:::o;:::-;;;:::o;2121:300::-;3445:249:22;2121:300:27;2252:54;;;:::i;:::-;2915:20;;:::i;:::-;1668:13:3;;;;:::i;:::-;1752:82;:25;;;;:82;;2050:14;1882:15;;;;;;:::i;:::-;3287:193:0;;;;;;;;2120:23:3;;;;;;;:::i;:::-;3287:193:0;;;;;;;;1018:32445:27;3287:193:0;1018:32445:27;2162:233:3;-1:-1:-1;;;;;1707:12:3;2162:233;;1018:32445:27;1065:197:3;1018:32445:27;;;3287:193:0;1018:32445:27;;;1707:12:3;;;1018:32445:27;1882:15:3;1018:32445:27;;;1935:23:3;1018:32445:27;;;1997:25:3;1018:32445:27;;;1935:23:3;;;1018:32445:27;;;;;1997:25:3;;;1018:32445:27;2120:23:3;1018:32445:27;;;2050:14:3;1018:32445:27;;;;;;;;;;2162:233:3;;;;;;:::i;:::-;1018:32445:27;4988:47:3;;3287:193:0;3445:249:22;;;;;;;;;;;;;;2121:300:27;:::o;1752:82:3:-;1818:15;;;;;;;:::i;:::-;3287:193:0;;1818:15:3;3287:193:0;;;;;1752:82:3;;;2570:179:2;2712:30;1018:32445:27;-1:-1:-1;;;;;2660:37:2;2687:9;2660:37;-1:-1:-1;;;;;1018:32445:27;1706:8:2;1018:32445:27;1706:8:2;1018:32445:27;;;1706:8:2;1018:32445:27;;;;1666:4;1018:32445;;;1558:305:2;;2660:37;1018:32445:27;;;;;;;2712:30:2;;2570:179::o;1176:508:13:-;1273:405;1666:4:27;1273:405:13;;;;1176:508;1273:405;;;;;;;;;;;;;;;;;;1176:508;:::o;1273:405::-;;1666:4:27;1273:405:13;;3845:262:21;-1:-1:-1;;;;;3938:11:21;1018:32445:27;3929:4:21;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1018:32445:27;;4204:80:21;;;1018:32445:27;2079:95:21;1018:32445:27;;4226:11:21;1018:32445:27;2079:95:21;;1018:32445:27;4239:14:21;2079:95;;;1018:32445:27;4255:13:21;2079:95;;;1018:32445:27;3929:4:21;2079:95;;;1018:32445:27;2079:95:21;4204:80;;;;;;:::i;:::-;1018:32445:27;4194:91:21;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1018:32445:27;;-1:-1:-1;;;;;1018:32445:27;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7813:1086::-;8371:23;7813:1086;-1:-1:-1;;;;;7985:13:27;;;:::i;:::-;1018:32445;;;8024:12;;;1018:32445;8024:12;8008:13;;1018:32445;8130:23;;;1018:32445;430:2:3;1018:32445:27;8130:23;1018:32445;430:2:3;;8077:20:27;;;1018:32445;8047:28;;;1018:32445;8193:25;;;1018:32445;8164:26;;;1018:32445;8164:26;8312:14;;1018:32445;430:2:3;1018:32445:27;8130:23;1018:32445;430:2:3;;8259:20:27;;;1018:32445;8229:28;;;1018:32445;8371:23;;;;;:::i;:::-;8408:27;;;8404:489;;7813:1086;;;:::o;8404:489::-;486:2:3;8459:65:27;;486:2:3;;1018:32445:27;368:2:3;1018:32445:27;;;;;8077:20;1018:32445;;430:2:3;1018:32445:27;-1:-1:-1;1018:32445:27;;368:2:3;1018:32445:27;;430:2:3;;486;1018:32445:27;;;430:2:3;;4512:78;;1018:32445:27;430:2:3;8130:23:27;430:2:3;;8193:25:27;8654:31;;1018:32445;8130:23;430:2:3;;8130:23:27;8615:37;;1018:32445;8789:23;;486:2:3;;8371:23:27;8853:17;1018:32445;7813:1086::o;486:2:3:-;;8047:28:27;1018:32445;-1:-1:-1;;;486:2:3;;8024:12:27;486:2:3;;;;;430;486;;1018:32445:27;486:2:3;1018:32445:27;;;486:2:3;;;;8047:28:27;1018:32445;-1:-1:-1;;;486:2:3;;8024:12:27;486:2:3;;;;;;;;1018:32445:27;486:2:3;1018:32445:27;;;486:2:3;;795:503:26;941:15;;;;;;:::i;:::-;971:28;;;;;;:::i;:::-;970:29;966:68;;1082:13;;;:::i;:::-;2587:113;1018:32445:27;2587:113:26;;;1018:32445:27;2587:113:26;1018:32445:27;;;;;2838:36:26;2834:241;;-1:-1:-1;3121:2:26;1018:32445:27;;1129:2:26;1110:21;;1129:2;;-1:-1:-1;;941:15:26;1018:32445:27;-1:-1:-1;;1018:32445:27;;;1164:26:26;;;1018:32445:27;;;1129:2:26;1164:26;;;;;1018:32445:27;1164:26:26;:::i;1106:186::-;1018:32445:27;1129:2:26;1018:32445:27;;;941:15:26;1018:32445:27;-1:-1:-1;;1018:32445:27;;;1239:41:26;;;;1018:32445:27;;;1239:41:26;;1018:32445:27;1239:41:26;;1018:32445:27;;1239:41:26;-1:-1:-1;;1018:32445:27;;;1129:2:26;1018:32445:27;;;;;;;;;;;;1239:41:26;;17495:91:27;;1239:41:26;;;;;;:::i;2834:241::-;2971:18;:22;348:8;;3030:34;941:15;1018:32445:27;-1:-1:-1;;;3030:34:26;;348:8;3030:34;;;348:8;;;;;1018:32445:27;348:8:26;1018:32445:27;;;348:8:26;3030:34;348:8;;941:15;1018:32445:27;-1:-1:-1;;;348:8:26;;;;;;;;;;;1018:32445:27;348:8:26;1018:32445:27;;;348:8:26;;966:68;1015:8;;;1018:32445:27;1015:8:26;:::o;11939:1091:27:-;;;14700:17;11939:1091;;;;;12266:14;;1018:32445;-1:-1:-1;;;;;12424:17:27;1018:32445;;;;12378:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12424:17;1018:32445;;12455:31;-1:-1:-1;12504:23:27;;12500:182;;;;11939:1091;14499:14;-1:-1:-1;14499:14:27;14655:85;14499:14;14655:85;-1:-1:-1;;;;;14499:14:27;;;1018:32445;;14530:12;12378:11;32687:67;14700:17;;;;1018:32445;14655:85;;;;;;;;;;;:::i;:::-;14754:326;;;;;;-1:-1:-1;14754:326:27;;14700:17;14754:326;;;;11939:1091;12378:11;32970:66;15145:8;15141:286;;12695:100;12809:205;;;11939:1091;;;:::o;12809:205::-;12861:45;;;:::i;:::-;12860:46;12856:144;;11939:1091;:::o;12856:144::-;12937:44;1018:32445;12378:11;1018:32445;12937:44;-1:-1:-1;;;12937:44:27;;;;;1018:32445;12378:11;14655:85;1018:32445;;;;;;;;;;;;;12937:44;15141:286;15173:18;;;;;15223:46;1018:32445;12378:11;1018:32445;15223:46;-1:-1:-1;;;15223:46:27;;14655:85;15223:46;;1018:32445;12378:11;14655:85;1018:32445;;;;;;;;;;;;;15223:46;15169:248;15360:41;;:::i;:::-;1018:32445;;12378:11;1018:32445;15315:87;;;-1:-1:-1;;;15315:87:27;;14655:85;15315:87;;1018:32445;;14655:85;1018:32445;;;;;;;;;;;;;;;;;;;;;;;:::i;14754:326::-;-1:-1:-1;;;14754:326:27;;12500:182;1018:32445;;;;-1:-1:-1;1018:32445:27;;;;;;;12378:11;1018:32445;;;12618:21;;;;;;;:49;14655:85;12618:49;;12500:182;;;;;;;;;12618:49;14655:85;1666:4;;;12618:49;;968:234:1;-1:-1:-1;;;;;1018:32445:27;-1:-1:-1;1018:32445:27;1154:19:1;1018:32445:27;;1098:2:1;-1:-1:-1;1018:32445:27;-1:-1:-1;;;;;1018:32445:27;1098:2:1;1018:32445:27;;-1:-1:-1;1018:32445:27;;;;;-1:-1:-1;1018:32445:27;;;;1154:34:1;;;;:::i;:::-;1018:32445:27;;;1154:41:1;968:234;:::o;33048:413:27:-;;1913:5;1666:4;;33183:43;;;33179:90;;33404:3;1666:4;1799:2;1666:4;;1018:32445;;33048:413;:::o;33179:90::-;33246:8;;1018:32445;33246:8;:::o;2134:396:2:-;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;2367:23:2;;;2363:74;;1666:4:27;1018:32445;;2509:4:2;2134:396;:::o;1018:32445:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1018:32445:27;;;;;;;;-1:-1:-1;;1018:32445:27;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1018:32445:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1018:32445:27;;;;;17886:1229;1018:32445;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1018:32445:27;;;;;17886:1229;1018:32445;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1018:32445:27;;;;;17886:1229;1018:32445;:::i;:::-;;;;;;;;:::o;1611:551:26:-;;1725:1;-1:-1:-1;1703:62:26;;1914:95;-1:-1:-1;;1018:32445:27;;2106:49:26;;1611:551::o;1703:62::-;1742:12;1018:32445:27;1742:12:26;:::o;9781:1671:27:-;;;;;9950:1;9931:20;;9927:1519;;9781:1671;;;;;;:::o;9927:1519::-;-1:-1:-1;;;;;9984:14:27;;1018:32445;;10023:43;;;;;:::i;:::-;10019:495;;10531:18;;10527:121;;10683:2;10665:20;;10661:110;;10802:15;1018:32445;-1:-1:-1;;;;;10802:15:27;;:::i;:::-;1018:32445;10836:35;:14;;:35;1018:32445;10836:35;1018:32445;10802:80;;;;1018:32445;10802:80;;;;;;1018:32445;;;;;;;;;;:::i;:::-;10802:80;;;;;;;;;;;;9927:1519;1018:32445;-1:-1:-1;;;;;1018:32445:27;;10900:21;;10896:115;;11028:17;;11024:116;;11157:19;:24;11153:123;;1018:32445;10683:2;1018:32445;;;11358:77;11315:23;10836:35;11315:23;1018:32445;;-1:-1:-1;;;;;1018:32445:27;;11374:17;;1018:32445;11410:14;;:24;1018:32445;;-1:-1:-1;;;;;1018:32445:27;;;;;;;;;;;;11358:77;9927:1519;;;;;;;11153:123;11208:53;1018:32445;10836:35;1018:32445;11208:53;-1:-1:-1;;;11208:53:27;;10802:80;11208:53;;1018:32445;10836:35;1018:32445;;;;;;;;;;;;;;11208:53;11024:116;11072:53;1018:32445;10836:35;1018:32445;11072:53;-1:-1:-1;;;11072:53:27;;10802:80;11072:53;;1018:32445;10836:35;1018:32445;;;;;;;;;;;;;;11072:53;10896:115;10948:48;1018:32445;10836:35;1018:32445;10948:48;-1:-1:-1;;;10948:48:27;;10802:80;10948:48;;1018:32445;10836:35;1018:32445;;;;;;;;;;;;;;10948:48;10802:80;;;1018:32445;10802:80;;1018:32445;10802:80;;;;;;1018:32445;10802:80;;;:::i;:::-;;;1018:32445;;;;;-1:-1:-1;;;;;1018:32445:27;;;;;;10802:80;;;;;;-1:-1:-1;10802:80:27;;;10836:35;1018:32445;;;;;;;;10661:110;10712:44;1018:32445;;;10712:44;-1:-1:-1;;;10712:44:27;;;;;1018:32445;;;;;;;;;;;;;;;;10712:44;10527:121;10581:52;1018:32445;;;10581:52;-1:-1:-1;;;10581:52:27;;;;;1018:32445;;;;;;;;;;;;;;;;10581:52;10019:495;10090:20;;;;10108:2;10090:20;;10086:390;;10019:495;10493:7;;;;:::o;10086:390::-;10398:35;-1:-1:-1;;;;;10359:15:27;;:::i;:::-;1018:32445;10398:14;;:35;1018:32445;;;10108:2;1018:32445;;;10359:98;;;;;9950:1;1018:32445;;;;10398:35;1018:32445;10359:98;;;;;;;1018:32445;10359:98;;;;;1018:32445;10398:35;1018:32445;;;;10108:2;1018:32445;;;;;;;;;;:::i;:::-;10359:98;;;;;;;;;10086:390;;;;;;10359:98;9950:1;10359:98;;;:::i;:::-;9950:1;10359:98;;3358:267:17;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1018:32445:27;;;;;;;:::i;:::-;2311:2:17;1018:32445:27;;;;;;;17495:91;1018:32445;;;2324:106:17;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:17;;-1:-1:-1;2713:20:17;3477:142;1018:32445:27;;;-1:-1:-1;6126:13:21;1390:66:17;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1018:32445:27;;;;;;1390:66:17;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:21;-1:-1:-1;1390:66:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1018:32445:27;;1390:66:17;1018:32445:27;;;;;1390:66:17;1018:32445:27;;;1390:66:17;;;;;;;;;;;-1:-1:-1;;;;1390:66:17;;;;;-1:-1:-1;1390:66:17;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1018:32445:27;;;;;;;:::i;3477:142:17:-;1018:32445:27;;;-1:-1:-1;6584:16:21;1390:66:17;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1018:32445:27;;;;;;1390:66:17;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:21;-1:-1:-1;1390:66:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"2617":[{"start":7963,"length":32}],"2619":[{"start":8152,"length":32}],"2621":[{"start":7916,"length":32}],"2623":[{"start":8042,"length":32}],"2625":[{"start":8080,"length":32}],"2628":[{"start":2697,"length":32}],"2631":[{"start":2739,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"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\":[],\"name\":\"InvalidShortString\",\"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\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"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\":[],\"name\":\"EIP712DomainChanged\",\"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\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\"},{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\"},{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\"},{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"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\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":[{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"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\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"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.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the reverted call to \\\"postOp\\\".\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationEvent(bytes32,address,address,uint256,bool,uint256,uint256)\":{\"params\":{\"actualGasCost\":\"- Actual amount paid (by account or paymaster) for this UserOperation.\",\"actualGasUsed\":\"- Total gas used by this UserOperation (including preVerification, creation, validation and execution).\",\"nonce\":\"- The nonce value from the request.\",\"paymaster\":\"- If non-null, the paymaster that pays for this request.\",\"sender\":\"- The account that generates this request.\",\"success\":\"- True if the sender transaction succeeded, false if reverted.\",\"userOpHash\":\"- Unique identifier for the request (hash its entire content, except signature).\"}},\"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 \\\"callData\\\" call.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"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.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"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.\"}},\"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\"}},\"incrementNonce(uint192)\":{\"params\":{\"key\":\"- the \\\"nonce key\\\" to increment the \\\"nonce sequence\\\" for.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"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\"}},\"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 andhandleAggregatedOps, to identify the offending op. Should be caught in off-chain handleOps/handleAggregatedOps 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 and handleAggregatedOps, 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() and handleAggregatedOps(), 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.\"},\"UserOperationEvent(bytes32,address,address,uint256,bool,uint256,uint256)\":{\"notice\":\"An event emitted after each successful request.\"},\"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\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"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.\"},\"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.\"},\"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), entrypoint address, chainId and (optionally) 7702 delegate address\"},\"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,uint256)\":{\"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.\"},\"senderCreator()\":{\"notice\":\"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts.\"},\"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.\"}},\"notice\":\"Account-Abstraction (EIP-4337) singleton EntryPoint v0.8 implementation. Only one instance required on each chain.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"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.1.0/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-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01\",\"dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE\"]},\"lib/account-abstraction-v8/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2\",\"dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5\"]},\"lib/account-abstraction-v8/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced\",\"dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77\",\"dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT\"]},\"lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d\",\"dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX\"]},\"lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00\",\"dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85\",\"dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz\"]},\"lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"lib/account-abstraction-v8/contracts/utils/Exec.sol\":{\"keccak256\":\"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868\",\"dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v08/Eip7702Support.sol\":{\"keccak256\":\"0x97dcf8077b21e11a00d0f4f04dc057a776257170f036d3d154119e5f210e8683\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb756013b769ae894aa8a5286b4a53964325944b1ef20114bcb0c62deb30119b\",\"dweb:/ipfs/QmSKopMsb23HAB8Dt7ahjenh7oBBDcFWewqLr615dpuLcA\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0x440c3d8bc6bb39fa808c10bd677b1a1522e3ef42cb396ad6a3f43b64047f5851\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f3585dc925650135eb90ff0d75498eb7022e81678cb4747e9329a4fe98648f24\",\"dweb:/ipfs/QmcRMabUCajJ3BMejvxcKm7WXHgFrfNh2BA5We7KHkWTU9\"]},\"src/v08/IEntryPoint.sol\":{\"keccak256\":\"0x6ef27685ec58a67709de077a73667b0184aeb123643e7ef21ca9c95ad0122c71\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e69b2738ebf45d63e7607ef67293d897ce08a39f499b0cb0234733b9f1bac1\",\"dweb:/ipfs/QmdxBsJtzPiyWuGuxf3NFynrcLibXXrXf1CZ79HNaRnh7K\"]},\"src/v08/SenderCreator.sol\":{\"keccak256\":\"0x1e2fb812c446c6041c6d692bbdf1228ad60eec9779ffd7b318e680bb241d71d5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34db2b82ee8e7140298bcbd1dcabf06b3bbcb60fd597f81b5b9e53b25c30b447\",\"dweb:/ipfs/QmT4WcNu6NCaxxJ6FWGFpjadfXsMPVhgLMQfGWsW9rWZAZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"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":[],"type":"error","name":"InvalidShortString"},{"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":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"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":[],"type":"event","name":"EIP712DomainChanged","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":"uint256","name":"opIndex","type":"uint256"},{"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"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"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"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"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"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"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":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"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":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","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":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"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":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"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."}},"eip712Domain()":{"details":"See {IERC-5267}."},"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."}},"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"}},"incrementNonce(uint192)":{"params":{"key":"- the \"nonce key\" to increment the \"nonce sequence\" for."}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"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"}},"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":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"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."},"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."},"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), entrypoint address, chainId and (optionally) 7702 delegate address"},"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,uint256)":{"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."},"senderCreator()":{"notice":"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts."},"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.1.0/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":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/core/NonceManager.sol":{"keccak256":"0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c","urls":["bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01","dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE"],"license":"GPL-3.0"},"lib/account-abstraction-v8/contracts/core/StakeManager.sol":{"keccak256":"0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a","urls":["bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2","dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5"],"license":"GPL-3.0"},"lib/account-abstraction-v8/contracts/core/UserOperationLib.sol":{"keccak256":"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1","urls":["bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99","dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/IAccount.sol":{"keccak256":"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864","urls":["bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319","dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol":{"keccak256":"0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0","urls":["bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced","dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol":{"keccak256":"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf","urls":["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77","dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol":{"keccak256":"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87","urls":["bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d","dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8","urls":["bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00","dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0","urls":["bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85","dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800","urls":["bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79","dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK"],"license":"MIT"},"lib/account-abstraction-v8/contracts/utils/Exec.sol":{"keccak256":"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd","urls":["bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868","dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/v08/Eip7702Support.sol":{"keccak256":"0x97dcf8077b21e11a00d0f4f04dc057a776257170f036d3d154119e5f210e8683","urls":["bzz-raw://bb756013b769ae894aa8a5286b4a53964325944b1ef20114bcb0c62deb30119b","dweb:/ipfs/QmSKopMsb23HAB8Dt7ahjenh7oBBDcFWewqLr615dpuLcA"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0x440c3d8bc6bb39fa808c10bd677b1a1522e3ef42cb396ad6a3f43b64047f5851","urls":["bzz-raw://f3585dc925650135eb90ff0d75498eb7022e81678cb4747e9329a4fe98648f24","dweb:/ipfs/QmcRMabUCajJ3BMejvxcKm7WXHgFrfNh2BA5We7KHkWTU9"],"license":"GPL-3.0"},"src/v08/IEntryPoint.sol":{"keccak256":"0x6ef27685ec58a67709de077a73667b0184aeb123643e7ef21ca9c95ad0122c71","urls":["bzz-raw://66e69b2738ebf45d63e7607ef67293d897ce08a39f499b0cb0234733b9f1bac1","dweb:/ipfs/QmdxBsJtzPiyWuGuxf3NFynrcLibXXrXf1CZ79HNaRnh7K"],"license":"MIT"},"src/v08/SenderCreator.sol":{"keccak256":"0x1e2fb812c446c6041c6d692bbdf1228ad60eec9779ffd7b318e680bb241d71d5","urls":["bzz-raw://34db2b82ee8e7140298bcbd1dcabf06b3bbcb60fd597f81b5b9e53b25c30b447","dweb:/ipfs/QmT4WcNu6NCaxxJ6FWGFpjadfXsMPVhgLMQfGWsW9rWZAZ"],"license":"GPL-3.0"}},"version":1},"id":27}
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"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"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"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"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"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"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"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":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"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":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"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":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"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":"","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":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","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":"","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 EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.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"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","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":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"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":"EIP712DomainChanged","inputs":[],"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":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"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":"InvalidShortString","inputs":[]},{"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"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e259081610436823960805181611dd8015260a05181611e95015260c05181611da9015260e05181611e2701526101005181611e4d01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d46565b005b5f905f3560e01c9081630396cb60146114a55750806309ccb8801461147a5780630bd28e3b146114295780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661196e565b91611c28565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761176c565b126104cd576040516101ae8161179c565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f02565b6040519961027b84611afc565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561245a565b986103216001600160a01b03865116602087015190612695565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611ac0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c193945061207a565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361183d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611acd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061183d565b611d46565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b59236906004016119fa565b6001600160a01b0361088f611a28565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d26565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117b9565b810190611d07565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261183d565b5060243567ffffffffffffffff81116104d5576109739036906004016119fa565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612bdd565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d1f565b906020610a42604051936109f483866117b9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e08801906119d6565b9086820360408801526119d6565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661196e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661183d565b1681528083522054604051908152f35b503461013e57610ae536611867565b9190915a92815193610af78583611f02565b610b0082611afc565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761245a565b9760206001600160a01b0382511691015190612695565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611ac0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961183d565b8260808551610c778161176c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161176c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61183d565b916001600160a01b03610d4d611756565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611afc565b604051908152f35b503461013e57606090610ddd36611867565b908392935082936001600160a01b0360e08451610dfa8186611f02565b610e0385611afc565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e6193945061207a565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661183d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611ac0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611acd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861183d565b926001600160a01b03610fc9611756565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611d9f565b5034611391576102203660031901126113915760043567ffffffffffffffff8111611391576110729036906004016117f7565b3660231901906101c0821261139157610140604051926110918461176c565b12611391576040516110a28161179c565b6024356001600160a01b038116810361139157815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113915760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113915761115f9036906004016117f7565b9082519060608201518151908161139d575b505050505a61020435039251809301905f935a93516101008101516101208201514801808210156113955750935b6111be6001600160a01b0360e0840151169360608401519083036126dc565b01925f9280611244575050516001600160a01b0316935b5a900301010292518381105f1461120e576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112379203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611258575b5050506111d5565b9197509192505a9660a05a930191825190823b15611391575f916112ba91836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528460048401526080602484015260848301906119d6565b8d8d0260448301528d60648301520393f1908161137c575b50611360573d896108008211611356575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506112e3565b611373915a9003965a90039051906126dc565b905f8080611250565b611389919a505f906117b9565b5f985f6112d2565b5f80fd5b90509361119f565b5f80949360206001600160a01b0383965116910192f1156113c1575f808080611171565b3d6108008111611420575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526020600484015260248301906119d6565b506108006113cc565b34611391576020366003190112611391576004356001600160c01b038116810361139157335f5260016020526001600160c01b0360405f2091165f5260205260405f206114768154611ab2565b9055005b34611391575f366003190112611391576020611494611a28565b6001600160a01b0360405191168152f35b60203660031901126113915760043563ffffffff811680910361139157335f525f60205260405f209181156117145750600182015463ffffffff8160781c1682106116d0576dffffffffffffffffffffffffffff9060081c16913483018093116116bc578215611678576dffffffffffffffffffffffffffff83116116345754604051611601916115358261176c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b038216820361139157565b60a0810190811067ffffffffffffffff82111761178857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff82111761178857604052565b90601f8019910116810190811067ffffffffffffffff82111761178857604052565b67ffffffffffffffff811161178857601f01601f191660200190565b81601f820112156113915780359061180e826117db565b9261181c60405194856117b9565b8284526020838301011161139157815f926020809301838601378301015290565b600435906001600160a01b038216820361139157565b35906001600160a01b038216820361139157565b610200600319820112611391576004359160243567ffffffffffffffff811161139157610120818403600319011261139157600401916043190160446101c0821261139157610140604051926118bc8461176c565b12611391576101a0906040516118d18161179c565b6118da82611853565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261192460e08301611853565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113915760043567ffffffffffffffff81116113915760040182601f820112156113915780359267ffffffffffffffff8411611391576020808301928560051b0101116113915791906024356001600160a01b03811681036113915790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113915782359167ffffffffffffffff8311611391576020838186019501011161139157565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611aa7575f91611a68575090565b90506020813d602011611a9f575b81611a83602093836117b9565b8101031261139157516001600160a01b03811681036113915790565b3d9150611a76565b6040513d5f823e3d90fd5b5f1981146116bc5760010190565b919082039182116116bc57565b3d15611af7573d90611ade826117db565b91611aec60405193846117b9565b82523d5f602084013e565b606090565b604290611b08816122c0565b611b10611d9f565b91611b1a81611ebb565b918015611c0b57905b60c0611b326060830183611ecf565b90816040519182372091611b4960e0820182611ecf565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611bd3610140826117b9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c196040820182611ecf565b90816040519182372090611b23565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611cdf5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b9081602091031261139157516001600160a01b03811681036113915790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611d9334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e92575b15611dfa577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e8c60c0826117b9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dd1565b356001600160a01b03811681036113915790565b903590601e1981360301821215611391570180359067ffffffffffffffff82116113915760200191813603831361139157565b611f86906001600160a01b03611f1782611ebb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611ecf565b919082611f9257505050565b60348310612036578260141161139157803560601c926024811061139157601482013590603411611391576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c1660808201528115611ff25760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120a260408301938451906126fb565b15612274575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461210f608085960151966121016040519c8d926020860151905191602085019d8e5260248501612752565b03601f1981018c528b6117b9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612268575b508115612256575b506121cd57601f801991011601928360405294955a90031161215e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161224c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506121d9565b9050601f605f1983019101105f61213e565b6040141591505f612136565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122cd6040820182611ecf565b90916122d98284612834565b15612453576122e790611ebb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123c5575060181b91601482116123735750506040516bffffffffffffffffffffffff19909116602082019081526014825290611e8c6034826117b9565b81601411611391576040516bffffffffffffffffffffffff199093166020848101918252909392611e8c92849190601319820190601401603484013781015f838201520301601f1981018352826117b9565b3b1561240f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124896124816040860186611ecf565b908c8b612876565b015116915f9215978861265b575b5f602093926124f7836124e96001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612752565b03601f1981018752866117b9565b838287875193f1925f519360203d03612654575b836040521561257e575050509461252157505050565b61252a916126fb565b156125325750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6125d25760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161264a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506125de565b505f61250b565b92509060205f81938782528183526040822054878111831461268a57506124f7825b9693505092935050612497565b6124f790880361267d565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f20918254926126d584611ab2565b9055161490565b90619c4082018111156126f557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061245357039055600190565b9035601e198236030181121561139157016020813591019167ffffffffffffffff821161139157813603831361139157565b61282a60409295949395606083526001600160a01b0361277182611853565b1660608401526020810135608084015261281761280b6127cb6127ac61279988860186612720565b61012060a08a0152610180890191611d26565b6127b96060860186612720565b888303605f190160c08a015290611d26565b608084013560e087015260a084013561010087015260c08401356101208701526127f860e0850185612720565b878303605f190161014089015290611d26565b91610100810190612720565b848303605f190161016086015290611d26565b9460208201520152565b9060021161287157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f9080612889575b5050505050565b6001600160a01b0384515116946128a08285612834565b612b2b57853b612adf5760148210612a93578260206001600160a01b036128c5611a28565b1660408851015160405180948193632b870d1b60e11b8352856004840152826128f38c8b6024840191611d26565b0393f1908115612a88578491612a69575b506001600160a01b0381168015612a1d5787036129d1573b15612985575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f80808080612882565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612a82915060203d6020116109265761091881836117b9565b5f612904565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b3e575b50505050565b60406001600160a01b03612b50611a28565b1693510151908260141161139157833b15611391575f8094612bb796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d26565b0393f18015611aa757612bcd575b808080612b38565b5f612bd7916117b9565b5f612bc5565b60ff8114612c3c5760ff811690601f8211612c145760405191612c016040846117b9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d15575b602084108314612d01578385528492908115612ce25750600114612c83575b612c80925003826117b9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cc6575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612cae565b60209250612c8094915060ff191682840152151560051b820101612c74565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c55565b60ff8114612d435760ff811690601f8211612c145760405191612c016040846117b9565b506040515f6003548060011c9160018216918215612de5575b602084108314612d01578385528492908115612ce25750600114612d8657612c80925003826117b9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dc9575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612db1565b92607f1692612d5c56fea2646970667358221220f9342c04da3baeb5a2b32892285df82df5169b816e498eda224b5ddab402891764736f6c634300081c0033","sourceMap":"989:32847:25:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;:::i;:::-;1935:9;989:32847;;;1935:9;;;-1:-1:-1;;;1935:9:25;;3401:45:19;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;989:32847:25;3542:22:19;;3528:36;;;;989:32847:25;3591:25:19;;3574:42;;;3644:13;3627:30;;989:32847:25;;4204:80:19;989:32847:25;4204:80:19;;2079:95;;;;989:32847:25;2079:95:19;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;989:32847:25;4194:91:19;;2079:95;3667:48;4278:4;4204:80;3725:27;989:32847:25;;;;;;;;2079:95:19;989:32847:25;;;;;3627:30:19;989:32847:25;;;;;4204:80:19;989:32847:25;;;;;3528:36:19;989:32847:25;;;;;3574:42:19;989:32847:25;;;;;3393:53:19;989:32847:25;;;;;3456:62:19;989:32847:25;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;989:32847:25;;;;;-1:-1:-1;989:32847:25;2887:340:15;;989:32847:25;;3032:2:15;3010:24;;3006:215;3032:2;;;989:32847:25;;1854:2:15;989:32847:25;;1840:16:15;1836:72;;3032:2;989:32847:25;;;;2079:95:19;3032:2:15;989:32847:25;;;;1949:36:15;3050:27;:::o;989:32847:25:-;;;;3032:2:15;989:32847:25;;;;;1949:36:15;3050:27;:::o;1836:72::-;989:32847:25;3032:2:15;989:32847:25;;;1879:18:15;;;;;;;;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;1854:2:15;989:32847:25;-1:-1:-1;;989:32847:25;;;1879:18:15;;;;3006:215;-1:-1:-1;;;;;989:32847:25;;;;3432:13:19;989:32847:25;;;;;;;;;;;3006:215:15;3032:2;989:32847:25;;;;;;;;;;3006:215:15;989:32847:25;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;-1:-1:-1;989:32847:25;;;;;;;;;;3432:13:19;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;3432:13:19;989:32847:25;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:15;;989:32847:25;;3032:2:15;3010:24;;3006:215;3032:2;;;989:32847:25;;1854:2:15;989:32847:25;;1840:16:15;1836:72;;3032:2;989:32847:25;;;;2079:95:19;3032:2:15;989:32847:25;;;;1949:36:15;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;989:32847:25;;;;3501:16:19;989:32847:25;;;;;;;;;;;3006:215:15;3032:2;989:32847:25;;;;;;;;;;3006:215:15;989:32847:25;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;989:32847:25;;;;;3501:16:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;-1:-1:-1;989:32847:25;;;;;;;;;;3501:16:19;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;;;;3501:16:19;989:32847:25;;;;;;;;;;;;;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;3501:16:19;989:32847:25;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d46565b005b5f905f3560e01c9081630396cb60146114a55750806309ccb8801461147a5780630bd28e3b146114295780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661196e565b91611c28565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761176c565b126104cd576040516101ae8161179c565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f02565b6040519961027b84611afc565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561245a565b986103216001600160a01b03865116602087015190612695565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611ac0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c193945061207a565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361183d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611acd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061183d565b611d46565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b59236906004016119fa565b6001600160a01b0361088f611a28565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d26565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117b9565b810190611d07565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261183d565b5060243567ffffffffffffffff81116104d5576109739036906004016119fa565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612bdd565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d1f565b906020610a42604051936109f483866117b9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e08801906119d6565b9086820360408801526119d6565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661196e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661183d565b1681528083522054604051908152f35b503461013e57610ae536611867565b9190915a92815193610af78583611f02565b610b0082611afc565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761245a565b9760206001600160a01b0382511691015190612695565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611ac0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961183d565b8260808551610c778161176c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161176c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61183d565b916001600160a01b03610d4d611756565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611afc565b604051908152f35b503461013e57606090610ddd36611867565b908392935082936001600160a01b0360e08451610dfa8186611f02565b610e0385611afc565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e6193945061207a565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661183d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611ac0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611acd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861183d565b926001600160a01b03610fc9611756565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611d9f565b5034611391576102203660031901126113915760043567ffffffffffffffff8111611391576110729036906004016117f7565b3660231901906101c0821261139157610140604051926110918461176c565b12611391576040516110a28161179c565b6024356001600160a01b038116810361139157815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113915760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113915761115f9036906004016117f7565b9082519060608201518151908161139d575b505050505a61020435039251809301905f935a93516101008101516101208201514801808210156113955750935b6111be6001600160a01b0360e0840151169360608401519083036126dc565b01925f9280611244575050516001600160a01b0316935b5a900301010292518381105f1461120e576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112379203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611258575b5050506111d5565b9197509192505a9660a05a930191825190823b15611391575f916112ba91836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528460048401526080602484015260848301906119d6565b8d8d0260448301528d60648301520393f1908161137c575b50611360573d896108008211611356575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506112e3565b611373915a9003965a90039051906126dc565b905f8080611250565b611389919a505f906117b9565b5f985f6112d2565b5f80fd5b90509361119f565b5f80949360206001600160a01b0383965116910192f1156113c1575f808080611171565b3d6108008111611420575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526020600484015260248301906119d6565b506108006113cc565b34611391576020366003190112611391576004356001600160c01b038116810361139157335f5260016020526001600160c01b0360405f2091165f5260205260405f206114768154611ab2565b9055005b34611391575f366003190112611391576020611494611a28565b6001600160a01b0360405191168152f35b60203660031901126113915760043563ffffffff811680910361139157335f525f60205260405f209181156117145750600182015463ffffffff8160781c1682106116d0576dffffffffffffffffffffffffffff9060081c16913483018093116116bc578215611678576dffffffffffffffffffffffffffff83116116345754604051611601916115358261176c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b038216820361139157565b60a0810190811067ffffffffffffffff82111761178857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff82111761178857604052565b90601f8019910116810190811067ffffffffffffffff82111761178857604052565b67ffffffffffffffff811161178857601f01601f191660200190565b81601f820112156113915780359061180e826117db565b9261181c60405194856117b9565b8284526020838301011161139157815f926020809301838601378301015290565b600435906001600160a01b038216820361139157565b35906001600160a01b038216820361139157565b610200600319820112611391576004359160243567ffffffffffffffff811161139157610120818403600319011261139157600401916043190160446101c0821261139157610140604051926118bc8461176c565b12611391576101a0906040516118d18161179c565b6118da82611853565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261192460e08301611853565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113915760043567ffffffffffffffff81116113915760040182601f820112156113915780359267ffffffffffffffff8411611391576020808301928560051b0101116113915791906024356001600160a01b03811681036113915790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113915782359167ffffffffffffffff8311611391576020838186019501011161139157565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611aa7575f91611a68575090565b90506020813d602011611a9f575b81611a83602093836117b9565b8101031261139157516001600160a01b03811681036113915790565b3d9150611a76565b6040513d5f823e3d90fd5b5f1981146116bc5760010190565b919082039182116116bc57565b3d15611af7573d90611ade826117db565b91611aec60405193846117b9565b82523d5f602084013e565b606090565b604290611b08816122c0565b611b10611d9f565b91611b1a81611ebb565b918015611c0b57905b60c0611b326060830183611ecf565b90816040519182372091611b4960e0820182611ecf565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611bd3610140826117b9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c196040820182611ecf565b90816040519182372090611b23565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611cdf5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b9081602091031261139157516001600160a01b03811681036113915790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611d9334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e92575b15611dfa577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e8c60c0826117b9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dd1565b356001600160a01b03811681036113915790565b903590601e1981360301821215611391570180359067ffffffffffffffff82116113915760200191813603831361139157565b611f86906001600160a01b03611f1782611ebb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611ecf565b919082611f9257505050565b60348310612036578260141161139157803560601c926024811061139157601482013590603411611391576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c1660808201528115611ff25760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120a260408301938451906126fb565b15612274575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461210f608085960151966121016040519c8d926020860151905191602085019d8e5260248501612752565b03601f1981018c528b6117b9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612268575b508115612256575b506121cd57601f801991011601928360405294955a90031161215e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161224c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506121d9565b9050601f605f1983019101105f61213e565b6040141591505f612136565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122cd6040820182611ecf565b90916122d98284612834565b15612453576122e790611ebb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123c5575060181b91601482116123735750506040516bffffffffffffffffffffffff19909116602082019081526014825290611e8c6034826117b9565b81601411611391576040516bffffffffffffffffffffffff199093166020848101918252909392611e8c92849190601319820190601401603484013781015f838201520301601f1981018352826117b9565b3b1561240f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124896124816040860186611ecf565b908c8b612876565b015116915f9215978861265b575b5f602093926124f7836124e96001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612752565b03601f1981018752866117b9565b838287875193f1925f519360203d03612654575b836040521561257e575050509461252157505050565b61252a916126fb565b156125325750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6125d25760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161264a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506125de565b505f61250b565b92509060205f81938782528183526040822054878111831461268a57506124f7825b9693505092935050612497565b6124f790880361267d565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f20918254926126d584611ab2565b9055161490565b90619c4082018111156126f557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061245357039055600190565b9035601e198236030181121561139157016020813591019167ffffffffffffffff821161139157813603831361139157565b61282a60409295949395606083526001600160a01b0361277182611853565b1660608401526020810135608084015261281761280b6127cb6127ac61279988860186612720565b61012060a08a0152610180890191611d26565b6127b96060860186612720565b888303605f190160c08a015290611d26565b608084013560e087015260a084013561010087015260c08401356101208701526127f860e0850185612720565b878303605f190161014089015290611d26565b91610100810190612720565b848303605f190161016086015290611d26565b9460208201520152565b9060021161287157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f9080612889575b5050505050565b6001600160a01b0384515116946128a08285612834565b612b2b57853b612adf5760148210612a93578260206001600160a01b036128c5611a28565b1660408851015160405180948193632b870d1b60e11b8352856004840152826128f38c8b6024840191611d26565b0393f1908115612a88578491612a69575b506001600160a01b0381168015612a1d5787036129d1573b15612985575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f80808080612882565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612a82915060203d6020116109265761091881836117b9565b5f612904565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b3e575b50505050565b60406001600160a01b03612b50611a28565b1693510151908260141161139157833b15611391575f8094612bb796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d26565b0393f18015611aa757612bcd575b808080612b38565b5f612bd7916117b9565b5f612bc5565b60ff8114612c3c5760ff811690601f8211612c145760405191612c016040846117b9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d15575b602084108314612d01578385528492908115612ce25750600114612c83575b612c80925003826117b9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cc6575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612cae565b60209250612c8094915060ff191682840152151560051b820101612c74565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c55565b60ff8114612d435760ff811690601f8211612c145760405191612c016040846117b9565b506040515f6003548060011c9160018216918215612de5575b602084108314612d01578385528492908115612ce25750600114612d8657612c80925003826117b9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dc9575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612db1565b92607f1692612d5c56fea2646970667358221220f9342c04da3baeb5a2b32892285df82df5169b816e498eda224b5ddab402891764736f6c634300081c0033","sourceMap":"989:32847:25:-:0;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;;1441:10:29;;;:::i;:::-;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25957:20;989:32847;25957:20;;;989:32847;;;;;2060:156;989:32847;2060:156;;;989:32847;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2222:167;;:::i;989:32847::-;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23099:31;23202:9;;23251:17;;;23306:7;;;;;:::i;:::-;989:32847;33060:67;23471:21;;;;:::i;:::-;989:32847;;33343:66;989:32847;33343:66;989:32847;23721:28;;989:32847;23782:26;989:32847;23782:26;989:32847;23782:26;;989:32847;23782:49;989:32847;23834:20;;989:32847;23782:72;989:32847;23869:37;;989:32847;23782:124;989:32847;23909:31;;989:32847;23782:158;989:32847;23943:20;;989:32847;23782:181;989:32847;23978:28;;989:32847;23782:224;24024:33;989:32847;;24142:28;24254:108;24142:28;;;9978:20;9761:28;;;989:32847;9792:20;;;989:32847;1637:4;9831:37;;;989:32847;1637:4;9871:31;;;989:32847;1637:4;9905:26;;;989:32847;1637:4;9978:20;;989:32847;;9591:424;;24142:28;989:32847;;;;3472:23:30;;989:32847:25;;;24254:108;;;;;:::i;:::-;989:32847;24381:54;-1:-1:-1;;;;;989:32847:25;;;;24421:13;;989:32847;24381:54;;:::i;:::-;989:32847;;;24533:9;1637:4;;24524:41;24520:138;;989:32847;24731:9;-1:-1:-1;;;;;989:32847:25;24731:9;24754:17;;989:32847;;24754:31;;:62;;;;989:32847;24750:186;;;989:32847;24994:9;;;24979:24;24994:9;;24979:24;;:::i;:::-;989:32847;25007:3;989:32847;;;;;;25007:3;989:32847;;;;;;;;;;;;;;;;;;;25153:9;1637:4;;25165:25;;989:32847;1637:4;989:32847;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;24750:186;24979:24;24869:56;;;;;;;:::i;:::-;24832:93;;24750:186;;;;;;24754:62;;;;;;24520:138;989:32847;;;-1:-1:-1;;;24592:51:25;;989:32847;24592:51;;989:32847;;;;;;;;;;;;;;;;;;;;;;24592:51;;;;989:32847;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;24592:51;989:32847;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;:::i;:::-;4109:10:29;989:32847:25;;;;;4146:10:29;989:32847:25;;;4146:10:29;989:32847:25;;;;;;;;4174:9:29;;;989:32847:25;;;;;;4226:21:29;;989:32847:25;;4320:15:29;-1:-1:-1;989:32847:25;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;4109:10:29;;4471:50;;;989:32847:25;4549:38:29;;;;:::i;:::-;;989:32847:25;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:29;989:32847:25;;;;;3657:20:29;989:32847:25;;;3657:20:29;989:32847:25;;;;;;;3657:25:29;;;989:32847:25;;;;;;;;3787:15:29;989:32847:25;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;3628:10:29;;3912:39;;989:32847:25;;3912:39:29;989:32847:25;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;-1:-1:-1;;989:32847:25;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2852:15:25;;:::i;:::-;989:32847;;;;;2852:38;;;;;;-1:-1:-1;;;2852:38:25;;;989:32847;2852:38;;989:32847;;;;;;:::i;:::-;2852:38;;;;;;;;;;;-1:-1:-1;;;;;2852:38:25;989:32847;2852:38;;;;989:32847;2907:27;;;;989:32847;;;2907:27;2852:38;;;;989:32847;2852:38;989:32847;2852:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;989:32847;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:19;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;989:32847:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:19;;989:32847:25;;;;5625:4:19;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25483:9;;;;25532:17;;;25587:7;;;;;:::i;:::-;25628:21;;;:::i;:::-;25605:20;;;989:32847;;25844:28;;989:32847;25905:26;989:32847;25905:26;;;;989:32847;25905:49;25957:20;;;989:32847;25905:72;25992:37;;;989:32847;25905:124;26032:31;;;989:32847;25905:158;26066:20;;;989:32847;25905:181;26101:28;;;989:32847;25905:224;26147:33;989:32847;;26246:28;;9978:20;9761:28;;;989:32847;9792:20;;;989:32847;1637:4;9831:37;;;989:32847;1637:4;9871:31;;;989:32847;1637:4;9905:26;;;989:32847;1637:4;9978:20;;989:32847;;9591:424;;26246:28;26373:9;26399:54;26301:82;26373:9;26301:82;;;;;:::i;:::-;989:32847;25605:20;-1:-1:-1;;;;;989:32847:25;;;26439:13;;989:32847;26399:54;;:::i;:::-;26398:55;26394:140;;26581:9;1637:4;;26572:41;26568:138;;26779:9;27112:24;26779:9;;;26032:31;25992:37;26779:9;;26870:17;989:32847;26870:17;;989:32847;25957:20;26919:23;;;989:32847;27021:9;1637:4;;27033:25;;989:32847;1637:4;26991:18;;989:32847;27127:9;27112:24;;:::i;:::-;27140:3;989:32847;;;;;;27140:3;989:32847;;;;;;;27147:3;989:32847;25957:20;989:32847;;;;;;25605:20;989:32847;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;25605:20;989:32847;;;;;;;;;;;;;;;;24592:51;989:32847;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;507:19:0;989:32847:25;;;-1:-1:-1;;;;;989:32847:25;;-1:-1:-1;989:32847:25;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;507:55:0;989:32847:25;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13693:31;;13840:17;-1:-1:-1;;;;;989:32847:25;13840:17;;13895:7;;;;:::i;:::-;13936:21;;;:::i;:::-;13913:20;;;989:32847;13988:28;;9978:20;9761:28;;;989:32847;9792:20;;;989:32847;1637:4;9831:37;;;989:32847;1637:4;9871:31;;;989:32847;1637:4;9905:26;;;989:32847;1637:4;9978:20;;989:32847;;9591:424;;13988:28;989:32847;13968:17;;989:32847;14030:17;989:32847;;14026:155;;989:32847;;;;;;;;;;13913:20;989:32847;;;;;;;;14026:155;14114:56;;;;;:::i;:::-;14077:93;;14026:155;;;;;;989:32847;;;;;;;-1:-1:-1;;989:32847:25;;;;;;:::i;:::-;;;4820:10:29;;989:32847:25;;;;;;;;;;;4896:32:29;;;;989:32847:25;;4983:31:29;;;;-1:-1:-1;;;;;4983:31:29;;;;;;;;:::i;:::-;989:32847:25;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;4820:10:29;;5029:54;;;989:32847:25;5111:47:29;;;;:::i;:::-;;989:32847:25;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;-1:-1:-1;;;;;989:32847:25;;;:::i;:::-;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;279:74:0;989:32847:25;;;279:74:0;989:32847:25;-1:-1:-1;989:32847:25;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;1092:197:30;989:32847:25;;;;;;;;;;;;;;;;;3403:20;;:::i;989:32847::-;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6778:14;;;6826:20;989:32847;6826:20;;989:32847;;;7236:19;;7232:703;;989:32847;7998:9;;;;;989:32847;;1637:4;989:32847;;1637:4;;;8046:48;989:32847;28133:9;;28241:14;;989:32847;31863:20;;989:32847;;31928:28;;989:32847;32018:13;1637:4;3696:5:10;;;;;;:13;;;28662:60:25;-1:-1:-1;;;;;989:32847:25;28350:17;;989:32847;;28701:20;989:32847;28701:20;;989:32847;1637:4;;;28662:60;:::i;:::-;1637:4;;989:32847;;28798:23;989:32847;;-1:-1:-1;;989:32847:25;-1:-1:-1;;;;;989:32847:25;;28794:1846;30675:9;1637:4;;;;989:32847;;;30823:23;;;30819:626;30823:23;;;989:32847;31056:146;;;;;30819:626;989:32847;1637:4;;;;31316:40;1637:4;;31316:40;-1:-1:-1;;;;;989:32847:25;1822:8:29;989:32847:25;1822:8:29;989:32847:25;;;1822:8:29;989:32847:25;;;;1637:4;989:32847;;;1674:305:29;;31316:40:25;;989:32847;;;;;;;;;;28794:1846;28910:25;;;;989:32847;;;28953:1673;;28794:1846;;;;;;28953:1673;29080:9;;;;;;;29210;989:32847;29210:9;29283:31;;989:32847;;;29249:160;;;;;;989:32847;;;;;;;29249:160;;;;;;989:32847;29249:160;;;989:32847;29249:160;;989:32847;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29249:160;;;;;;;28953:1673;-1:-1:-1;29245:901:25;;1204:349:9;;1637:4:25;1204:349:9;;;;29245:901:25;989:32847;1204:349:9;;989:32847:25;1204:349:9;;;;989:32847:25;1204:349:9;;;;;989:32847:25;1204:349:9;;;989:32847:25;;;29969:150;;;-1:-1:-1;;;29969:150:25;;989:32847;29969:150;;989:32847;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1637:4:25;;-1:-1:-1;1204:349:9;;29245:901:25;30539:68;29245:901;30212:9;1637:4;;30483:9;;1637:4;;989:32847;;30539:68;;:::i;:::-;28953:1673;;;;;;29249:160;;;;;989:32847;29249:160;;:::i;:::-;989:32847;29249:160;;;;;989:32847;;;3696:13:10;;;;;;7232:703:25;989:32847;;;;;-1:-1:-1;;;;;989:32847:25;;;;378:118:9;;;;7356:8:25;7352:573;;7232:703;;;;;;7352:573;1204:349:9;1637:4:25;1204:349:9;;;;7352:573:25;1637:4;1204:349:9;989:32847:25;1204:349:9;;989:32847:25;1204:349:9;;;;989:32847:25;1204:349:9;;;;989:32847:25;;1204:349:9;;;989:32847:25;;7472:25;;;;;;989:32847;;7472:25;;1637:4;989:32847;1637:4;;;;:::i;1204:349:9:-;-1:-1:-1;1637:4:25;1204:349:9;;989:32847:25;;;;;;-1:-1:-1;;989:32847:25;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;913:10:0;989:32847:25;;893:19:0;989:32847:25;;-1:-1:-1;;;;;989:32847:25;;;893:36:0;989:32847:25;;;;;;;;893:38:0;989:32847:25;;893:38:0;:::i;:::-;989:32847:25;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;:::i;:::-;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;3011:10:29;989:32847:25;;;;;;;;3040:19:29;;;989:32847:25;;3127:20:29;;;;989:32847:25;;;;;;3108:39:29;;989:32847:25;;;;;;;3219:9:29;;989:32847:25;;;;;;;3246:9:29;;989:32847:25;;;3296:26:29;;989:32847:25;;;;;;;;;;:::i;:::-;;;3127:20:29;989:32847:25;3374:67:29;;;989:32847:25;;;;;;;3374:67:29;;;989:32847:25;;;3374:67:29;;;989:32847:25;;;-1:-1:-1;3374:67:29;;;989:32847:25;;;3011:10:29;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;3456:47:29;989:32847:25;3011:10:29;3456:47;;989:32847:25;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;989:32847:25;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;989:32847:25;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;989:32847:25;;;;;;:::o;:::-;;;-1:-1:-1;;;;;989:32847:25;;;;;;:::o;:::-;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;-1:-1:-1;;989:32847:25;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2947:114::-;989:32847;;;3034:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3034:20:25;;;3027:27;2947:114;:::o;3034:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;989:32847;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;2947:114;:::o;3034:20::-;;;-1:-1:-1;3034:20:25;;;989:32847;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;989:32847:25;;;;:::o;:::-;;;:::o;2427:300::-;3445:249:20;2427:300:25;2558:54;;;:::i;:::-;3403:20;;:::i;:::-;1701:13:30;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:30;;;;;;;:::i;:::-;3287:193:10;;;;;;;;989:32847:25;3287:193:10;989:32847:25;2195:281:30;-1:-1:-1;;;;;1740:12:30;2195:281;;989:32847:25;1092:197:30;989:32847:25;;;3287:193:10;989:32847:25;;;1740:12:30;;;989:32847:25;1915:15:30;989:32847:25;;;1968:23:30;989:32847:25;;;2030:25:30;989:32847:25;;;1968:23:30;;;989:32847:25;;;;;2030:25:30;;;989:32847:25;2153:23:30;989:32847:25;;;2083:14:30;989:32847:25;;;;;;;;;;2195:281:30;;;;;;:::i;:::-;989:32847:25;5014:47:30;;3287:193:10;3445:249:20;;;;;;;;;;;;;;2427:300:25;:::o;1785:82:30:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:30;3287:193:10;;;;;1785:82:30;;;1181:103:14;;;;637:66;3321:69:18;1413:93:14;;1624:4;637:66;3550:68:18;2160:49:25;989:32847;;-1:-1:-1;;;2160:49:25;;989:32847;2160:49;;;989:32847;;;;;;;;;;;;;;;;2160:49;1413:93:14;1465:30;-1:-1:-1;1465:30:14;;-1:-1:-1;1465:30:14;989:32847:25;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;-1:-1:-1;;989:32847:25;;;;:::o;2687:179:29:-;2829:30;989:32847:25;-1:-1:-1;;;;;2777:37:29;2804:9;2777:37;-1:-1:-1;;;;;989:32847:25;1822:8:29;989:32847:25;1822:8:29;989:32847:25;;;1822:8:29;989:32847:25;;;;1637:4;989:32847;;;1674:305:29;;2777:37;989:32847:25;;;;;;;2829:30:29;;2687:179::o;3845:262:19:-;-1:-1:-1;;;;;3938:11:19;989:32847:25;3929:4:19;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;989:32847:25;;4204:80:19;;;989:32847:25;2079:95:19;989:32847:25;;4226:11:19;989:32847:25;2079:95:19;;989:32847:25;4239:14:19;2079:95;;;989:32847:25;4255:13:19;2079:95;;;989:32847:25;3929:4:19;2079:95;;;989:32847:25;2079:95:19;4204:80;;;;;;:::i;:::-;989:32847:25;4194:91:19;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;989:32847:25;;-1:-1:-1;;;;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8301:1086::-;8859:23;8301:1086;-1:-1:-1;;;;;8473:13:25;;;:::i;:::-;989:32847;;;8512:12;;;989:32847;8512:12;8496:13;;989:32847;8618:23;;;989:32847;475:2:30;989:32847:25;8618:23;989:32847;475:2:30;;8565:20:25;;;989:32847;8535:28;;;989:32847;8681:25;;;989:32847;8652:26;;;989:32847;8652:26;8800:14;;989:32847;475:2:30;989:32847:25;8618:23;989:32847;475:2:30;;8747:20:25;;;989:32847;8717:28;;;989:32847;8859:23;;;;;:::i;:::-;8896:27;;;8892:489;;8301:1086;;;:::o;8892:489::-;531:2:30;8947:65:25;;531:2:30;;989:32847:25;413:2:30;989:32847:25;;;413:2:30;;8565:20:25;413:2:30;;475;989:32847:25;-1:-1:-1;989:32847:25;;413:2:30;989:32847:25;;475:2:30;;531;989:32847:25;;;475:2:30;;4562:76;;989:32847:25;475:2:30;8618:23:25;475:2:30;;8681:25:25;9142:31;;989:32847;8618:23;475:2:30;;8618:23:25;9103:37;;989:32847;9277:23;;531:2:30;;8859:23:25;9341:17;989:32847;8301:1086::o;531:2:30:-;;8535:28:25;989:32847;-1:-1:-1;;;531:2:30;;8512:12:25;531:2:30;;;;;475;531;;989:32847:25;531:2:30;989:32847:25;;;531:2:30;;;;8535:28:25;989:32847;-1:-1:-1;;;531:2:30;;8512:12:25;531:2:30;;;;;;;;989:32847:25;531:2:30;989:32847:25;;;531:2:30;;16602:974:25;;;;;16867:9;16920:14;;;16968:17;-1:-1:-1;;;;;16968:17:25;;;989:32847;;17025:14;17058:48;17025:14;;;989:32847;;;17058:48;;:::i;:::-;17057:49;17053:146;;-1:-1:-1;;;;;;16968:17:25;17930:91;17245:37;;;17930:91;17245:37;;;;989:32847;33060:67;17930:91;17025:14;33060:67;17986:17;;;;;;989:32847;;;17930:91;17986:17;17930:91;;;;;;;;;:::i;:::-;;989:32847;;17930:91;;;;;;:::i;:::-;18051:14;:24;989:32847;;18321:1229;;;;;;;;;;;-1:-1:-1;18321:1229:25;;;;;;17025:14;18321:1229;;;;;19588:8;;989:32847;;;19588:31;;16602:974;19588:72;;;;;16602:974;19584:205;;;989:32847;;;;;;4020:413:10;;;17025:14:25;4020:413:10;17296:101:25;17424:9;;1637:4;;17415:43;17411:149;;16602:974;;:::o;17411:149::-;17485:60;;;-1:-1:-1;;;17485:60:25;;;;;989:32847;17025:14;17930:91;989:32847;;;;;;;;;;;;;;;;;;17485:60;19584:205;1204:349:9;;1637:4:25;1204:349:9;;;;19584:205:25;17025:14;1204:349:9;;17986:17:25;1204:349:9;;;;17025:14:25;1204:349:9;;;;-1:-1:-1;17986:17:25;1204:349:9;;;989:32847:25;17025:14;989:32847;19687:87;;;-1:-1:-1;;;19687:87:25;;17930:91;19687:87;;989:32847;;17930:91;989:32847;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1637:4:25;;-1:-1:-1;1204:349:9;;19588:72:25;18321:1229;;19639:2;18321:1229;;;;1637:4;;19623:37;19588:72;;;:31;17025:14;19600:19;;;-1:-1:-1;19588:31:25;;;17053:146;17133:51;989:32847;17025:14;989:32847;17133:51;-1:-1:-1;;;17133:51:25;;;;;989:32847;17025:14;989:32847;;;;;;;;;;;;;;17133:51;896:503:27;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;989:32847:25;2688:113:27;;;989:32847:25;2688:113:27;989:32847:25;;;;;2939:36:27;2935:241;;-1:-1:-1;3222:2:27;989:32847:25;;1230:2:27;1211:21;;1230:2;;-1:-1:-1;;1042:15:27;989:32847:25;-1:-1:-1;;989:32847:25;;;1265:26:27;;;989:32847:25;;;1230:2:27;1265:26;;;;;989:32847:25;1265:26:27;:::i;1207:186::-;989:32847:25;1230:2:27;989:32847:25;;;1042:15:27;989:32847:25;-1:-1:-1;;989:32847:25;;;1340:41:27;;;;989:32847:25;;;1340:41:27;;989:32847:25;1340:41:27;;989:32847:25;;1340:41:27;-1:-1:-1;;989:32847:25;;;1230:2:27;989:32847:25;;;;;;;;;;;;1340:41:27;;989:32847:25;;1340:41:27;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;989:32847:25;-1:-1:-1;;;3131:34:27;;449:8;3131:34;;;449:8;;;;;989:32847:25;449:8:27;989:32847:25;;;449:8:27;3131:34;449:8;;1042:15;989:32847:25;-1:-1:-1;;;449:8:27;;;;;;;;;;;989:32847:25;449:8:27;989:32847:25;;;449:8:27;;1067:68;1116:8;;;989:32847:25;1116:8:27;:::o;12427:1091:25:-;;;;;;12754:14;;989:32847;-1:-1:-1;;;;;12912:17:25;989:32847;;;;12866:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12912:17;989:32847;;12943:31;-1:-1:-1;12992:23:25;;12988:182;;;;12427:1091;-1:-1:-1;15177:17:25;14976:14;;15132:85;14976:14;15132:85;-1:-1:-1;;;;;14976:14:25;;;989:32847;;15007:12;12866:11;33060:67;15177:17;;;;989:32847;15132:85;;;;;;;;;;;:::i;:::-;;989:32847;;15132:85;;;;;;:::i;:::-;15231:326;;;;;;;;-1:-1:-1;15231:326:25;;15177:17;15231:326;;;;12427:1091;33343:66;12866:11;33343:66;15622:8;15618:286;;13183:100;;;13297:205;;;12427:1091;;;:::o;13297:205::-;13349:45;;;:::i;:::-;13348:46;13344:144;;12427:1091;:::o;13344:144::-;13425:44;989:32847;12866:11;989:32847;13425:44;-1:-1:-1;;;13425:44:25;;;;;989:32847;12866:11;15132:85;989:32847;;;;;;;;;;;;;13425:44;15618:286;15650:18;;;;;;15700:46;989:32847;12866:11;989:32847;15700:46;-1:-1:-1;;;15700:46:25;;15132:85;15700:46;;989:32847;12866:11;15132:85;989:32847;;;;;;;;;;;;;15700:46;15646:248;1204:349:9;;1637:4:25;1204:349:9;;;;15646:248:25;-1:-1:-1;1204:349:9;15177:17:25;1204:349:9;;;;12866:11:25;1204:349:9;;;;;989:32847:25;12866:11;989:32847;15792:87;;;-1:-1:-1;;;15792:87:25;;15132:85;15792:87;;989:32847;;15132:85;989:32847;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1637:4:25;;-1:-1:-1;1204:349:9;;15231:326:25;;-1:-1:-1;15231:326:25;;12988:182;989:32847;;;15177:17;-1:-1:-1;989:32847:25;;;;;;;;12866:11;989:32847;;;13106:21;;;;;;;:49;15132:85;13106:49;;12988:182;;;;;;;;;;13106:49;15132:85;1637:4;;;13106:49;;1187:234:0;-1:-1:-1;;;;;989:32847:25;-1:-1:-1;989:32847:25;1373:19:0;989:32847:25;;1317:2:0;-1:-1:-1;989:32847:25;-1:-1:-1;;;;;989:32847:25;1317:2:0;989:32847:25;;-1:-1:-1;989:32847:25;;;;;-1:-1:-1;989:32847:25;;;;1373:34:0;;;;:::i;:::-;989:32847:25;;;1373:41:0;1187:234;:::o;33421:413:25:-;;1884:5;1637:4;;33556:43;;;33552:90;;33777:3;1637:4;1770:2;1637:4;;989:32847;;33421:413;:::o;33552:90::-;33619:8;;989:32847;33619:8;:::o;2250:397:29:-;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;2484:23:29;;;2480:74;;1637:4:25;989:32847;;2626:4:29;2250:397;:::o;989:32847:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:32847:25;;;;;18321:1229;989:32847;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:32847:25;;;;;18321:1229;989:32847;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:32847:25;;;;;18321:1229;989:32847;:::i;:::-;;;;;;;;:::o;1712:551:27:-;;1826:1;-1:-1:-1;1804:62:27;;2015:95;-1:-1:-1;;413:2:30;989:32847:25;2207:49:27;;1712:551::o;1804:62::-;1843:12;989:32847:25;1843:12:27;:::o;10269:1671:25:-;;;;;10438:1;10419:20;;10415:1519;;10269:1671;;;;;;:::o;10415:1519::-;-1:-1:-1;;;;;10472:14:25;;989:32847;;10511:43;;;;;:::i;:::-;10507:495;;11019:18;;11015:121;;11171:2;11153:20;;11149:110;;11290:15;989:32847;-1:-1:-1;;;;;11290:15:25;;:::i;:::-;989:32847;11324:35;:14;;:35;989:32847;11324:35;989:32847;11290:80;;;;-1:-1:-1;;;11290:80:25;;;;;;989:32847;;;;;;;;;;:::i;:::-;11290:80;;;;;;;;;;;;10415:1519;989:32847;-1:-1:-1;;;;;989:32847:25;;11388:21;;11384:115;;11516:17;;11512:116;;11645:19;:24;11641:123;;989:32847;11171:2;989:32847;;;11846:77;11803:23;11324:35;11803:23;413:2:30;;-1:-1:-1;;;;;989:32847:25;;11862:17;;989:32847;11898:14;;:24;989:32847;;-1:-1:-1;;;;;989:32847:25;;413:2:30;;;;989:32847:25;;;;;;11846:77;10415:1519;;;;;;;11641:123;11696:53;989:32847;11324:35;989:32847;11696:53;-1:-1:-1;;;11696:53:25;;11290:80;11696:53;;989:32847;11324:35;989:32847;;;;;;;;;;;;;;11696:53;11512:116;11560:53;989:32847;11324:35;989:32847;11560:53;-1:-1:-1;;;11560:53:25;;11290:80;11560:53;;989:32847;11324:35;989:32847;;;;;;;;;;;;;;11560:53;11384:115;11436:48;989:32847;11324:35;989:32847;11436:48;-1:-1:-1;;;11436:48:25;;11290:80;11436:48;;989:32847;11324:35;989:32847;;;;;;;;;;;;;;11436:48;11290:80;;;;989:32847;11290:80;989:32847;11290:80;;;;;;;:::i;:::-;;;;;11324:35;989:32847;;;;;;;;11149:110;11200:44;989:32847;;;11200:44;-1:-1:-1;;;11200:44:25;;;;;989:32847;;;;;;;;;;;;;;;;11200:44;11015:121;11069:52;989:32847;;;11069:52;-1:-1:-1;;;11069:52:25;;;;;989:32847;;;;;;;;;;;;;;;;11069:52;10507:495;10578:20;;;;10596:2;10578:20;;10574:390;;10507:495;10981:7;;;;:::o;10574:390::-;10886:35;-1:-1:-1;;;;;10847:15:25;;:::i;:::-;989:32847;10886:14;;:35;989:32847;;;10596:2;989:32847;;;10847:98;;;;;10438:1;989:32847;;;;10886:35;989:32847;10847:98;;;;;;;989:32847;10847:98;;;;;989:32847;10886:35;989:32847;;;;10596:2;989:32847;;;;;;;;;;:::i;:::-;10847:98;;;;;;;;;10574:390;;;;;;10847:98;10438:1;10847:98;;;:::i;:::-;10438:1;10847:98;;3358:267:15;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;989:32847:25;;;;;;;:::i;:::-;2311:2:15;989:32847:25;;;;;;;;;;;2324:106:15;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:15;;-1:-1:-1;2713:20:15;3477:142;989:32847:25;;;-1:-1:-1;6126:13:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;989:32847:25;;;;;;1390:66:15;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;989:32847:25;;1390:66:15;989:32847:25;;;;;1390:66:15;989:32847:25;;;1390:66:15;;;;;;;;;;;-1:-1:-1;;;;1390:66:15;;;;;-1:-1:-1;1390:66:15;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;989:32847:25;;;;;;;:::i;3477:142:15:-;989:32847:25;;;-1:-1:-1;6584:16:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;989:32847:25;;;;;;1390:66:15;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1846":[{"start":7640,"length":32}],"1848":[{"start":7829,"length":32}],"1850":[{"start":7593,"length":32}],"1852":[{"start":7719,"length":32}],"1854":[{"start":7757,"length":32}],"1857":[{"start":2450,"length":32}],"1860":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","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,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"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\":[],\"name\":\"InvalidShortString\",\"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\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"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\":[],\"name\":\"EIP712DomainChanged\",\"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\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\"},{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_accountValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\"},{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\"},{\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"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\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"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\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"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\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"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\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"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:notice\":\"This EntryPoint closely resembles the actual EntryPoint with some diffs seen at https://www.diffchecker.com/a5ngpwSm/\",\"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.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"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\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"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.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"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\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"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\"}},\"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\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"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.\"},\"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.\"},\"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,uint256)\":{\"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/v08/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"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.1.0/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/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"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/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v08/EntryPoint.sol\":{\"keccak256\":\"0xed8a0f5031fc0776476e21da3218985e171343530d32802ae4442088ea2d7f59\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e79e08d2914814dfda012586fd1c367884e585c4ceb5540086b1afd9979bdc65\",\"dweb:/ipfs/Qmd6JezvCd9LaGNzUxCN4gjP9rL1XgEXK6VSXpN3FCEKS8\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"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":[],"type":"error","name":"InvalidShortString"},{"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":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"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":[],"type":"event","name":"EIP712DomainChanged","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":"uint256","name":"opIndex","type":"uint256"},{"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"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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"}]}],"stateMutability":"nonpayable","type":"function","name":"_accountValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"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"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"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"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"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":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"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":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":"","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":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","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":"","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 EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.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"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","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":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"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":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"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."}},"eip712Domain()":{"details":"See {IERC-5267}."},"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"}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"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"}},"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":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"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."},"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."},"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,uint256)":{"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.1.0/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":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"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/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/account-abstraction-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/v08/EntryPoint.sol":{"keccak256":"0xed8a0f5031fc0776476e21da3218985e171343530d32802ae4442088ea2d7f59","urls":["bzz-raw://e79e08d2914814dfda012586fd1c367884e585c4ceb5540086b1afd9979bdc65","dweb:/ipfs/Qmd6JezvCd9LaGNzUxCN4gjP9rL1XgEXK6VSXpN3FCEKS8"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":25}